コード例 #1
0
        public async Task <IActionResult> CreateCategory()
        {
            var categories = await this.productsServices.GetAllCategoryNamesAsync();

            var model = new InsertCharacteristicsCategoryViewModel {
                Categories = categories.ToList()
            };

            return(View(model));
        }
コード例 #2
0
        public async Task CreateCharacteristicsCategoryAsync(InsertCharacteristicsCategoryViewModel form)
        {
            await this.context.AdminCharacteristicsCategories.AddAsync(new AdminCharacteristicsCategory
            {
                CategoryName         = form.CategoryName,
                BasicCharacteristics = new List <AdminCharacteristic>(),
                FullCharacteristics  = new List <AdminCharacteristic>(),
            });

            await context.SaveChangesAsync();
        }
コード例 #3
0
        public async Task TestIfCategoryExistsReturnsTrue(string categoryName)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = categoryName;

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            Assert.True(await characteristicsService.CategoryExistsAsync(categoryName));
        }
コード例 #4
0
        public async Task TestIfGetAvailableCharacteristicsReturnsCorrectResult()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);


            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = "Laptops";

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            Assert.NotEmpty(await characteristicsService.GetAvailableCharacteristicsAsync());
        }
コード例 #5
0
        public async Task TestIfCreateCharacteristicsCategoryWorksAccordingly(string categoryName)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();
            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            var form = new InsertCharacteristicsCategoryViewModel();

            form.CategoryName = categoryName;

            await characteristicsService.CreateCharacteristicsCategoryAsync(form);

            var result =
                await context.AdminCharacteristicsCategories.FirstOrDefaultAsync(x => x.CategoryName == categoryName);


            Assert.NotNull(result);
        }
コード例 #6
0
        public async Task TestIfCreateCharacteristicsWorksAccordingly()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);



            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = "Laptops";

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            var form = new InsertCharacteristicsViewModel();

            form.BasicCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            form.Category = "Laptops";

            form.FullCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            await characteristicsService.CreateCharacteristicsAsync(form);


            var result = await context.AdminCharacteristicsCategories.FirstOrDefaultAsync(x => x.CategoryName == form.Category);

            Assert.NotEmpty(result.FullCharacteristics);
            Assert.NotEmpty(result.BasicCharacteristics);
        }
コード例 #7
0
        public async Task TestIfCharacteristicsExistsWorksAccordingly()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);



            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = "Laptops";

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            var form = new InsertCharacteristicsViewModel();

            form.BasicCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            form.Category = "Laptops";

            form.FullCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            await characteristicsService.CreateCharacteristicsAsync(form);


            Assert.True(await characteristicsService.CharacteristicsExistsAsync("Laptops"));
        }
コード例 #8
0
        public async Task <IActionResult> CreateCategory(InsertCharacteristicsCategoryViewModel category)
        {
            var categories = await this.productsServices.GetAllCategoryNamesAsync();

            if (await this.characteristicsServices.CategoryExistsAsync(category.CategoryName))
            {
                this.ModelState.AddModelError("Category", "Category Already Exists");
            }
            if (!categories.Contains(category.CategoryName))
            {
                this.ModelState.AddModelError("Category", "Category Doesnt Exist");
            }

            if (!this.ModelState.IsValid)
            {
                category.Categories = categories.ToList();
                return(this.View(category));
            }

            await this.characteristicsServices.CreateCharacteristicsCategoryAsync(category);

            return(this.RedirectToAction("Success", "Blacksmith", new { message = $"Successfully Created Category with name {category.CategoryName}" }));
        }