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); }
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); }
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)); }
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); }
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; }
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); }
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); }
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); }
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); }
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); }
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); }
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; }
public ActionResult DeleteConfirmed(int id) { Passo passo = db.Passo.Find(id); db.Passo.Remove(passo); db.SaveChanges(); return(RedirectToAction("Index")); }
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; }
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; }
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); }
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; }
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)); }
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)); }
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); }
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"); }
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); }
// 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)); }
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)); }
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); }
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)); } }
/// <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); }
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"; } }
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); }