public void Execute(ProductChangeDto request) { request.Id = 0; _validator.ValidateAndThrow(request); _context.Products.Add(_maper.Map <Product>(request)); _context.SaveChanges(); }
public async Task <IActionResult> PutProduct([FromRoute] int id, [FromBody] ProductChangeDto productDto) { try { var product = await _repository.GetProduct(id); if (product == null) { return(NotFound()); } productDto.Favourite = product.Favourite; _mapper.Map(productDto, product); _repository.UpdateProduct(product); await _repository.Save(); return(NoContent()); } catch (DbUpdateException e) { ModelState.AddModelError("database", e.InnerException.Message); return(ValidationProblem()); } catch (Exception e) { return(_helpers.ErrorResponse(e)); } }
public async Task <HttpResponseMessage> UpdateProduct(int id, ProductChangeDto product) { var p = _context.products.Where(p => p.Id == id).FirstOrDefault(); p.Name = product.Name; p.Description = product.Description; p.Price = product.Price; p.InStock = product.InStock; await _context.SetProductsAsync(_context.products); var item = _context.order.OrderItems .Where(o => o.ProductId == p.Id) .FirstOrDefault(); if (item != null) { var newPrice = item.Amount * product.Price; _context.order.Total = _context.order.Total - item.Price + newPrice; item.Price = newPrice; item.Product = p; } await _context.SetOrderAsync(_context.order); res = new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.NoContent }; return(res); }
public void Execute(ProductChangeDto request) { _validator.ValidateAndThrow(request); var product = _context.Products.Find(request.Id); if (product == null) { throw new EntityNotFoundException(request.Id, typeof(Product)); } _maper.Map(request, product); _context.SaveChanges(); }
public void Update(ProductChangeDto p) { ProductName = p.ProductName; ProductType = p.ProductType; Description = p.Description; Style = p.Style; Brand = p.Brand; Url = p.Url; ShippingPriceCents = p.ShippingPriceCents; Note = p.Note; return; }
protected override async Task OnInitializedAsync() { _state.OnChange += StateHasChanged; int.TryParse(id, out productId); if (productId != 0) { try { product = await _productsDataService.GetProduct(productId); } catch (Exception e) { _state.err = new Error(e.Message, false); } } }
public async Task <IActionResult> PostProduct([FromBody] ProductChangeDto productDto) { try { var product = _mapper.Map <Product>(productDto); _repository.AddProduct(product); await _repository.Save(); return(CreatedAtAction("GetProduct", new { id = product.Id }, _mapper.Map <ProductDto>(product))); } catch (DbUpdateException e) { ModelState.AddModelError("database", e.InnerException.Message); return(ValidationProblem()); } catch (Exception e) { return(_helpers.ErrorResponse(e)); } }
public async Task <HttpResponseMessage> AddProduct(ProductChangeDto product) { var p = JsonSerializer.Deserialize <ProductDto>( JsonSerializer.Serialize <ProductChangeDto>(product)); p.Id = _context.products.Count + 1; _context.products.Add(p); await _context.SetProductsAsync(_context.products); var jsonString = new StringContent( JsonSerializer.Serialize <ProductDto>(p), Encoding.UTF8, "application/json"); res = new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.Created, Content = jsonString }; return(res); }
public async Task <HttpResponseMessage> UpdateProduct(int id, ProductChangeDto product) { return(await _secureHttp.PutAsJsonAsync($"/api/products/{id}", product)); }
public async Task <HttpResponseMessage> AddProduct(ProductChangeDto product) { return(await _secureHttp.PostAsJsonAsync("/api/products", product)); }
public IActionResult Put(int id, [FromBody] ProductChangeDto dto, [FromServices] IProductUpdateCommand command) { dto.Id = id; executor.ExecuteCommand(command, dto); return(NoContent()); }
public IActionResult Post([FromBody] ProductChangeDto dto, [FromServices] IProductAddCommand command) { executor.ExecuteCommand(command, dto); return(StatusCode(StatusCodes.Status201Created)); }
public IActionResult Put(int id, [FromBody] ProductChangeDto dto, [FromServices] IUpdateProductCommand command) { dto.Id = id; _executor.ExecuteCommand(command, dto); return(StatusCode(StatusCodes.Status204NoContent)); }