Ejemplo n.º 1
0
        private static IServiceCollection AddMongoCardToInfrastructure <TCard, TMongoCard>(
            this IServiceCollection services,
            MongoStoreOptions mongoStoreOptions)
            where TCard : TaskCard
            where TMongoCard : MongoTaskCard
        {
            var taskCardsCollection = MongoStoreUtil.FromConnectionString <TMongoCard>(mongoStoreOptions.ConnectionString, mongoStoreOptions.TaskCardsCollection);

            services.AddSingleton(x => taskCardsCollection);

            services.AddTransient(typeof(ICreateTaskCardEntity <TCard>), typeof(TaskCardStore <TCard, TMongoCard>));
            services.AddTransient(typeof(IUpdateTaskCardEntity <TCard>), typeof(TaskCardStore <TCard, TMongoCard>));
            services.AddTransient(typeof(IDeleteTaskCardEntity <TCard>), typeof(TaskCardStore <TCard, TMongoCard>));
            services.AddTransient(typeof(IGetTaskCardEntity <TCard>), typeof(TaskCardStore <TCard, TMongoCard>));

            return(services);
        }
Ejemplo n.º 2
0
        private static IServiceCollection AddMongoListToInfrastructure <TList, TMongoList>(
            this IServiceCollection services,
            MongoStoreOptions mongoStoreOptions)
            where TList : TaskList
            where TMongoList : MongoTaskList
        {
            var taskListsCollection = MongoStoreUtil.FromConnectionString <TMongoList>(mongoStoreOptions.ConnectionString, mongoStoreOptions.TaskListsCollection);

            services.AddSingleton(x => taskListsCollection);

            services.AddTransient(typeof(ICreateTaskListEntity <TList>), typeof(TaskListStore <TList, TMongoList>));
            services.AddTransient(typeof(IUpdateTaskListEntity <TList>), typeof(TaskListStore <TList, TMongoList>));
            services.AddTransient(typeof(IDeleteTaskListEntity <TList>), typeof(TaskListStore <TList, TMongoList>));
            services.AddTransient(typeof(IGetTaskListEntity <TList>), typeof(TaskListStore <TList, TMongoList>));

            return(services);
        }