public async Task <IActionResult> RemoveProduce(int id, [FromBody] ProduceDto produceDTO) { var shop = await _context.Shops.FindAsync(id); if (shop == null) { return(NotFound()); } if (shop.OwnerId != AuthenticatedUserId()) { return(Unauthorized("Shop does not belong to you")); } var produce = await _context.Produce .Where(p => p.ShopId == id && p.Name == produceDTO.Name) .FirstOrDefaultAsync(); if (produce == null) { return(BadRequest("No such produce")); } _context.Remove(produce); await _context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult <ProduceDto> > PostProduce(int id, [FromBody] ProduceDto produceDTO) { var shop = await _context.Shops.FindAsync(id); if (shop == null) { return(NotFound()); } if (shop.OwnerId != AuthenticatedUserId()) { return(Unauthorized("Shop does not belong to you")); } if (_context.Produce.Any(p => p.ShopId == id && p.Name == produceDTO.Name)) { return(BadRequest("Produce with same name already in shop")); } var produce = _mapper.Map <Produce>(produceDTO); produce.ShopId = id; await _context.Produce.AddAsync(produce); await _context.SaveChangesAsync(); return(_mapper.Map <ProduceDto>(produce)); }