private static void ConfigureSettings(IServiceCollection serviceCollection, MongoDbSettings mongoDbSettings,
                                       CategoryNameServiceSettings categoryNameServiceSettings, ImageDbSettings imageDbSettings,
                                       RabbitMqSettings rabbitMqSettings)
 {
     serviceCollection.AddSingleton(rabbitMqSettings);
     serviceCollection.AddSingleton(mongoDbSettings);
     serviceCollection.AddSingleton(categoryNameServiceSettings);
     serviceCollection.AddSingleton(imageDbSettings);
 }
 private static void ConfigureServiceSettings(
     IServiceCollection serviceCollection, MsSqlConnectionSettings sqlServerConnectionSettings,
     RabbitMqSettings rabbitMqSettings, TimeTaskServiceSettings timeTaskServiceSettings,
     ImageDbSettings imageDbSettings,
     UserAuthDbContextOptions userAuthDbContextOptions,
     CategoryNameServiceSettings categoryNameServiceSettings)
 {
     serviceCollection.AddSingleton(sqlServerConnectionSettings);
     serviceCollection.AddSingleton(rabbitMqSettings);
     serviceCollection.AddSingleton(categoryNameServiceSettings);
     serviceCollection.AddSingleton(timeTaskServiceSettings);
     serviceCollection.AddSingleton(imageDbSettings);
     serviceCollection.AddSingleton(userAuthDbContextOptions);
 }
            public static void Configure <RequestStatusServiceImpl>(IServiceCollection serviceCollection,
                                                                    MongoDbSettings mongoDbSettings,
                                                                    CategoryNameServiceSettings categoryNameServiceSettings,
                                                                    ImageDbSettings imageDbSettings,
                                                                    RabbitMqSettings rabbitMqSettings) where RequestStatusServiceImpl : class, IRequestStatusService
            {
                serviceCollection.AddSingleton <ReadModelDbContext>();
                serviceCollection.AddScoped <RequestStatusServiceImpl>();
                serviceCollection.AddScoped <IRequestStatusService, RequestStatusServiceProxy>(provider =>
                                                                                               new RequestStatusServiceProxy(provider.GetRequiredService <RequestStatusServiceImpl>(),
                                                                                                                             provider.GetRequiredService <IHTTPQueuedCommandStatusStorage>()));

                ConfigureSettings(serviceCollection, mongoDbSettings, categoryNameServiceSettings, imageDbSettings,
                                  rabbitMqSettings);
                ConfigureEventHandlers(serviceCollection);
            }
Beispiel #4
0
        public void GetCategoryTree_when_called_returns_valid_category_tree()
        {
            var serviceSettings = new CategoryNameServiceSettings()
            {
                CategoriesFilePath = "./test_categories.xml",
                SchemaFilePath     = "_Categories-xml-data/categories.xsd"
            };
            var testService = new CategoryTreeService(serviceSettings);

            testService.Init();

            var categories         = new[] { "Fashion", "Electronics", "Sports, Hobbies & Leisure" };
            var subCategoriesCount = new[] { 11, 8, 8 };
            var categoryIds        = new[] { 0, 1, 2 };
            var root = testService.GetCategoriesTree();

            for (int i = 0; i < root.SubCategories.Count; i++)
            {
                var category = root.SubCategories[i];

                category.CategoryId.Should().Be(categoryIds[i]);
                category.CategoryName.Should().Be(categories[i]);
                category.SubCategories.Count.Should().Be(subCategoriesCount[i]);
                for (int j = 0; j < category.SubCategories.Count; j++)
                {
                    var subCategory = category.SubCategories[j];
                    subCategory.CategoryName.Should().NotBeNullOrEmpty();
                    subCategory.SubCategories.Count.Should().Be(2);
                    for (int k = 0; k < subCategory.SubCategories.Count; k++)
                    {
                        var subSubCat = subCategory.SubCategories[k];
                        subSubCat.CategoryName.Should().NotBeNullOrEmpty();
                    }
                }
            }

            root.SubCategories.Count.Should().Be(3);
            root.CategoryName.Should().BeNull();
        }
            public static void Configure <UserIdentityServiceImplT, AuctionCreateSessionServiceImplT, ResetLinkSenderServiceImplT>(
                IServiceCollection serviceCollection,
                MsSqlConnectionSettings eventStoreConnectionSettings,
                RabbitMqSettings rabbitMqSettings,
                TimeTaskServiceSettings timeTaskServiceSettings,
                ImageDbSettings imageDbSettings,
                UserAuthDbContextOptions userAuthDbContextOptions,
                CategoryNameServiceSettings categoryNameServiceSettings
                )
                where UserIdentityServiceImplT : class, IUserIdentityService
                where AuctionCreateSessionServiceImplT : class, IAuctionCreateSessionService
                where ResetLinkSenderServiceImplT : class, IResetLinkSenderService
            {
                ConfigureServiceSettings(serviceCollection, eventStoreConnectionSettings, rabbitMqSettings,
                                         timeTaskServiceSettings, imageDbSettings, userAuthDbContextOptions, categoryNameServiceSettings);
                ConfigureAuthDbServices(serviceCollection);
                ConfigureUserIdentitySessionService <UserIdentityServiceImplT>(serviceCollection);
                ConfigureAuctionCreateSessionService <AuctionCreateSessionServiceImplT>(serviceCollection);
                ConfigureImageServices(serviceCollection);
                ConfigureDomainRepositories(serviceCollection);
                ConfigureAuctionShedulerService(serviceCollection, timeTaskServiceSettings);
                ConfigureDecoratedCommandHandlers(serviceCollection);
                ConfigureResetLinkSenderService <ResetLinkSenderServiceImplT>(serviceCollection);
                serviceCollection.AddScoped <CreateAuctionCommandHandlerDepedencies>();


                serviceCollection.AddSingleton <IHTTPQueuedCommandStatusStorage, HTTPMemQueuedCommandStatusStorage>();
                serviceCollection.AddScoped <WSQueuedCommandHandler>();
                serviceCollection.AddScoped <HTTPQueuedCommandHandler>();
                serviceCollection.AddScoped <MediatRCommandHandlerMediator>();
                serviceCollection.AddScoped <EventBusCommandHandlerMediator>();
                serviceCollection.AddScoped <HTTPQueuedCommandHandlerMediator>();
                serviceCollection.AddScoped <ImmediateCommandMediator>();
                serviceCollection.AddScoped <WSQueuedCommandMediator>();
                serviceCollection.AddScoped <HTTPQueuedCommandMediator>();

                serviceCollection.AddScoped <HTTPQueuedCommandStatusService>();
            }