public async Task <ActionResult> Put(int id, [FromForm] AlterarOfertaViewModel oferta)
        {
            //Se o Id do objeto não existir
            //ele retorna o erro 400
            if (oferta.Cidade == null && oferta.preco == 0 && oferta.Regiao == null && oferta.Quantidade == 0 && oferta.Descricao == null && oferta.Validade == null)
            {
                return(NoContent());
            }

            var ofertaUsuario = await _repositorio.BuscarPorID(id);

            if (ofertaUsuario == null)
            {
                return(NotFound(
                           new {
                    Mensagem = "Oferta Não Encontrada",
                    Erro = true
                }
                           ));
            }

            var OfertaAlterada = VerificaAlteracaoOferta(ofertaUsuario, oferta);

            try {
                await _repositorio.Alterar(OfertaAlterada);

                return(Ok(
                           new{
                    Mensagem = "Oferta alterada com sucesso",
                    Erro = false
                }
                           ));
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto realmente existe no banco
                var Oferta_valido = await _repositorio.BuscarPorID(id);

                if (Oferta_valido == null)
                {
                    return(NoContent());
                }
                else
                {
                    throw;
                }
            }
        }
        private Oferta VerificaAlteracaoOferta(Oferta oferta, AlterarOfertaViewModel OfertaView)
        {
            if (OfertaView.Cidade != oferta.Cidade && OfertaView.Cidade != null && OfertaView != null)
            {
                oferta.Cidade = OfertaView.Cidade;
            }

            if (Convert.ToDecimal(OfertaView.preco) != oferta.Preco && OfertaView.preco != 0 && OfertaView != null)
            {
                oferta.Preco = Convert.ToDecimal(OfertaView.preco);
            }

            if (Convert.ToDateTime(OfertaView.Validade).Date != oferta.Validade && OfertaView.Validade != null && OfertaView != null)
            {
                oferta.Validade = Convert.ToDateTime(OfertaView.Validade).Date;
            }

            if (OfertaView.Quantidade != oferta.Quantidade && OfertaView.Quantidade != 0 && OfertaView != null)
            {
                oferta.Quantidade = OfertaView.Quantidade;
            }

            if (OfertaView.Regiao != oferta.Regiao && OfertaView.Regiao != null && OfertaView != null)
            {
                oferta.Regiao = OfertaView.Regiao;
            }

            if (OfertaView.Descricao != oferta.Descricao && OfertaView.Descricao != null && OfertaView != null)
            {
                oferta.Descricao = OfertaView.Descricao;
            }
            if (OfertaView.ProdutoId != oferta.ProdutoId && OfertaView.ProdutoId != 0 && OfertaView != null)
            {
                oferta.ProdutoId = OfertaView.ProdutoId;
            }


            return(oferta);
        }