public List <VariavelCalculoVariavel> ListarCalculo(VariavelCalculoVariavel entidade) { return(_variavelCalculoVariavel.ListarCalculo(entidade)); }
public VariavelCalculoVariavel Listar(VariavelCalculoVariavel entidade) { return(_variavelCalculoVariavel.Listar(entidade)); }
public void Remover(VariavelCalculoVariavel entidade) { _variavelCalculoVariavel.Remover(entidade); }
public void Novo(VariavelCalculoVariavel entidade) { _variavelCalculoVariavel.Novo(entidade); }
protected void AdicionarItem_Click(object sender, EventArgs e) { VariavelCalculoVariavel dadosCalculoVariavel = new VariavelCalculoVariavel(); if (HttpContext.Current.Session["CalculoVariavel"] == null) { HttpContext.Current.Session["CalculoVariavel"] = new List <VariavelCalculoVariavel>(); } int ordem = 0; ordem = Convert.ToInt32(txtOrdem.Text); ordem++; txtOrdem.Text = ordem.ToString(); ddlVariavelSelecionada.Items[ddlVariavelSelecionada.SelectedIndex].Value = ddlVariavelSelecionada.SelectedValue.Replace("/u", ""); if (ddlOperador.SelectedIndex != 0) { ((List <VariavelCalculoVariavel>)HttpContext.Current.Session["CalculoVariavel"]).Add(new VariavelCalculoVariavel() { Variavel = new Variavel() { IDVariavel = Convert.ToInt32(ddlVariavelSelecionada.SelectedValue) }, TipoOperadorCalculo = new TipoOperadorCalculo() { IDTipoOperadorCalculo = Convert.ToInt32(ddlOperador.SelectedValue) }, OrdemOperacao = ordem, AbreParentese = ckbAbrePar.Checked, FechaParentese = ckbFechaPar.Checked }); } else { dadosCalculoVariavel.Variavel = new Variavel() { IDVariavel = Convert.ToInt32(ddlVariavelSelecionada.SelectedValue) }; if (!string.IsNullOrEmpty(ddlOperador.SelectedValue)) { dadosCalculoVariavel.TipoOperadorCalculo = new TipoOperadorCalculo() { IDTipoOperadorCalculo = Convert.ToInt32(ddlOperador.SelectedValue) }; } else { dadosCalculoVariavel.TipoOperadorCalculo = new TipoOperadorCalculo(); } dadosCalculoVariavel.OrdemOperacao = ordem; dadosCalculoVariavel.AbreParentese = ckbAbrePar.Checked; dadosCalculoVariavel.FechaParentese = ckbFechaPar.Checked; ((List <VariavelCalculoVariavel>)HttpContext.Current.Session["CalculoVariavel"]).Add(dadosCalculoVariavel); } if (ckbAbrePar.Checked == true) { txtCalculoFinal.Text += "("; } txtCalculoFinal.Text += string.Concat(ddlOperador.SelectedItem.Text, ddlVariavelSelecionada.SelectedItem.Text); if (ckbFechaPar.Checked == true) { txtCalculoFinal.Text += ")"; } ddlVariavelSelecionada.Items[ddlVariavelSelecionada.SelectedIndex].Value += "/u"; ckbAbrePar.Checked = false; ckbFechaPar.Checked = false; ddlOperador.SelectedIndex = 0; ddlVariavelSelecionada.SelectedIndex = 0; uppCalculo.Update(); }
/// <summary> /// Metodo testa o valor da variavel a fim de enquadrar em um critério /// </summary> /// <param name="entidadeFilha"></param> /// <param name="entidade"></param> /// <returns></returns> public Criterio CalculaVariavel(List <Variavel> entidadeFilha, Variavel entidade) { Criterio dadosCriterio = new Criterio(); List <Criterio> dadosCriterioLista = new List <Criterio>(); CalculoVariavel dadosCalculoVariavel = new CalculoVariavel(); VariavelCalculoVariavel dadosVariavelCalculo = new VariavelCalculoVariavel(); VariavelCalculoVariavelBLL oVariavelCalculo = new VariavelCalculoVariavelBLL(); CriterioBLL oCriterio = new CriterioBLL(); dadosCriterio.Variavel = entidade; dadosCalculoVariavel.Variavel = entidade; //retorna todos os valores e operadores para uma expressão dadosCalculoVariavel.VariavelCalculoVariavel = oVariavelCalculo.ListarCalculo(dadosVariavelCalculo); //Concatena todos os valores e operadores da expressão for (int i = 0; i < dadosCalculoVariavel.VariavelCalculoVariavel.Count; i++) { entidade.Expressão += dadosCalculoVariavel.VariavelCalculoVariavel[i].TipoOperadorCalculo.Simbolo; entidade.Expressão += dadosCalculoVariavel.VariavelCalculoVariavel[i].Variavel.Criterio.Valor.ToString(); } //Retorna o valor da expressão calculada entidade.Criterio.Valor = Convert.ToInt32(Eval(entidade.Expressão)); //lista todas os Criterios para a variavel dadosCriterioLista = oCriterio.ListarVariavelLista(dadosCriterio); //Testa todas os critérios variaveis até encontrar o correto for (int j = 0; j < dadosCriterioLista.Count; j++) { //Menor ou igual ao valor do critério atual (Até) if (dadosCriterioLista[j].TipoCriterioVariavel.IDTipoCriterioVariavel == 1 && entidade.Criterio.Valor <= dadosCriterioLista[j].CriterioVariavel.Valor1) { entidade.Criterio.IDCriterio = dadosCriterioLista[j].CriterioVariavel.Criterio.IDCriterio; break; } //Entre os valores do Critério atual (Entre) else if (dadosCriterioLista[j].TipoCriterioVariavel.IDTipoCriterioVariavel == 2 && entidade.Criterio.Valor >= dadosCriterioLista[j].CriterioVariavel.Valor1 && entidade.Criterio.Valor <= dadosCriterioLista[j].CriterioVariavel.Valor2) { entidade.Criterio.IDCriterio = dadosCriterioLista[j].CriterioVariavel.Criterio.IDCriterio; break; } //Menor que o valor do critério atual (Maior que) else if (dadosCriterioLista[j].TipoCriterioVariavel.IDTipoCriterioVariavel == 3 && entidade.Criterio.Valor > dadosCriterioLista[j].CriterioVariavel.Valor1) { entidade.Criterio.IDCriterio = dadosCriterioLista[j].CriterioVariavel.Criterio.IDCriterio; break; } //Igual ao valor do critério atual (Igual) else if (dadosCriterioLista[j].TipoCriterioVariavel.IDTipoCriterioVariavel == 4 && entidade.Criterio.Valor == dadosCriterioLista[j].CriterioVariavel.Valor1) { entidade.Criterio.IDCriterio = dadosCriterioLista[j].CriterioVariavel.Criterio.IDCriterio; break; } //Menor que o valor do criterio atual (Manor que) else if (dadosCriterioLista[j].TipoCriterioVariavel.IDTipoCriterioVariavel == 5 && entidade.Criterio.Valor < dadosCriterioLista[j].CriterioVariavel.Valor1) { entidade.Criterio.IDCriterio = dadosCriterioLista[j].CriterioVariavel.Criterio.IDCriterio; break; } } return(dadosCriterio); }