Пример #1
0
        public ActionResult Execute(int idReceita, int passo)
        {
            Avaliacao   av = new Avaliacao();
            Passo       p;
            IConnection connection = new Connection();

            connection.Fetch();
            IDAO <Receita> rDAO       = new ReceitaDAO(connection);
            Receita        r          = rDAO.FindById(idReceita);
            int            num_passos = r.Passos.Count;

            Console.WriteLine("ssssssss" + num_passos);
            if (passo < 0)
            {
                p = r.Passos[0]; return(View(p));
            }
            if (passo == num_passos)
            {
                av.idReceita = idReceita;
                return(View("Evaluation", av));
            }
            else
            {
                p = r.Passos[passo];
                return(View(p));
            }
        }
Пример #2
0
        public ActionResult Ingredients(int idReceita, Receita Obj)
        {
            StringBuilder   sb = new StringBuilder();
            List <Alimento> nao_selecionados = new List <Alimento>();
            List <Alimento> alternativas     = new List <Alimento>();
            List <Alimento> original         = new List <Alimento>();
            List <Alimento> indispensaveis   = new List <Alimento>();
            Alimento        alimento         = new Alimento();
            Alimento        alternativo      = new Alimento();
            bool            naopodecontinuar = false;

            string path_and_query = HttpContext.Request.Path;
            char   last           = path_and_query[path_and_query.Length - 1];
            int    id             = last - '0';

            IConnection connection = new Connection();

            connection.Fetch();
            IDAO <Receita> rDAO = new ReceitaDAO(connection);
            Receita        rs   = rDAO.FindById(id);

            foreach (Alimento item in Obj.Ingredientes)
            {
                if (!item.IsChecked)
                {
                    connection = new Connection();
                    connection.Fetch();
                    IDAO <Alimento> aDAO = new AlimentoDAO(connection);
                    alimento = aDAO.FindByName(item.Nome);

                    sb.Append(item.Nome + "; ");

                    if (alimento.temAlternativa())
                    {
                        connection = new Connection();
                        connection.Fetch();
                        aDAO        = new AlimentoDAO(connection);
                        alternativo = aDAO.FindById(alimento.alternativo);
                        alternativas.Add(alternativo);
                        original.Add(alimento);
                    }
                    nao_selecionados.Add(alimento);
                    ViewBag.alimento = alimento.idAlimento;

                    foreach (int i in rs.indispensaveis)
                    {
                        if (i == alimento.idAlimento)
                        {
                            naopodecontinuar = true;
                        }
                    }
                }
            }


            ViewBag.data           = nao_selecionados;
            ViewBag.alternativa    = alternativas;
            ViewBag.indispensaveis = indispensaveis;
            ViewBag.original       = original;


            if (naopodecontinuar)
            {
                ViewBag.condicional = "Não é possível continuar com os ingredientes selecionados";
                return(View(rs));
            }

            foreach (Alimento a in nao_selecionados)
            {
                if (a.alternativo > 0)
                {
                    ViewBag.Loc = "The following items were not checked: " + sb.ToString() + "\r\nDo you wish to replace them for a similar alternative?";
                }
                return(View("Alternativa"));
            }

            return(View("Execute", rs.Passos[0]));
        }