public void Execute(UpdateProductDto request) { if (_context.Products.Any(x => x.Id == request.Id)) { var oneProduct = _context.Products.Find(request.Id); if (request.Name == oneProduct.Name) { _validator.ValidateAndThrow(request); oneProduct.Name = request.Name; oneProduct.Description = request.Description; oneProduct.Price = request.Price; //oneProduct.Slika = UploadJedneSlike.UploadJednaSlika(request.Slika); oneProduct.Quantity += request.Quantity; oneProduct.ModifiedAt = DateTime.Now; _context.SaveChanges(); } else { _validatorName.ValidateAndThrow(request); oneProduct.Name = request.Name; oneProduct.Description = request.Description; oneProduct.Price = request.Price; //oneProduct.Slika = UploadJedneSlike.UploadJednaSlika(request.Slika); oneProduct.Quantity += request.Quantity; oneProduct.ModifiedAt = DateTime.Now; _context.SaveChanges(); } } else { throw new EntityNotFoundException(request.Id, typeof(Product)); } }
public void Execute(ProductDto request) { _validator.ValidateAndThrow(request); var product = _context.Products.Find(request.Id); if (product == null) { throw new EntityNotFoundException(request.Id, typeof(Product)); } _mapper.Map(request, product); _context.SaveChanges(); }
public void Execute(int id, ProductDto dto) { dto.Id = id; var product = _context.Products.Find(id); if (product == null) { throw new EntityNotFoundException(id, typeof(Product)); } _validator.ValidateAndThrow(dto); _mapper.Map(dto, product); _context.SaveChanges(); }
public void Execute(UpdateProductDto request) { if (_context.Products.Any(pr => pr.Name == request.Name)) { } _validator.ValidateAndThrow(request); var product = _context.Products.AsQueryable().Include(p => p.Prices).Where(p => p.Id == request.Id).FirstOrDefault(); var pathImage = product.ImagePath; if (request.Image != null) { pathImage = UploadService.UploadImage(request.Image); } using (var dbContextTransaction = _context.Database.BeginTransaction()) { product.Name = request.Name; product.Description = request.Description; product.Stock += request.Stock; product.ImagePath = pathImage; _context.SaveChanges(); if (!_context.PriceHistory.Where(prod => prod.ProductId == request.Id).Any(price => price.Price == request.Price)) { var price = new PriceHistory { Price = request.Price, ProductId = request.Id }; _context.PriceHistory.Add(price); _context.SaveChanges(); } dbContextTransaction.Commit(); } }