示例#1
0
        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;
                }
            }
        }
示例#2
0
        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);
        }