public async Task <IActionResult> AdicionaAvaliacao(int idConfecao, int dificuldade, int?ajuda, int satisfacao)
        {
            Avaliacao e = new Avaliacao(idConfecao, dificuldade, ajuda, satisfacao);

            if (_context.avaliacoes.Any(em => em.Equals(e)))
            {
                return(Conflict());
            }

            var c = _context.confecoes
                    .Include(conf => conf.receita)
                    .Include(conf => conf.receita.passos)
                    .First(a => a.id == idConfecao);

            if (c == null)
            {
                return(NoContent());
            }

            c.AvaliaConfecao(dificuldade, ajuda, satisfacao);
            _context.avaliacoes.Add(e);
            _context.confecoes.Update(c);

            await _context.SaveChangesAsync();

            return(Ok(e));
        }
        public async Task <ActionResult <Receita> > PostReceita(Receita r)
        {
            _context.receitas.Add(r);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetReceita), new { r.id }, r));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> IniciaConfecao(int receitaId)
        {
            Confecao c = new Confecao(receitaId);

            _context.confecoes.Add(c);
            await _context.SaveChangesAsync();

            c = _context.confecoes
                .Where(conf => conf.id == c.id)
                .Include(conf => conf.receita)
                .Include(conf => conf.receita.passos)
                .Include("receita.passos.ingredientes.ingrediente")
                .First();
            return(CreatedAtAction(nameof(GetById), new { c.id }, c));
        }
        public async Task <IActionResult> AdicionaRefeicao(int utilizadorId, string diaDaSemana, bool almoco,
                                                           int receitaId)
        {
            Ementa e = new Ementa(utilizadorId, receitaId, diaDaSemana, almoco);

            if (_context.ementas.Any(em => em.Equals(e)))
            {
                return(Conflict());
            }

            _context.ementas.Add(e);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetEmenta), new
            {
                utilizadorId, diaDaSemana, almoco
            }, e));
        }