public async Task <CommandResult> ExecuteAsync(int productId) { try { CsmsProduct product = await _productRepository.GetByIdAsync(productId); if (product != null) { product.Deleted = true; await _productRepository.UpdateAsync(product); return(CommandResult.Success); } return(CommandResult.Failed(new CommandResultError { Code = (int)HttpStatusCode.NotFound, Description = MessageError.NotFound })); } catch (Exception ex) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.InternalServerError, Description = ex.Message })); } }
public async Task <CommandResult> ExecuteAsync(ProductViewModel model) { try { CommandResult isNotValidData = CheckValidData(model); if (isNotValidData != null) { return(isNotValidData); } CsmsProduct product = await _productRepository.Table .Where(n => n.Id == model.Id) .Include(n => n.Photos) .SingleOrDefaultAsync(); if (model.Id != 0 && product == null) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.NotFound, Description = MessageError.NotFound })); } product = product ?? new CsmsProduct(); product.CategoryId = model.CategoryId; product.Code = model.Code; product.Name = model.Name; product.AvatarId = model.AvatarId; product.Price = model.Price; product.ShortDescription = model.ShortDescription; product.Description = model.Description; product.SearchString = model.SearchString; product.Enabled = model.Enabled; if (model.Photos != null) { foreach (var photo in model.Photos) { photos.Add(new CsmsProductPhoto() { Id = photo.Id, ProductId = model.Id, PhotoId = photo.PhotoId }); } product.Photos = photos; } if (product.Id == 0) { await _productRepository.InsertAsync(product); } else { await _productRepository.UpdateAsync(product); } ProductViewModel productViewModel = await _getProductByIdQuery.ExecuteAsync(product.Id); return(CommandResult.SuccessWithData(productViewModel)); } catch (Exception) { return(CommandResult.Failed(new CommandResultError() { Code = (int)HttpStatusCode.InternalServerError, Description = MessageError.InternalServerError })); } }