public async Task <IActionResult> NewProduct(SaveProductDto saveProductResource)
        {
            var product = _mapper.Map <SaveProductDto, Product>(saveProductResource);
            await _productService.AddProduct(product);

            return(RedirectToAction("ProductList"));
        }
        public void CreateProduct(SaveProductDto saveProductDto)
        {
            var product = _mapper.Map <SaveProductDto, Product>(saveProductDto);

            _unitOfWork.Products.Add(product);
            _unitOfWork.Complete();
        }
        public async Task <ActionResult <ProductDto> > UpdateProduct(int id, [FromBody] SaveProductDto updateProduct)
        {
            if (!ModelState.IsValid)
            {
                // ValidationProblem();
                using (var reader = new StreamReader(Request.Body))
                {
                    var body = reader.ReadToEnd();
                    ModelState.AddModelError("Invalid Object", body);
                    // Do something
                }
                return(BadRequest(ModelState));
            }

            var productForUpdate = await _context.Products.FindAsync(id);

            if (productForUpdate == null)
            {
                return(NotFound());
            }

            _mapper.Map <SaveProductDto, Product>(updateProduct, productForUpdate);

            var updateResult = _context.Products.Update(productForUpdate);

            if (updateResult.State != EntityState.Modified)
            {
                return(new StatusCodeResult(500));
            }

            await _context.SaveChangesAsync();

            return(Ok(_mapper.Map <ProductDto>(productForUpdate)));
        }
        public async Task <Product> AddProduct(SaveProductDto saveProductResource)
        {
            var newProduct = _mapper.Map <SaveProductDto, Product>(saveProductResource);
            await _unitOfWork.Products.AddAsync(newProduct);

            await _unitOfWork.CommitAsync();

            return(newProduct);
        }
        public void UpdateProduct(SaveProductDto saveProductDto)
        {
            var product = _unitOfWork.Products.GetBy(saveProductDto.id);

            if (product == null)
            {
                return;
            }
            _mapper.Map <SaveProductDto, Product>(saveProductDto, product);
            _unitOfWork.Complete();
        }
        public async Task <IActionResult> SaveProduct([FromBody] SaveProductDto saveProduct)
        {
            var productDtoResult = await QueryProcessor.GetQueryHandler <SaveProductCommand, ProductDto>(new SaveProductCommand(saveProduct, 1));

            if (productDtoResult.Failure)
            {
                return(BadRequest(productDtoResult.ErrorMessages));
            }

            return(Ok(productDtoResult.Object));
        }
Beispiel #7
0
        public void UpdateProduct(SaveProductDto saveProductDto)
        {
            var Product = _unitOfWork.Product.GetPro(saveProductDto.Id);

            if (Product == null)
            {
                return;
            }
            _mapper.Map <SaveProductDto, Product>(saveProductDto, Product);
            _unitOfWork.Complete();
        }
Beispiel #8
0
        public void Update(SaveProductDto saveProductDto)
        {
            var cate = _unitOfWork.Products.GetBy(saveProductDto.ID);

            if (cate == null)
            {
                return;
            }

            _mapper.Map <SaveProductDto, Product>(saveProductDto, cate);

            _unitOfWork.Complete();
        }
Beispiel #9
0
        public IActionResult Create(ProductCreateVm model)
        {
            if (HttpContext.Session.GetInt32("LoginLevel") != 2)
            {
                ViewBag.checkLogin = 0;
                return(View("../Home/AddCart"));
            }
            if (!ModelState.IsValid)
            {
                var x = _productService.GetList();
                ViewBag.BrandList    = x.BrandList;
                ViewBag.CategoryList = x.CategoryList;
                ViewBag.StatusList   = x.StatusList;
                return(View());
            }

            var products = _service.GetAll();

            foreach (ProductDto item in products)
            {
                if (item.Name.ToLower() == model.Name.ToLower())
                {
                    var x = _productService.GetList();
                    ViewBag.BrandList    = x.BrandList;
                    ViewBag.CategoryList = x.CategoryList;
                    ViewBag.StatusList   = x.StatusList;
                    ViewBag.ProductDuplicateErrorMessage = "Error";
                    return(View());
                }
            }

            string uniqueFileName = ProcessUploadedFile(model);

            SaveProductDto saveProductDto = new SaveProductDto()
            {
                Name       = model.Name,
                Price      = model.Price,
                Sale       = model.Sale,
                Amount     = model.Amount,
                BrandID    = model.BrandID,
                CategoryID = model.CategoryID,
                Hot        = model.Hot,
                Status     = model.Status,
                Content    = model.Content,
                ImagePath  = uniqueFileName
            };

            _service.Add(saveProductDto);
            return(RedirectToAction("Index"));
        }
Beispiel #10
0
        public IActionResult Edit(ProductEditVm model)
        {
            if (HttpContext.Session.GetInt32("LoginLevel") != 2)
            {
                ViewBag.checkLogin = 0;
                return(View("../Home/AddCart"));
            }
            if (ModelState.IsValid)
            {
                var products = _service.GetAll();
                foreach (ProductDto item in products)
                {
                    if (model.Name.ToLower().Equals(item.Name.ToLower()) && model.ID != item.ID)
                    {
                        var x = _productService.GetList();
                        ViewBag.BrandList    = x.BrandList;
                        ViewBag.CategoryList = x.CategoryList;
                        ViewBag.StatusList   = x.StatusList;
                        ViewBag.ProductEditUnchangedErrorMessage = "Error";
                        return(View(model));
                    }
                }

                ProductDto     productDto     = _service.GetProduct(model.ID);
                SaveProductDto saveProductDto = _mapper.Map <ProductDto, SaveProductDto>(productDto);
                saveProductDto.Name       = model.Name;
                saveProductDto.Price      = model.Price;
                saveProductDto.Sale       = model.Sale;
                saveProductDto.Amount     = model.Amount;
                saveProductDto.Hot        = model.Hot;
                saveProductDto.BrandID    = model.BrandID;
                saveProductDto.CategoryID = model.CategoryID;
                saveProductDto.Content    = model.Content;
                saveProductDto.Status     = model.Status;

                if (model.Image != null)
                {
                    if (model.ExistImagePath != null)
                    {
                        string filePath = Path.Combine(_hostingEnvironment.WebRootPath, "images", model.ExistImagePath);
                        System.IO.File.Delete(filePath);
                    }
                    saveProductDto.ImagePath = ProcessUploadedFile(model);
                }
                _service.Update(saveProductDto);
                return(View("Detail", _service.GetProduct(saveProductDto.ID)));
            }
            return(View());
        }
Beispiel #11
0
        public IActionResult OnGet(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            CategoryIndexVM = _categoryService.GetCategoryListVm("", "", 1);
            var product = _context.GetProduct(id ?? default(int));

            if (product == null)
            {
                return(NotFound());
            }
            Product = _mapper.Map <ProductDto, SaveProductDto>(product);

            return(Page());
        }
Beispiel #12
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] SaveProductDto resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var product = _mapper.Map <SaveProductDto, Product>(resource);
            var result  = await _productService.UpdateAsync(id, product);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var ProductDto = _mapper.Map <Product, ProductDto>(product);

            return(Ok(ProductDto));
        }
        public async Task <ActionResult <ProductDto> > CreateProduct([FromBody] SaveProductDto product)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState + product.ToString()));
            }

            var newProduct = _mapper.Map <Product>(product);
            var result     = await _context.Products.AddAsync(newProduct);

            if (result.State != EntityState.Added)
            {
                ModelState.AddModelError("Error", "Product cretaing was failed");
                return(BadRequest(ModelState));
            }
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetProduct), new { id = newProduct.Id }, newProduct));
        }
Beispiel #14
0
 public SaveProductCommand(SaveProductDto saveProduct, int languageId)
 {
     SaveProduct = saveProduct;
     LanguageId  = languageId;
 }