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()); } }
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)); } }
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()); } }