public async Task <ActionResult <Avaliacao> > Put(int id, AltAvaliacaoViewModel avaliacao) { try { var avaliacaoExiste = await repositorio.Get(id); if (avaliacaoExiste == null) { return(NoContent()); } var avaliacaoAlterada = verificacaoAlteracao(avaliacaoExiste, avaliacao); var avaliacaoComAlteracao = await repositorio.Put(avaliacaoAlterada); return(avaliacaoComAlteracao); } catch (Exception) { var validarAvaliacao = await repositorio.Get(id); if (validarAvaliacao == null) { return(NotFound()); } else { throw; } } }
private Avaliacao verificacaoAlteracao(Avaliacao avaliacao, AltAvaliacaoViewModel alteracao) { if (alteracao.DescricaoAvaliacao == null && alteracao == null) { avaliacao.DescricaoAvaliacao = avaliacao.DescricaoAvaliacao; } else if (alteracao.DescricaoAvaliacao != null && avaliacao.DescricaoAvaliacao != alteracao.DescricaoAvaliacao) { avaliacao.DescricaoAvaliacao = alteracao.DescricaoAvaliacao; } if (alteracao.TipoAvaliacao == null && alteracao == null) { avaliacao.TipoAvaliacao = avaliacao.TipoAvaliacao; } else if (alteracao.TipoAvaliacao != null && avaliacao.TipoAvaliacao != alteracao.TipoAvaliacao) { avaliacao.TipoAvaliacao = alteracao.TipoAvaliacao; } return(avaliacao); }