using DevExpress.DataAccess.Json; using DevExpress.DataAccess.Web; namespace EnvelopeGenerator.ReceiverUI.Services { public class CustomJsonDataConnectionProviderFactory : IJsonDataConnectionProviderFactory { public IJsonDataConnectionProviderService Create() { return new WebDocumentViewerJsonDataConnectionProvider(CustomDataSourceWizardJsonDataConnectionStorage.GetConnections()); } } public class WebDocumentViewerJsonDataConnectionProvider : IJsonDataConnectionProviderService { readonly List jsonDataConnections; public WebDocumentViewerJsonDataConnectionProvider(List jsonDataConnections) { this.jsonDataConnections = jsonDataConnections; } public JsonDataConnection GetJsonDataConnection(string name) { var connection = jsonDataConnections.FirstOrDefault(x => x.Name == name); if(connection == null) throw new InvalidOperationException(); return connection; } } }