Exemplo n.º 1
0
        public Collection <Utensilio> FindUtensiliosFromReceita(int id)
        {
            Collection <Utensilio> resultado = new Collection <Utensilio>();

            using (SqlCommand command = _connection.Fetch().CreateCommand())
            {
                command.CommandType = System.Data.CommandType.Text;
                command.CommandText = "Select u.id, u.nome " + "From receita_utensilio r, Utensilio u "
                                      + "Where u.id = r.Utensilio_id and r.Receita_id = @id;";

                command.Parameters.Add("@id", SqlDbType.Int).Value = id;

                using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                {
                    DataTable tab = new DataTable();
                    adapter.Fill(tab);
                    foreach (DataRow row in tab.Rows)
                    {
                        Utensilio u = new Utensilio
                        {
                            Id   = (int)row["id"],
                            Nome = row["nome"].ToString()
                        };

                        resultado.Add(u);
                    }
                }
            }

            return(resultado);
        }
        public async Task <IActionResult> Create(Utensilio utensilio)
        {
            await _repository.Add(utensilio);

            return(CreatedAtRoute("GetUtensilio", new Utensilio {
                Id = utensilio.Id
            }, utensilio));
        }
Exemplo n.º 3
0
 public ActionResult PostUtensilio([FromQuery] Utensilio u)
 {
     if (_context.Utensilio.Where(us => us.Nome == u.Nome).Count() > 0)
     {
         return(BadRequest());
     }
     _context.Utensilio.Add(u);
     _context.SaveChanges();
     return(Ok());
 }
Exemplo n.º 4
0
 public ActionResult Edit(Utensilio utensilio)
 {
     if (ModelState.IsValid)
     {
         context.Entry(utensilio).State = EntityState.Modified;
         context.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(utensilio));
 }
        public async Task <ActionResult <Utensilio> > GetById(long id)
        {
            Utensilio utensilio = await _repository.GetById(id);

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

            return(utensilio);
        }
Exemplo n.º 6
0
        public ActionResult Create(Utensilio utensilio)
        {
            if (ModelState.IsValid)
            {
                context.Utensilios.Add(utensilio);
                context.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(utensilio));
        }
Exemplo n.º 7
0
        public IActionResult Initial(UtensilioModel model)
        {
            var valid     = true;
            int idReceita = (int)HttpContext.Session.GetInt32("idReceita");

            if (model.utensilio == null)
            {
                valid = false;
                ModelState.AddModelError("UtensilioInvalido", "Utensil must be not null.");
            }

            if (valid == true)
            {
                var utensilio = _context.Utensilio.Where(u => u.nome == model.utensilio).FirstOrDefault();

                if (utensilio == null)
                {
                    utensilio = new Utensilio
                    {
                        id   = 0,
                        nome = model.utensilio
                    };
                    _context.Utensilio.Add(utensilio);
                    _context.SaveChanges();
                }

                var existe = false;
                var lista  = _context.Utensilio.Where(u => u.id == utensilio.id).SelectMany(r => r.UtensilioReceitas);
                foreach (var ur in lista)
                {
                    var r = _context.Receita.Find(ur.idReceita);
                    if (ur.idReceita == r.id)
                    {
                        existe = true;
                        break;
                    }
                }

                if (existe == false)
                {
                    var utensilioReceita = new UtensilioReceita
                    {
                        idReceita   = idReceita,
                        idUtensilio = utensilio.id
                    };
                    _context.AddRange(utensilioReceita);
                    _context.SaveChanges();
                }
            }

            ViewData["id"] = HttpContext.Session.GetInt32("id");
            return(View("~/Views/Home/addUtensilio.cshtml"));
        }
        public async Task <IActionResult> Delete(long id)
        {
            Utensilio utensilio = await _repository.GetById(id);

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

            await _repository.Delete(utensilio);

            return(NoContent());
        }
Exemplo n.º 9
0
        // GET: Utensilios/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Utensilio utensilio = context.Utensilios.Find(id);

            if (utensilio == null)
            {
                return(HttpNotFound());
            }
            return(View(utensilio));
        }
Exemplo n.º 10
0
        // GET: Utensilios/Details/5
        public ActionResult Details(int?id)
        {
            ViewBag.Categoria = categoria;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Utensilio utensilio = context.Utensilios.Find(id);

            if (utensilio == null)
            {
                return(HttpNotFound());
            }
            return(View(utensilio));
        }
        public async Task <IActionResult> Update(long id, Utensilio item)
        {
            Utensilio utensilio = await _repository.GetById(id);

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

            utensilio.Nome = item.Nome;

            await _repository.Update(utensilio);

            return(NoContent());
        }
Exemplo n.º 12
0
        public IActionResult Utensilio(int id)
        {
            Utensilio utensilio = _context.Find <Utensilio>(id);

            if (utensilio == null)
            {
                return(NotFound());
            }
            ViewData["Id"]             = id;
            ViewData["Nome"]           = utensilio.Nome;
            ViewData["Img"]            = utensilio.ImageLink;
            ViewData["NomeUtilizador"] = GetNomeUtilizador();

            return(View());
        }
Exemplo n.º 13
0
        public ActionResult Delete()
        {
            int id = int.Parse(Request["Id"]);

            Utensilio utensilio = context.Utensilios.Find(id);

            if (utensilio != null)
            {
                utensilio.DeletedAt = DateTime.Now;

                context.Utensilios.Remove(utensilio);
                context.SaveChanges();

                TempData["Message"] = "Utensilio " + utensilio.Nome + " foi removido!";
            }
            else
            {
                TempData["Message"] = "Não foi encontrado um Utensilio com esse id.";
            }

            return(RedirectToAction("Index"));
        }
        public IActionResult SelectReceita(int id)
        {
            ReceitaTotal              res              = new ReceitaTotal();
            Receita                   recipe           = receitaHandling.getReceita(id);
            int                       nrpassos         = receitapassoHandling.getNrPassosdaReceita(id);
            Dictionary <int, string>  desc_passos      = new Dictionary <int, string>();
            Dictionary <int, Receita> passo_subreceita = new Dictionary <int, Receita>();
            List <Comentario>         coments          = comentarioHandling.getComentariosReceita(id);
            List <int>                idPassos         = receitapassoHandling.getPassosDaReceita(id);
            List <Passo>              passos           = new List <Passo>();
            List <Ingrediente>        ingredientes     = new List <Ingrediente>();
            List <Utensilio>          utensilios       = new List <Utensilio>();

            foreach (int i in idPassos)
            {
                // Passo
                Passo p = passoHandling.selectPasso(i);
                passos.Add(p);

                // Ação
                Acao ac = acaoHandling.selectAcao(p.idAcao);

                // Ingrediente
                Ingrediente ing = ingredienteHandling.selectIngrediente(p.idIngrediente);

                // Descrição
                string desc_passo;
                if (ing != null)
                {
                    desc_passo = new string(ac.Descricao + " " + p.Quantidade + " " +
                                            p.Unidade + " " + ing.Nome + " " + p.Extra +
                                            ".");
                    if (!ingredientes.Contains(ing))
                    {
                        ingredientes.Add(ing);
                    }
                }
                else
                {
                    desc_passo = new string(ac.Descricao + " " + p.Quantidade + " " +
                                            p.Unidade + " " + p.Extra +
                                            ".");
                }
                desc_passos.Add(receitapassoHandling.getPassoDaReceita(id, i), desc_passo);

                // Subreceita
                if (p.idReceita != -1)
                {
                    passo_subreceita.Add(receitapassoHandling.getPassoDaReceita(id, i), receitaHandling.getReceita(p.idReceita));
                }

                // Utensílios
                List <UtensilioPasso> ups = utensiliopassoHandling.selectUtensiliosPassos(i);
                foreach (UtensilioPasso up in ups)
                {
                    Utensilio u = utensilioHandling.selectUtensilio(up.IdUtensilio);
                    if (!utensilios.Contains(u))
                    {
                        utensilios.Add(u);
                    }
                }
            }

            res.rec              = recipe;
            res.pass             = passos;
            res.desc_passos      = desc_passos;
            res.passo_subreceita = passo_subreceita;
            res.coments          = coments;
            res.nrpassos         = nrpassos;
            res.ingredientes     = ingredientes;
            res.utensilios       = utensilios;
            return(View(res));
        }
Exemplo n.º 15
0
        public Utensilio selectUtensilio(int id)
        {
            Utensilio returnedUtensilio = _context.utensilio.Where(b => b.IdUtensilio == id).FirstOrDefault();

            return(returnedUtensilio);
        }
Exemplo n.º 16
0
 public ActionResult PutUtensilio([FromQuery] Utensilio u)
 {
     _context.Utensilio.Update(u);
     _context.SaveChanges();
     return(Ok());
 }
        public IActionResult ExecuteReceita(int idreceita, int numero, string username, long tempo, bool subreceita, int subreceita_num_anterior, int subreceita_id_principal)
        {
            PassoTotal res         = new PassoTotal();
            int        nrpassos    = receitapassoHandling.getNrPassosdaReceita(idreceita);
            int        idpasso     = receitapassoHandling.getPassoNumDaReceita(idreceita, numero);
            Receita    rec         = receitaHandling.getReceita(idreceita);
            string     nomeReceita = rec.nome;

            // Passo
            Passo p = passoHandling.selectPasso(idpasso);

            // Ação
            Acao ac = acaoHandling.selectAcao(p.idAcao);

            // Ingrediente
            Ingrediente ing = ingredienteHandling.selectIngrediente(p.idIngrediente);

            // Tutorial
            Tutorial tutorial = tutorialHandling.selectTutorial(idpasso);

            if (tutorial != null)
            {
                res.tutorial = tutorial.Link;
            }

            // Descrição
            string desc_passo;

            if (ing != null)
            {
                desc_passo = new string(ac.Descricao + " " + p.Quantidade + " " +
                                        p.Unidade + " " + ing.Nome + " " + p.Extra +
                                        ".");
                res.ingrediente = ing;
            }
            else
            {
                desc_passo = new string(ac.Descricao + " " + p.Quantidade + " " +
                                        p.Unidade + " " + p.Extra +
                                        ".");
                res.ingrediente = null;
            }

            // SubReceita
            if (p.idReceita == -1)
            {
                res.subreceita = null;
            }
            else
            {
                res.subreceita = receitaHandling.getReceita(p.idReceita);
            }

            if (subreceita == true)
            {
                res.modo_subreceita         = true;
                res.subreceita_num_anterior = subreceita_num_anterior;
                res.subreceita_id_principal = subreceita_id_principal;
            }
            else
            {
                res.modo_subreceita = false;
            }



            // Utensílios
            List <Utensilio>      utensilios = new List <Utensilio>();
            List <UtensilioPasso> ups        = utensiliopassoHandling.selectUtensiliosPassos(idpasso);

            foreach (UtensilioPasso up in ups)
            {
                Utensilio u = utensilioHandling.selectUtensilio(up.IdUtensilio);
                if (!utensilios.Contains(u))
                {
                    utensilios.Add(u);
                }
            }

            // adicionar historico
            if (numero > 1 && username != null)
            {
                Historico his = new Historico();
                his.idHistorico = historicoHandling.countHistoricos() + 1;
                his.idReceita   = idreceita;
                his.idPasso     = receitapassoHandling.getPassoNumDaReceita(idreceita, numero - 1);
                his.username    = username;
                his.TempoPasso  = (long)((DateTime.Now - DateTime.MinValue).TotalSeconds - tempo);
                his.Dataa       = DateTime.Now;
                his.NrPasso     = numero - 1;
                if (ModelState.IsValid)
                {
                    this.historicoHandling.addHistorico(his);
                }
            }



            res.passo       = p;
            res.idReceita   = idreceita;
            res.nomeReceita = nomeReceita;
            res.desc_passo  = desc_passo;
            res.utensilios  = utensilios;
            res.numero      = numero;
            res.nrpassos    = nrpassos;
            res.tempo_atual = (long)(DateTime.Now - DateTime.MinValue).TotalSeconds;;
            return(View(res));
        }