public async Task <IActionResult> PutProduct(Guid areaId, Guid productId, [FromBody] VmProductArea vmProduct, CancellationToken cancellationToken) { if (areaId != vmProduct.AreaId && productId != vmProduct.ProductId) { return(BadRequest()); } var productView = _mapper.Map <ProductAreaView>(vmProduct); await _areaService.UpdateProductAreaAsync(productView, cancellationToken); try { await _areaService.CommitAsync(cancellationToken); } catch (DbUpdateConcurrencyException) { if (!await ProductAreaExists(areaId, productId, cancellationToken)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <VmProductArea> > PostProduct([FromBody] VmProductArea vmProduct, CancellationToken cancellationToken) { var productView = _mapper.Map <ProductAreaView>(vmProduct); var dbProduct = await _areaService.AddProductAreaAsync(productView, cancellationToken); await _areaService.CommitAsync(cancellationToken); return(CreatedAtAction("GetProducts", new { areaId = dbProduct.AreaId, equipmentId = dbProduct.ProductId }, vmProduct)); }