public async Task <ActionResult <Anuncio> > Put(int id, [FromForm] AltAnuncioViewModel anuncio) { try { var anuncioExistente = await repositorio.Get(id); if (anuncioExistente == null) { return(NotFound("Anúncio não encontrado")); } var anuncioAlterado = verificacaoAlteracao(anuncioExistente, anuncio); var anuncioComAlteracao = await repositorio.Put(anuncioAlterado); return(anuncioComAlteracao); } catch (Exception) { var anuncioValidacao = await repositorio.Get(id); if (anuncioValidacao == null) { return(NotFound("Anuncio não encontrado")); } else { throw; } } }
private Anuncio verificacaoAlteracao(Anuncio anuncio, AltAnuncioViewModel alteracao) { if (alteracao.precoAnuncio == 00 && alteracao == null) { anuncio.PrecoAnuncio = anuncio.PrecoAnuncio; } else if (alteracao.precoAnuncio != 00 && anuncio.PrecoAnuncio != alteracao.precoAnuncio) { anuncio.PrecoAnuncio = alteracao.precoAnuncio; } if (alteracao.dataLancamento == null && alteracao == null) { anuncio.DataExpiracao = anuncio.DataExpiracao; } else if (alteracao.dataLancamento != null && anuncio.DataExpiracao != alteracao.dataLancamento) { anuncio.DataExpiracao = alteracao.dataLancamento; } if (alteracao.idAvaliacao == 00 & alteracao == null) { anuncio.IdAnuncio = Convert.ToInt32(anuncio.IdAnuncio); } else if (alteracao.idAvaliacao != 00 && anuncio.IdAnuncio != alteracao.idAvaliacao) { anuncio.IdAnuncio = Convert.ToInt32(alteracao.idAvaliacao); } if (alteracao.idProduto == 00 & alteracao == null) { anuncio.IdProduto = Convert.ToInt32(anuncio.IdProduto); } else if (alteracao.idProduto != 00 && anuncio.IdProduto != alteracao.idProduto) { anuncio.IdProduto = Convert.ToInt32(alteracao.idProduto); } var files = Request.Form.Files; if (files.Count > 0 && files.Count <= 3) { var listaDeFotos = new List <FotosAnuncio>(); foreach (var file in files) { var arquivo = Request.Form.Files[0]; var caminhoPasta = @"Resources\Anuncio\"; var fotosAnuncio = _uploadController.Upload(arquivo, caminhoPasta); listaDeFotos.Add(new FotosAnuncio() { FotoDoAnuncio = fotosAnuncio }); } anuncio.FotosAnuncio = listaDeFotos; } return(anuncio); }