/// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
 }