Ejemplo n.º 1
0
        public Collection <Passo> FindPassosFromReceita(int id)
        {
            Collection <Passo> resultado = new Collection <Passo>();

            using (SqlCommand command = _connection.Fetch().CreateCommand())
            {
                command.CommandType = System.Data.CommandType.Text;
                command.CommandText = "SELECT DISTINCT p.id, p.descricao " + "FROM Receita_Passo_Ingrediente r, Passo p "
                                      + "WHERE r.Receita_id = @id and p.id = r.Passo_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)
                    {
                        Passo p = new Passo
                        {
                            Id        = (int)row["id"],
                            Descricao = row["descricao"].ToString()
                        };
                        resultado.Add(p);
                    }
                }
            }

            return(resultado);
        }
Ejemplo n.º 2
0
        public void TestMethod1()
        {
            var primeiroPasso = new Passo(1, "PassoA");
            var segundoPasso  = new Passo(2, "PassoB");
            var terceiroPasso = new Passo(3, "PassoC");

            //A
            primeiroPasso.AdicionarProximoPasso(segundoPasso);
            //B
            segundoPasso.AdicionarPassoAnterior(primeiroPasso);
            segundoPasso.AdicionarProximoPasso(terceiroPasso);
            //C
            terceiroPasso.AdicionarPassoAnterior(segundoPasso);

            var fluxo = new WorkFlow();

            fluxo.AdicionarPasso(new List <Passo> {
                primeiroPasso
            });
            fluxo.AdicionarPasso(new List <Passo> {
                segundoPasso
            });
            fluxo.AdicionarPasso(new List <Passo> {
                terceiroPasso
            });

            Assert.AreEqual(fluxo.PassoAtual.Descricao, primeiroPasso.Descricao);
            Assert.AreEqual(fluxo.PassoAtual.Aprovado, false);

            fluxo.AprovarPassoAtual();

            Assert.AreEqual(fluxo.PassoAtual.Descricao, segundoPasso.Descricao);
            Assert.AreEqual(fluxo.PassoAtual.Aprovado, false);
        }
Ejemplo n.º 3
0
        public IActionResult Update(Guid id, [FromBody] dynamic body)
        {
            if (string.IsNullOrEmpty(body.ToString()))
            {
                return(BadRequest());
            }

            //Verifica se o registro existe na base
            var passoFounded = _passoRepository.Find(id);

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

            Passo passoNew = body.ToObject <Passo>();

            passoNew.SetDataAlteracao();

            //Verifica se há inconsistência nos dados
            PassoAssertion passoAssertion = new PassoAssertion(passoNew);

            if (passoAssertion.Notifications.HasNotifications())
            {
                Response.StatusCode = Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError;
                return(new ObjectResult(passoAssertion.Notifications.Notify()));
            }
            _passoRepository.Update(passoNew);
            //return new NoContentResult();
            Response.StatusCode = Microsoft.AspNetCore.Http.StatusCodes.Status200OK;
            return(new ObjectResult(passoNew));
        }
Ejemplo n.º 4
0
        public Passo[] GetPassos(int idReceita)
        {
            ReceitaPasso[] receitaPassos = _contextRP.receitaPasso.Where(r => r.id_receita == idReceita).OrderBy(r => r.numero).ToArray();
            List <int>     idPassos      = new List <int>();

            foreach (ReceitaPasso r in receitaPassos)
            {
                idPassos.Add(r.id_passo);
            }

            Passo[] passos = new Passo[idPassos.Count];
            for (int i = 0; i < idPassos.Count; i++)
            {
                Passo p = _contextPasso.passo.Where(passo => passo.id_passo == idPassos[i]).FirstOrDefault();
                Acao  a = _contextAcao.acao.Where(ac => ac.id_acao == p.id_acao).FirstOrDefault();

                PassoIngrediente[] passoIngredientes = _contextPassoIngrediente.passoIngrediente.Where(pi => pi.id_passo == p.id_passo).ToArray();
                Ingrediente[]      ingredientes      = new Ingrediente[passoIngredientes.Length];
                for (int j = 0; j < passoIngredientes.Length; j++)
                {
                    ingredientes[j]            = _contextIngrediente.ingrediente.Where(ing => ing.id_ingrediente == passoIngredientes[j].id_ingrediente).FirstOrDefault();
                    ingredientes[j].quantidade = passoIngredientes[j].quantidade;
                }
                p.ingredientes      = ingredientes;
                p.passosIngrediente = passoIngredientes;
                p.Acao    = a;
                passos[i] = p;
            }

            return(passos);
        }
Ejemplo n.º 5
0
        public Passo Iniciar()
        {
            //iniciar 
            Passo Inicio = new Passo { Id = Guid.NewGuid(), Nome = "Inicio", Pergunta = "Vamos Malhar, {{usuario}}?" };

            //escolher modulo
            Passo EscolherModulo = new Passo { Id = Guid.NewGuid(), Nome = "EscolherModulo", Pergunta = "Legal, que tipo de treino você quer?" };

            //passo finalizar
            Passo Final = new Passo { Id = Guid.NewGuid(), Nome = "Fim", Pergunta = "Ok preguiçoso!!" };

            //opcoes iniciar
            Opcao Inicio1 = new Opcao { Id = Guid.NewGuid(), Nome = "Sim", Passo = Inicio, ProximoPasso = EscolherModulo };
            Opcao Inicio2 = new Opcao { Id = Guid.NewGuid(), Nome = "Não", Passo = Inicio, ProximoPasso = Final };
            Inicio.Opcoes.Add(Inicio1);
            Inicio.Opcoes.Add(Inicio2);


            //opcoes escolher modulo
            Opcao EscolherModulo1 = new Opcao { Id = Guid.NewGuid(), Nome = "Frango", Passo = EscolherModulo, ProximoPasso = IniciarTreino("Frango") };
            Opcao EscolherModulo2 = new Opcao { Id = Guid.NewGuid(), Nome = "Moderado", Passo = EscolherModulo, ProximoPasso = IniciarTreino("Moderado") };
            Opcao EscolherModulo3 = new Opcao { Id = Guid.NewGuid(), Nome = "Monstro", Passo = EscolherModulo, ProximoPasso = IniciarTreino("Monstro") };
            EscolherModulo.Opcoes.Add(EscolherModulo1);
            EscolherModulo.Opcoes.Add(EscolherModulo2);
            EscolherModulo.Opcoes.Add(EscolherModulo3);

            return Inicio;
        }
Ejemplo n.º 6
0
        public Passo FindById(int idP)
        {
            Passo obj = new Passo();

            using (SqlCommand command = _connection.Fetch().CreateCommand())
            {
                command.CommandType = System.Data.CommandType.Text;
                command.CommandText = "Select id, descricao " + "From Passo " + "Where id = @idP";

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

                using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                {
                    DataTable tab = new DataTable();
                    adapter.Fill(tab);

                    foreach (DataRow row in tab.Rows)
                    {
                        obj = new Passo
                        {
                            Id        = (int)row["id"],
                            Descricao = row["descricao"].ToString()
                        };
                    }
                }
            }

            return(obj);
        }
Ejemplo n.º 7
0
    public static Passo busca(Passo inicio, int largura)
    {
        Queue <Passo> grafoBusca = new Queue <Passo>();
        Queue <Passo> visitados  = new Queue <Passo>();

        grafoBusca.Clear();

        grafoBusca.Enqueue(inicio);

        while (grafoBusca.Count > 0)
        {
            Passo         atual   = grafoBusca.Dequeue();
            Queue <Passo> retorno = getSucessores(atual, largura);
            while (retorno.Count > 0)
            {
                Passo novo = retorno.Dequeue();

                if (!visitados.Contains(novo))
                {
                    visitados.Enqueue(novo);
                    grafoBusca.Enqueue(novo);
                    criaEfeito(novo);
                }
            }
        }
        return(null);
    }
Ejemplo n.º 8
0
        protected string GetValidationError(string propertyName)
        {
            if (Array.IndexOf(ValidatedProperties, propertyName) < 0)
            {
                return(null);
            }

            string error = null;

            switch (propertyName)
            {
            case "Passo":
            {
                error = InputCheck.MaggioreDiZero(Passo.ToString());
            }
            break;


            default:
                Debug.Fail("Unexpected property : " + propertyName);
                break;
            }

            return(error);
        }
Ejemplo n.º 9
0
    public static bool buscaOrientada(Passo inicio, Passo fim, int largura, bool recuar = false)
    {
        Queue <Passo> grafoBusca = new Queue <Passo>();
        Queue <Passo> visitados  = new Queue <Passo>();

        grafoBusca.Clear();

        grafoBusca.Enqueue(inicio);

        while (grafoBusca.Count > 0)
        {
            Passo         atual   = grafoBusca.Dequeue();
            Queue <Passo> retorno = getSucessores(atual, largura, false);

            while (retorno.Count > 0)
            {
                Passo novo = retorno.Dequeue();

                if ((novo.Equals(fim) && !recuar) || (!novo.Equals(fim) && recuar))
                {
                    return(true);
                }

                if (!visitados.Contains(novo))
                {
                    visitados.Enqueue(novo);
                    grafoBusca.Enqueue(novo);
                }
            }
        }
        return(false);
    }
Ejemplo n.º 10
0
        public Collection <Passo> FindAll()
        {
            Collection <Passo> resultado = new Collection <Passo>();

            using (SqlCommand command = _connection.Fetch().CreateCommand())
            {
                command.CommandType = System.Data.CommandType.Text;
                command.CommandText = "Select id, descricao From Passo";

                using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                {
                    DataTable tab = new DataTable();
                    adapter.Fill(tab);

                    foreach (DataRow row in tab.Rows)
                    {
                        Passo novo = new Passo
                        {
                            Id        = (int)row["id"],
                            Descricao = row["descricao"].ToString()
                        };
                        resultado.Add(novo);
                    }
                }
            }

            return(resultado);
        }
Ejemplo n.º 11
0
        public int Insert(Passo obj)
        {
            int id_passo = 1;

            using (SqlCommand command = _connection.Fetch().CreateCommand())
            {
                command.CommandType = System.Data.CommandType.Text;
                command.CommandText = "INSERT INTO Passo (descricao) VALUES(@descricao)";

                command.Parameters.Add("@descricao", SqlDbType.VarChar).Value = obj.Descricao;

                command.ExecuteNonQuery();

                command.CommandText = "SELECT * FROM Passo where id =(Select Max(id) from Passo)";

                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    string passo_id = reader["id"].ToString();
                    id_passo = Int32.Parse(passo_id);
                }
            }

            return(id_passo);
        }
Ejemplo n.º 12
0
        public Passo MudarPasso(Passo Atual, string Escolhida)
        {
            //colocar as condicoes
            var NovoPasso = Atual.Opcoes.FirstOrDefault(op => op.Nome == Escolhida);

            //senao encontar o passo retorna o anterior
            if (NovoPasso != null)
            {
                if (NovoPasso.ProximoPasso.Perguntas.Count > 0)
                {
                    NovoPasso.ProximoPasso.Pergunta = NovoPasso.ProximoPasso.Perguntas[0];
                    NovoPasso.ProximoPasso.Perguntas.RemoveAt(0);
                }
                else
                {
                    if (NovoPasso.Nome == "Próxima")
                    {
                        Passo Final = new Passo { Id = Guid.NewGuid(), Nome = "Fim", Pergunta = "Acabou o treino, até amanhã." };
                        NovoPasso.ProximoPasso = Final;
                    }
                }
                Atual = NovoPasso.ProximoPasso;
            }
            else
            {
                List<string> perguntas = new List<string>();

                Atual.Pergunta = "Não entendi, " + Atual.Pergunta.Replace("Não entendi, ", "");
                Atual = Atual;
            }


            return Atual;
        }
Ejemplo n.º 13
0
        public ActionResult DeleteConfirmed(int id)
        {
            Passo passo = db.Passo.Find(id);

            db.Passo.Remove(passo);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 14
0
    static void criaEfeito(Passo novo)
    {
        var efeito = Instantiate(prefab, new Vector3(novo.x, novo.y, 1), Quaternion.identity);

        efeito.transform.localScale = new Vector3(Controle.tamanhoCasas, Controle.tamanhoCasas);
        efeito.tag = "AreaDeSelecao";
        efeito.GetComponent <Casa>().dono = Controle.selecionado.id;
    }
Ejemplo n.º 15
0
        public Passo MudarPassoTreino(Passo Atual)
        {

            //muda o passo do treino ate acabar as atividades

            Atual.Perguntas.Remove(Atual.Perguntas[0]);
            Atual.Pergunta = Atual.Perguntas[0];
            return Atual;
        }
Ejemplo n.º 16
0
        public void Com5Passos()
        {
            var primeiroPasso = new Passo(1, "PassoA");
            var segundoPasso  = new Passo(2, "PassoB");
            var terceiroPasso = new Passo(3, "PassoC");
            var quartoPasso   = new Passo(4, "PassoD");
            var quintoPasso   = new Passo(5, "PassoE");

            //Passo1
            primeiroPasso.AdicionarProximoPasso(segundoPasso);
            //Passo2
            segundoPasso.AdicionarPassoAnterior(primeiroPasso);
            segundoPasso.AdicionarProximoPasso(terceiroPasso);
            //Passo3
            terceiroPasso.AdicionarPassoAnterior(segundoPasso);
            terceiroPasso.AdicionarProximoPasso(quartoPasso);
            //Passo4
            quartoPasso.AdicionarPassoAnterior(terceiroPasso);
            quartoPasso.AdicionarProximoPasso(quintoPasso);
            //Passo5
            quintoPasso.AdicionarPassoAnterior(terceiroPasso);

            var fluxo = new WorkFlow();

            fluxo.AdicionarPasso(new List <Passo> {
                primeiroPasso
            });
            fluxo.AdicionarPasso(new List <Passo> {
                segundoPasso
            });
            fluxo.AdicionarPasso(new List <Passo> {
                terceiroPasso
            });
            fluxo.AdicionarPasso(new List <Passo> {
                quartoPasso
            });
            fluxo.AdicionarPasso(new List <Passo> {
                quintoPasso
            });
            //Aprovar P1
            Assert.AreEqual(fluxo.PassoAtual.Descricao, primeiroPasso.Descricao);
            fluxo.AprovarPassoAtual(primeiroPasso);
            //Aprovar P2
            Assert.AreEqual(fluxo.PassoAtual.Descricao, segundoPasso.Descricao);
            fluxo.AprovarPassoAtual(segundoPasso);
            //Aprovar P3
            Assert.AreEqual(fluxo.PassoAtual.Descricao, terceiroPasso.Descricao);
            fluxo.AprovarPassoAtual(terceiroPasso);
            //Aprovar P4
            Assert.AreEqual(fluxo.PassoAtual.Descricao, quartoPasso.Descricao);
            fluxo.AprovarPassoAtual(quartoPasso);
            //Aprovar P5
            Assert.AreEqual(fluxo.PassoAtual.Descricao, quintoPasso.Descricao);
            fluxo.AprovarPassoAtual(quintoPasso);
            Assert.IsTrue(fluxo.Concluido);
        }
Ejemplo n.º 17
0
 public ActionResult Edit([Bind(Include = "ID_Passo,Descricao,Video")] Passo passo)
 {
     if (ModelState.IsValid)
     {
         db.Entry(passo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(passo));
 }
 public double getTempoReceita(List<int> idpassos)
 {
     double res = 0;
     foreach (int idp in idpassos)
     {
         Passo p = passoHandling.selectPasso(idp);
         res += p.TempoParcial;
     }
     return res;
 }
Ejemplo n.º 19
0
        public ActionResult Create([Bind(Include = "ID_Passo,Descricao,Video")] Passo passo)
        {
            if (ModelState.IsValid)
            {
                db.Passo.Add(passo);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(passo));
        }
Ejemplo n.º 20
0
        public IActionResult ShowPasso(int id_receita, int nr_passo)
        {
            Passo passo = execucao.getDetalhesPasso(id_receita, nr_passo);

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


            return(View(passo));
        }
Ejemplo n.º 21
0
        public int registarPasso(Passo p, int idReceita, int numero)
        {
            _contextPasso.passo.Add(p);
            _contextPasso.SaveChanges();
            ReceitaPasso rp = new ReceitaPasso();

            rp.id_receita = idReceita;
            rp.id_passo   = p.id_passo;
            rp.numero     = numero;
            _contextRP.receitaPasso.Add(rp);
            _contextRP.SaveChanges();
            return(p.id_passo);
        }
Ejemplo n.º 22
0
 public void SetUp()
 {
     passoA = new Passo(1, "PassoA");
     passoB = new Passo(2, "PassoB");
     passoC = new Passo(3, "PassoC");
     passoD = new Passo(4, "PassoD");
     passoE = new Passo(5, "PassoE");
     passoF = new Passo(6, "PassoF");
     passoG = new Passo(7, "PassoG");
     passoH = new Passo(8, "PassoH");
     passoI = new Passo(9, "PassoI");
     passoJ = new Passo(10, "PassoJ");
 }
Ejemplo n.º 23
0
    public Passo busca()
    {
        FilaDePrioridades <Passo> grafoBusca = new FilaDePrioridades <Passo>();
        Dictionary <Passo, int>   visitados  = new Dictionary <Passo, int>();

        grafoBusca.limpa();

        Passo inicio = new Passo((int)posIni.x, (int)posIni.y, 0, null);
        Passo fim    = new Passo((int)posFim.x, (int)posFim.y, 0, null);

        grafoBusca.Add(inicio, 0);

        int nosVisitados = 0;

        while (grafoBusca.contemNos() && nosVisitados < maxBusca)
        {
            nosVisitados++;
            Passo atual = grafoBusca.get();

            if (atual.Equals(fim))
            {
                //Debug.Log("Caminho encontrado, último ponto: " + atual + " / Nós visitados: " + nosVisitados);
                return(atual);
            }

            Queue <Passo> retorno = getSucessores(atual);

            while (retorno.Count > 0)
            {
                Passo novo      = retorno.Dequeue();
                int   pesoTotal = novo.peso + Heuristica(novo, fim);

                if (!visitados.ContainsKey(novo))
                {
                    visitados[novo] = pesoTotal;
                    grafoBusca.Add(novo, pesoTotal);
                }
                else
                {
                    if (visitados[novo] > pesoTotal)
                    {
                        visitados[novo] = pesoTotal;
                        grafoBusca.Add(novo, pesoTotal);
                    }
                }
            }
        }

        Debug.Log("Não há uma rota para a posição: " + fim + " / Nós visitados: " + nosVisitados);
        return(null);
    }
Ejemplo n.º 24
0
        // GET: Passos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Passo passo = db.Passo.Find(id);

            if (passo == null)
            {
                return(HttpNotFound());
            }
            return(View(passo));
        }
Ejemplo n.º 25
0
 public void Anterior()
 {
     if (CurrentView != "InicioConfiguracao")
     {
         CurrentView = GetPreviewiousView();
         //EventAggregator.Publish(new AppMessage((AppMessageType)Enum.Parse(typeof(AppMessageType), CurrentView)));
         //EventAggregationProvider.Aggregator.Publish<AppMessage>(new AppMessage((AppMessageType)Enum.Parse(typeof(AppMessageType), CurrentView)));
         EventAggregationProvider.Aggregator.Publish(
             new AppMessage((AppMessageType)Enum.Parse(typeof(AppMessageType), CurrentView)));
         Passo    -= 1;
         Progresso = "Passo: " + Passo.ToString(CultureInfo.InvariantCulture) + " de 4";
     }
     //ActivateItem(Items.SingleOrDefault(p => p.DisplayName == CurrentView));
 }
Ejemplo n.º 26
0
    public Stack <Passo> getCaminho()
    {
        Stack <Passo> pilha = new Stack <Passo>();
        Passo         atual = busca();

        //Inverte o caminho
        while (atual != null)
        {
            pilha.Push(atual);
            atual = atual.anterior;
        }

        return(pilha);
    }
Ejemplo n.º 27
0
 public ActionResult UpdatePassoReceita([FromForm] Passo p)
 {
     try
     {
         _context.Passo.Update(p);
         _context.SaveChanges();
         return(Redirect("/Home/Editor/" + p.Receitaid + "?passo=" + p.Numero));
     }
     catch (Exception e)
     {
         System.Diagnostics.Debug.Print(e.ToString());
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }
Ejemplo n.º 28
0
        /// <summary>
        /// Método que retorna toda a informação sobre um passo, sabendo a que receita pertence e qual o seu número
        /// </summary>
        /// <param name="id_receita">ID da receita</param>
        /// <param name="nr_passo">Número do passo</param>
        /// <returns>Pass completo</returns>
        public Passo getDetalhesPasso(int id_receita, int nr_passo)
        {
            Passo passo = _context_p.Passo.Where(p => (p.receita_id == id_receita) && (p.nr == nr_passo)).ToArray()[0];

            passo.ingredientes = getIngredientes(passo.id_passo);
            passo.operacao     = _context_p.Operacao.Find(passo.operacao_id);

            if (passo.sub_receita_id != null)
            {
                passo.sub_receita = _context_r.Receita.Find(passo.sub_receita_id);
            }

            return(passo);
        }
Ejemplo n.º 29
0
        public void Seguinte()
        {
            //if (CurrentView == "FimConfiguracao") return;
            CurrentView = GetNextView();
            //ActivateItem(Items.SingleOrDefault(p => p.DisplayName == CurrentView));
            //EventAggregator.Publish(new AppMessage((AppMessageType)Enum.Parse(typeof(AppMessageType), CurrentView)));
            //EventAggregationProvider.Aggregator.Publish<AppMessage>(new AppMessage((AppMessageType)Enum.Parse(typeof(AppMessageType), CurrentView)));
            EventAggregationProvider.Aggregator.Publish(
                new AppMessage((AppMessageType)Enum.Parse(typeof(AppMessageType), CurrentView)));

            if ((CurrentView != "InicioConfiguracao") && (CurrentView != "ListaTerminais"))
            {
                Passo    += 1;
                Progresso = "Passo: " + Passo.ToString(CultureInfo.InvariantCulture) + " de 4";
            }
        }
Ejemplo n.º 30
0
    Queue <Passo> getSucessores(Passo pos)
    {
        Queue <Passo> retorno = new Queue <Passo>();

        int[] aux = { 1, -1, 0, 0 };
        int   x   = pos.x;
        int   y   = pos.y;

        for (int i = 0; i < 4; i++)
        {
            if (!verificaColisaoLinha(new Vector2(x, y), new Vector2(x + tamPasso * aux[i], y + tamPasso * aux[(i + 2) % 4])))
            {
                retorno.Enqueue(new Passo(x + tamPasso * aux[i], y + tamPasso * aux[(i + 2) % 4], pos.peso + 1, pos));
            }
        }

        return(retorno);
    }