Exemple #1
0
        public async Task <ActionResult <Receita> > Novo([FromBody] ReceitaDto receitaInformada)
        {
            var usuarioEncontrado = await _usuarioService.GetUsuarioFromJwtAsync(User);

            var receitaEncontrada = await _context.Receitas.FirstOrDefaultAsync(e => e.Descricao == receitaInformada.Descricao && e.Conta.Usuario != usuarioEncontrado);

            if (receitaEncontrada != null)
            {
                return(Conflict());
            }

            if (receitaInformada.Conta == null || receitaInformada.Conta.Id == 0)
            {
                return(BadRequest());
            }

            var contaEncontrada = await _context.Contas.FirstOrDefaultAsync(e => e.Id == receitaInformada.Conta.Id && e.Usuario == usuarioEncontrado);

            if (contaEncontrada == null)
            {
                return(NotFound());
            }

            var novaReceita = _mapper.Map <Receita>(receitaInformada);

            if (contaEncontrada != null)
            {
                novaReceita.Conta = contaEncontrada;
            }

            _context.Receitas.Add(novaReceita);
            await _context.SaveChangesAsync();

            return(Ok(novaReceita));
        }
        public async Task <ActionResult> AdicionarModelAndFiles([ModelBinder(typeof(JsonAndFileModelBinder))] ReceitaDto receitaDto, [Optional] IFormFileCollection files)
        {
            if (!ModelState.IsValid)
            {
                return(Response(ModelState));
            }

            try
            {
                foreach (IFormFile fl in files)
                {
                    string fullFileName = string.Concat(_host.ContentRootPath, "\\wwwroot\\Imagens\\", Guid.NewGuid(), "_", fl.FileName);
                    await fl.CopyToAsync(new System.IO.FileStream(path: fullFileName, FileMode.Create));
                }

                Receita receita = _mapper.Map <Receita>(receitaDto);
                await _receitaService.Adicionar(receita);

                return(Response(receita));
            }
            catch (Exception ex)
            {
                AdicionarErro(ex.Message);
                return(Response());
            }
        }
Exemple #3
0
 public async Task <IActionResult> Update([FromForm] ReceitaDto item)
 {
     try
     {
         _service.Update(item);
         return(Ok());
     }
     catch (ArgumentException ex)
     {
         return(StatusCode(400, new Error(ex.Message)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }
Exemple #4
0
        public void Update(ReceitaDto dto)
        {
            var objPersistencia = new Receita
            {
                Codigo       = dto.Codigo,
                Titulo       = dto.Titulo,
                Descricao    = dto.Descricao,
                ModoPreparo  = dto.ModoPreparo,
                Imagem       = dto.Imagem.ConvertToBytes(),
                NomeArquivo  = dto.Imagem.FileName,
                Ingredientes = dto.Ingredientes,
                Categoria    = new Categoria {
                    Codigo = dto.Categoria.Codigo
                }
            };

            _service.Update(objPersistencia);
        }
        public async Task <ActionResult> AdicionarModel([FromBody] ReceitaDto receitaDto)
        {
            if (!ModelState.IsValid)
            {
                return(Response(ModelState));
            }

            try
            {
                Receita receita = _mapper.Map <Receita>(receitaDto);
                await _receitaService.Adicionar(receita);

                receitaDto = _mapper.Map <ReceitaDto>(receita);
                return(Response(receitaDto));
            }
            catch (Exception ex)
            {
                AdicionarErro(ex.Message);
                return(Response());
            }
        }