Пример #1
0
        public async Task Cannot_Edit_Invalid_Product()
        {
            var           target  = new ProductController(_productServiceMock.Object);
            ProductToEdit pToEdit = new ProductToEdit();
            Product       product = new Product();

            target.ModelState.AddModelError("error", "error");
            var result = await target.Edit(pToEdit);

            Assert.IsNotInstanceOfType(result, typeof(RedirectToRouteResult));
        }
Пример #2
0
        public async Task Can_Edit_Valid_Product()
        {
            ProductToEdit productToEdit = new ProductToEdit()
            {
                Product = new Product()
                {
                    CategoryID = 1, ProductID = 1
                }
            };
            var target = new ProductController(_productServiceMock.Object);

            var result = await target.Edit(productToEdit);

            _productServiceMock.Verify(m => m.UpdateAsync(productToEdit.Product));
            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
        }
Пример #3
0
 public async Task <ActionResult> Edit(ProductToEdit ptEdit)
 {
     if (ModelState.IsValid)
     {
         try
         {
             await _productService.UpdateAsync(ptEdit.Product);
         }
         catch (ServiceException e)
         {
             throw new WebUiException($"Ошибка в контроллере {nameof(ProductController)} в методе {nameof(Edit)}",
                                      e);
         }
         return(RedirectToAction("EditableList", new { categoryId = ptEdit.Product.CategoryID }));
     }
     return(PartialView(ptEdit));
 }
Пример #4
0
        public async Task <IActionResult> EditProduct(ProductToEdit productToEdit)
        {
            if (await _repo.ProductExist(productToEdit.ProductName, productToEdit.Id, productToEdit.CompanyId))
            {
                return(BadRequest("Name Already Exist"));
            }
            var productFromRepo = await _repo.GetProduct(productToEdit.Id);

            _mapper.Map(productToEdit, productFromRepo);
            if (await _repo.SaveAll())
            {
                var productToReturnFromRepo = await _repo.GetProduct(productToEdit.Id);

                var prodToReturn = _mapper.Map <ProductToReturnDto>(productToReturnFromRepo);
                return(Ok(prodToReturn));
            }
            throw new Exception($"Updating product {productToEdit.Id} failed to save");
        }
Пример #5
0
        public async Task <ActionResult> Edit(WebUser user, int id)
        {
            try
            {
                var product = await _productService.GetItemAsync(id);

                ProductToEdit ptEdit = new ProductToEdit()
                {
                    Product = product
                };
                return(PartialView(ptEdit));
            }
            catch (ServiceException e)
            {
                throw new WebUiException($"Ошибка в контроллере {nameof(ProductController)} в методе {nameof(Edit)}",
                                         e);
            }
        }