public async Task DeleteFinishedModel_WithCorrectData_ShouldSuccessfullyDelete()
        {
            // Arrange
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            var groupRepository          = new EfDeletableEntityRepository <Product_Group>(context);
            var productRepository        = new EfDeletableEntityRepository <Product>(context);
            var finishedModelsRepository = new EfDeletableEntityRepository <Finished_Model>(context);

            var groupService          = new GroupService(groupRepository);
            var prodcutService        = new ProductService(productRepository, groupService);
            var cloudinaryService     = new FakeCloudinary();
            var finishedModelsService = new FinishedModelService(finishedModelsRepository, prodcutService, groupService, cloudinaryService);

            var user = new ApplicationUser
            {
                Id             = "abc",
                FirstName      = "Nikolay",
                LastName       = "Doychev",
                Email          = "*****@*****.**",
                EmailConfirmed = true,
            };

            var       fileName = "Img";
            IFormFile file     = new FormFile(
                new MemoryStream(Encoding.UTF8.GetBytes("This is a dummy file")),
                0,
                0,
                fileName,
                "dummy.png");

            var finishedModel = new DeleteFinishedViewModel
            {
                Id          = "abc1",
                Description = "Some description test 1",
                TypeProject = TypeProject.Classic.ToString(),
                Name        = "Model 1",
            };

            var seeder = new DbContextTestsSeeder();
            await seeder.SeedUsersAsync(context);

            await seeder.SeedGroupAsync(context);

            await seeder.SeedFinishedModelssAsync(context);

            // Act
            AutoMapperConfig.RegisterMappings(typeof(DeleteFinishedViewModel).Assembly);
            await finishedModelsService.DeleteAsync <DeleteFinishedViewModel>(finishedModel);

            int actual = context.Finished_Models.Count();

            // Assert
            Assert.True(actual == 1, string.Format(ErrorMessage, "DeleteFinishedModel method"));
        }
        public async Task DeleteFinishedModel_WithNonExistingFireplace_ShouldThrowException()
        {
            // Arrange
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            var groupRepository          = new EfDeletableEntityRepository <Product_Group>(context);
            var productRepository        = new EfDeletableEntityRepository <Product>(context);
            var finishedModelsRepository = new EfDeletableEntityRepository <Finished_Model>(context);

            var groupService          = new GroupService(groupRepository);
            var prodcutService        = new ProductService(productRepository, groupService);
            var cloudinaryService     = new FakeCloudinary();
            var finishedModelsService = new FinishedModelService(finishedModelsRepository, prodcutService, groupService, cloudinaryService);

            var user = new ApplicationUser
            {
                Id             = "abc",
                FirstName      = "Nikolay",
                LastName       = "Doychev",
                Email          = "*****@*****.**",
                EmailConfirmed = true,
            };

            var       fileName = "Img";
            IFormFile file     = new FormFile(
                new MemoryStream(Encoding.UTF8.GetBytes("This is a dummy file")),
                0,
                0,
                fileName,
                "dummy.png");

            var finishedModel = new DeleteFinishedViewModel
            {
                Id          = "Test Id",
                Description = "Some description test 1",
                ImagePath   = "Some dummy data",
                TypeProject = TypeProject.Classic.ToString(),
                Name        = "Модел 1",
            };

            var seeder = new DbContextTestsSeeder();
            await seeder.SeedUsersAsync(context);

            await seeder.SeedGroupAsync(context);

            await seeder.SeedFinishedModelssAsync(context);

            // Act
            AutoMapperConfig.RegisterMappings(typeof(DeleteFinishedViewModel).Assembly);
            await Assert.ThrowsAsync <NullReferenceException>(() => finishedModelsService.DeleteAsync <DeleteFinishedViewModel>(finishedModel));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Delete(DeleteFinishedViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            var typeOfProject = this.finishedModelService.GetById <DeleteFinishedViewModel>(model.Id).TypeProject;

            await this.finishedModelService.DeleteAsync <DeleteFinishedViewModel>(model);

            var type = Enum.Parse <TypeProject>(typeOfProject);

            return(this.RedirectToAction("All", "FinishedModels", new { type = typeOfProject, area = string.Empty }));
        }
Ejemplo n.º 4
0
        public async Task DeleteAsync <T>(DeleteFinishedViewModel deleteModel)
        {
            var finishedModel = this.finishedModelRepository.All().Where(f => f.Id == deleteModel.Id).FirstOrDefault();

            if (finishedModel == null)
            {
                throw new NullReferenceException(string.Format(ExceptionsServices.Null_Fireplace_Id_ErrorMessage, deleteModel.Id));
            }

            finishedModel.IsDeleted = true;
            finishedModel.DeletedOn = DateTime.UtcNow;

            await this.productService.DeleteAsync(finishedModel.ProductId);

            this.finishedModelRepository.Update(finishedModel);

            await this.finishedModelRepository.SaveChangesAsync();
        }