Example #1
0
        public IActionResult Inserir([FromBody] ItemInsertRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(Response <ItemInsertRequest>(req));
            }

            if (!ValidarPreenchimentoFaixaValor(req.TipoItem, req.ValorFaixaId, out IActionResult result))
            {
                return(result);
            }

            ItemDto dto = new ItemDto()
            {
                Titulo    = req.Titulo,
                Descricao = req.Descricao,
                TipoItem  = new TipoItemDto()
                {
                    Descricao = (req.TipoItem.Equals(1) ? "Necessidade" : "Doação")
                },
                Categoria = new CategoriaDto()
                {
                    Id = req.CategoriaId.Value
                },
                Usuario = new UsuarioDto()
                {
                    Id = _appUser.Id
                },
                Campanha = (req.CampanhaId.HasValue ? new CampanhaDto()
                {
                    Id = req.CampanhaId.Value
                } : null),
                Anonimo  = req.Anonimo
            };

            if (req.TipoItem.Equals(1))
            {
                dto.ValorFaixa = new ValorFaixaDto()
                {
                    Id = req.ValorFaixaId.Value
                }
            }
            ;

            _appService.Inserir(dto, out int statusCode, out string mensagem);

            IEnumerable <object> respImage = null;
            object dados = null;

            if (statusCode.Equals(StatusCodes.Status200OK))
            {
                respImage = CarregarImagens(dto.Id, req.Imagens);
                dados     = new { Sucesso = statusCode.Equals(StatusCodes.Status200OK), Mensagem = new { Id = dto.Id.ToString(), Imagens = respImage } };
            }
            else
            {
                dados = new { Sucesso = false, Mensagem = mensagem };
            }


            return(StatusCode(statusCode, dados));
        }