/// <summary> /// Gets the entity framework context. /// </summary> /// <param name="provider">The provider.</param> /// <returns></returns> private UserDashboardsEFDbContext GetContext(IUserDashboardsEFDataProvider provider) { if (provider.ProviderContext == null) { throw new Exception(String.Format("Provider {0} is not initialized.", provider.Name)); } return(UserDashboardsEFDataConnection.GetContext(this.connectionName, provider)); }
/// <summary> /// Gets the entity framework context. /// </summary> /// <param name="connectionName">Name of the connection.</param> /// <param name="provider">The provider.</param> /// <returns></returns> public static UserDashboardsEFDbContext GetContext(string connectionName, IUserDashboardsEFDataProvider provider) { UserDashboardsEFDataConnection connection; if (!connections.TryGetValue(connectionName, out connection)) { connection = InitializeConnection(connectionName, provider); } return(new UserDashboardsEFDbContext(connection.connectionString)); }
/// <summary> /// Gets the scope id. /// </summary> /// <param name="provider">The data provider.</param> /// <returns></returns> private string GetScopeId(IUserDashboardsEFDataProvider provider) { return(provider.ProviderContext.ProviderKey); }
/// <summary> /// Initializes the connection. /// </summary> /// <param name="connectionName">Name of the connection.</param> /// <param name="dataProvider">The data provider.</param> /// <returns></returns> public static UserDashboardsEFDataConnection InitializeConnection(string connectionName, IUserDashboardsEFDataProvider dataProvider) { IConnectionStringSettings connectionSettings = UserDashboardsEFDataConnection.GetConnectionStringSettings(connectionName); UserDashboardsEFDataConnection connection; if (!UserDashboardsEFDataConnection.connections.TryGetValue(connectionSettings.Name, out connection)) { lock (UserDashboardsEFDataConnection.connectionsLock) { if (!UserDashboardsEFDataConnection.connections.TryGetValue(connectionSettings.Name, out connection)) { connection = new UserDashboardsEFDataConnection(connectionSettings.Name, connectionSettings.ConnectionString, dataProvider); UserDashboardsEFDataConnection.connections.Add(connectionSettings.Name, connection); } } } return(connection); }
/// <summary> /// Initializes a new instance of the <see cref="UserDashboardsEFDataConnection" /> class. /// </summary> /// <param name="connectionName">Name of the connection.</param> /// <param name="connectionString">The connection string.</param> /// <param name="dataProvider">The data provider.</param> private UserDashboardsEFDataConnection(string connectionName, string connectionString, IUserDashboardsEFDataProvider dataProvider) { this.connectionName = connectionName; this.connectionString = connectionString; this.dataProvider = dataProvider; }