public ActionResult Atualizar([FromBody] ItemPerdido itemPerdido, [FromServices] IItemMatchService itemMatchService, [FromServices] IItemAchadoService itemAchadoService) { try { if (itemPerdido == null) { return(BadRequest("Item não informado")); } itemPerdidoService.Atualizar(itemPerdido); List <ItemMatch> matchs = itemMatchService.BuscarMatchsPerdidos(itemPerdido.UsuarioId, itemPerdido.Id); if (itemPerdido.Recuperado) { matchs.ForEach(match => { match.ItemAchado.Devolvido = true; }); } else { matchs.ForEach(match => { match.ItemAchado.Devolvido = false; }); } itemAchadoService.Atualizar(matchs.Select(match => match.ItemAchado).ToList()); itemPerdidoService.AtualizarItensCompativeis(itemPerdido); return(Ok(new RequestResponse() { message = "Item Atualizado com sucesso", status = "200" })); } catch (EntityNotFoundException ex) { return(NotFound(ex.Message)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }
public ActionResult Atualizar([FromBody] ItemAchado itemAchado, [FromServices] IItemMatchService itemMatchService, [FromServices] IItemPerdidoService itemPerdidoService) { try { itemAchadoService.Atualizar(itemAchado); List <ItemMatch> matchs = itemMatchService.BuscarMatchsAchados(itemAchado.UsuarioId, itemAchado.Id); if (itemAchado.Devolvido) { matchs.ForEach(match => { match.ItemPerdido.Recuperado = true; }); } else { matchs.ForEach(match => { match.ItemPerdido.Recuperado = false; }); } itemPerdidoService.Atualizar(matchs.Select(match => match.ItemPerdido).ToList()); itemAchadoService.AtualizarItensCompativeis(itemAchado); return(Ok(new RequestResponse() { message = "Item Atualizado com sucesso", status = "200" })); } catch (Exception ex) { return(BadRequest(new RequestResponse() { message = ex.Message, status = "400" })); } }