/// <summary> /// Configure the repository with the connection and dbhelper. /// </summary> /// <param name="connectionId">Connection key.</param> /// <param name="repository">Repository to configure.</param> public void Configure(string connectionId, IRepositoryConfigurable repository) { ConnectionInfo con = null; // No connection Id? Use default. if (string.IsNullOrEmpty(connectionId)) { con = DefaultConnection; } else if (_hasConnectionFetcher) { var constr = _connectionFetcher(connectionId); con = new ConnectionInfo(constr); } else if (!_connections.ContainsKey(connectionId)) { throw new ArgumentException("Connection Id : " + connectionId + " does not exist."); } else { con = _connections[connectionId]; } repository.Connection = con; repository.Database = new Database(con); }
/// <summary> /// Get instance of entity repository. /// </summary> /// <param name="ctx"></param> /// <returns></returns> public static object GetRepository(EntityRegistrationContext ctx) { IRepositoryConfigurable repo = null; // If factory method was supplied. if (ctx.FactoryMethodForRepository != null) { repo = ctx.FactoryMethodForRepository() as IRepositoryConfigurable; if (repo != null && ctx.IsRepositoryConfigurationRequired) { RepositoryFactory.Configure(ctx.ConnectionId, repo); } return(repo); } return(ctx.Repository); }
/// <summary> /// Get instance of entity repository. /// </summary> /// <param name="typeFullName">typeof(T).FullName</param> /// <returns></returns> public static object GetRepository(string typeFullName) { if (!_managableEntities.ContainsKey(typeFullName)) { throw new ArgumentException("The type : " + typeFullName + " has not been registered in EntityRegistration"); } EntityRegistrationContext ctx = _managableEntities[typeFullName]; IRepositoryConfigurable repo = null; // If factory method was supplied. if (ctx.FactoryMethodForRepository != null) { repo = ctx.FactoryMethodForRepository() as IRepositoryConfigurable; if (repo != null && ctx.IsRepositoryConfigurationRequired) { RepositoryFactory.Configure(ctx.ConnectionId, repo); } return(repo); } return(ctx.Repository); }
/// <summary> /// Initialize the repository. /// </summary> /// <param name="connectionId">Connection id.</param> /// <param name="repository">Repository to initialize.</param> public static void Configure(string connectionId, IRepositoryConfigurable repository) { // Configure the repository but initialize it here. _configurator(connectionId, repository); }
/// <summary> /// Configure the repository with the connection and dbhelper. /// </summary> /// <param name="repository"></param> public void Configure(IRepositoryConfigurable repository) { repository.Connection = Connection; repository.DbHelper = new DBHelper(Connection); }
/// <summary> /// Initialize the repository. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="repository"></param> /// <returns></returns> public static void Configure(IRepositoryConfigurable repository) { // Configure the repository but initialize it here. _configurator(repository); }