コード例 #1
0
        protected void lkbSalvarCalculo_Click(object sender, EventArgs e)
        {
            CalculoVariavel dadosCalculoVariavel = new CalculoVariavel();
            List <VariavelCalculoVariavel> dadosVariavelCalculoVariavel = new List <VariavelCalculoVariavel>();
            CalculoVariavelBLL             oCalculoVariavel             = new CalculoVariavelBLL();
            VariavelCalculoVariavelBLL     oVariavelCalculoVariavel     = new VariavelCalculoVariavelBLL();

            for (int i = 0; i < ddlVariavelSelecionada.Items.Count; i++)
            {
                if (!ddlVariavelSelecionada.Items[i].Value.EndsWith("/u") && ddlVariavelSelecionada.Items[i].Value != string.Empty)
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('Todas as Variáveis abaixo de " + txtDescricao.Text + "\\n devem ser utilizadas no calculo');", true);
                    return;
                }
            }
            dadosCalculoVariavel.Usuario  = (Usuario)HttpContext.Current.Session["UsuarioLogado"];
            dadosCalculoVariavel.Variavel = new Variavel()
            {
                IDVariavel = Convert.ToInt32(txtIdVariavel.Text)
            };

            oCalculoVariavel.Novo(dadosCalculoVariavel);

            dadosVariavelCalculoVariavel = (List <VariavelCalculoVariavel>)HttpContext.Current.Session["CalculoVariavel"];

            for (int i = 0; i < dadosVariavelCalculoVariavel.Count; i++)
            {
                dadosVariavelCalculoVariavel[i].CalculoVariavel = dadosCalculoVariavel;
                oVariavelCalculoVariavel.Novo(dadosVariavelCalculoVariavel[i]);
            }

            Session.Remove("CalculoVariavel");
            mdlCalculo.Hide();
            txtOrdem.Text = string.Empty;
            LimpaCampos();
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 public CalculoVariavel Listar(CalculoVariavel entidade)
 {
     return(_calculoVariavel.Listar(entidade));
 }
コード例 #4
0
 public void Editar(CalculoVariavel entidade)
 {
     _calculoVariavel.Editar(entidade);
 }
コード例 #5
0
 public void Remover(CalculoVariavel entidade)
 {
     _calculoVariavel.Remover(entidade);
 }
コード例 #6
0
 public void Novo(CalculoVariavel entidade)
 {
     _calculoVariavel.Novo(entidade);
 }