Esempio n. 1
0
        /// <summary>
        /// Register all repository layer entities within the unity container
        /// </summary>
        /// <param name="container">The unity container in which to register</param>
        private static void RegisterRepositoryLayers(UnityContainer container)
        {
            //Ensure we have repositories to hand
            ITypedDataAccess  dataAccess       = container.Resolve <ITypedDataAccess>();
            ISqlStringService sqlStringService = container.Resolve <ISqlStringService>();

            container.RegisterType <IGoalRepository, GoalRepository>(new InjectionConstructor(dataAccess, sqlStringService));
            container.RegisterType <IMilestoneRepository, MilestoneRepository>(new InjectionConstructor(dataAccess, sqlStringService));
            container.RegisterType <ITransactionRepository, TransactionRepository>(new InjectionConstructor(dataAccess, sqlStringService));
        }
Esempio n. 2
0
        /// <summary>
        /// Registers all the required unity components
        /// </summary>
        public static void RegisterComponents()
        {
            var container = new UnityContainer();

            // register all components with the container here
            container.RegisterType <IConnectionStringProvider, SaverDatabaseConnectionStringProvider>();
            container.RegisterType <ISqlStringService, EmbeddedResourceSqlStringService>(new InjectionConstructor(@"Resources\Sql", Assembly.GetAssembly(typeof(EmbeddedResourceSqlStringService))));
            container.RegisterType <ITypedDataAccessFactory, TypedMySQLDataAccessFactory>(new InjectionConstructor(container.Resolve <IConnectionStringProvider>()));

            //Ensure we have a data access type handy
            ITypedDataAccess typedAccess = container.Resolve <ITypedDataAccessFactory>().GetTypedDataAccess("Live");

            container.RegisterInstance(typedAccess);

            //Register repositories and services
            RegisterRepositoryLayers(container);
            RegisterServiceLayers(container);

            GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
        }
Esempio n. 3
0
 /// <summary>
 /// Creates a new Goal Repository which will access
 /// the data store using the data access provided
 /// </summary>
 /// <param name="dataAccess">The data access for the repository</param>
 /// <param name="sqlStringService">The SQL string service that provides the Sql statements to be used</param>
 public GoalRepository(ITypedDataAccess dataAccess, ISqlStringService sqlStringService)
     : base(dataAccess, sqlStringService)
 {
     typedDataAccess = dataAccess;
 }
Esempio n. 4
0
 /// <summary>
 /// Creates a new Transaction Repository
 /// </summary>
 /// <param name="dataAccess">The data access for the tranaction repository</param>
 /// <param name="sqlStringService">The service providing SQL strings when required</param>
 public TransactionRepository(ITypedDataAccess dataAccess, ISqlStringService sqlStringService)
     : base(dataAccess, sqlStringService)
 {
     typedDataAccess = dataAccess;
 }