Ejemplo n.º 1
0
        public ActionResult Cabeca(int ID, VMRegra Modelo)
        {
            if (ModelState.IsValid)
            {
                Modelo.Regra = dbSE.Regras.Where(a => a.ID == ID).SingleOrDefault();
                Cabecario Cabecario = new Cabecario();
                Cabecario.NOT      = Modelo.Not;
                Cabecario.Operador = Modelo.Operador;
                Cabecario.Valor    = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Modelo.Valor);
                Cabecario.Variavel = dbSE.Variaveis.Where(o => o.Nome == Modelo.VarID).SingleOrDefault();
                dbSE.Cabecarios.Add(Cabecario);



                if (Modelo.Conjuncao)
                {
                    ListaE E = new ListaE();
                    E.Cabeca = Cabecario;
                    E.Pos    = Modelo.Regra.Conj.Count();
                    E.Regra  = Modelo.Regra;

                    dbSE.ListE.Add(E);
                    Modelo.Regra.E.Add(E);
                    dbSE.Regras.AddOrUpdate(Modelo.Regra);
                    dbSE.SaveChanges();
                    return(RedirectToAction("Cabeca/" + ID));
                }
                else
                {
                    ListaOU OU = new ListaOU();
                    OU.Cabeca = Cabecario;
                    OU.Pos    = Modelo.Regra.Conj.Count();
                    OU.Regra  = Modelo.Regra;

                    dbSE.ListOU.Add(OU);
                    Modelo.Regra.Ou.Add(OU);
                    dbSE.Regras.AddOrUpdate(Modelo.Regra);
                    dbSE.SaveChanges();
                    return(RedirectToAction("Cabeca/" + ID));
                }
            }

            Modelo.Regra      = dbSE.Regras.Where(a => a.ID == ID).SingleOrDefault();
            Modelo.Variaveis  = dbSE.Variaveis.Where(o => o.Base.Select(a => a.Base.ID).Contains(Modelo.BaseID)).Select(a => a.Nome).ToList();
            Modelo.Operadores = new List <string>
            {
                "=", "!=", "<", "<=", ">", ">="
            };


            return(View(Modelo));
            // return RedirectToAction("Cabeca/" + ID);
        }
Ejemplo n.º 2
0
    static void Main()
    {
        ListaE LST = new ListaE();

        LST.Insertar(90);
        LST.Insertar(12);
        LST.Insertar(24);

        LST.Mostrar();
        LST.Borrar(90);
        LST.Mostrar();
    }
Ejemplo n.º 3
0
        private void Montar(Regra Regra)
        {
            BancoDeDados db = new BancoDeDados();

            Regra = db.Regras.Where(a => a.ID == Regra.ID).SingleOrDefault();


            double confianca = 1;

            bool resultado = Cabecas.Select(a => a.Item1.ID).Contains(Regra.Se.ID);

            if (resultado)
            {
                confianca = Cabecas.Where(a => a.Item1.ID == Regra.Se.ID).SingleOrDefault().Item2;
            }

            int cont = Regra.E.Count + Regra.Ou.Count;

            if (cont == 0)
            {
                if (resultado)
                {
                    Aplicar(Regra, confianca);
                    return;
                }
                else
                {
                    return;
                }
            }
            ;


            for (int i = 1; i <= cont; i++)
            {
                try
                {
                    ListaE temp = Regra.E.Where(a => a.Pos == i).SingleOrDefault();
                    resultado = resultado && Cabecas.Select(a => a.Item1.ID).Contains(temp.Cabeca.ID);
                    if (resultado)
                    {
                        confianca *= Cabecas.Where(a => a.Item1.ID == temp.Cabeca.ID).SingleOrDefault().Item2;
                    }
                }
                catch (Exception)
                {
                }

                try
                {
                    ListaOU temp = Regra.Ou.Where(a => a.Pos == i).SingleOrDefault();
                    resultado = resultado || Cabecas.Select(a => a.Item1.ID).Contains(temp.Cabeca.ID);
                    double aux = Cabecas.Where(a => a.Item1.ID == temp.Cabeca.ID).SingleOrDefault().Item2;
                    if (resultado)
                    {
                        confianca = (confianca + aux) - (confianca * aux);
                    }
                }
                catch (Exception)
                {
                }
            }

            if (resultado)
            {
                Aplicar(Regra, confianca);
            }
        }
Ejemplo n.º 4
0
        public List <ListaE> GetListas(String SQL, Object[] parametros)
        {
            int           ntablas;
            Mensaje       mensaje;
            List <ListaE> result = new List <ListaE>();
            AccesoDatos   acceso = new AccesoDatos();
            ListaE        list;
            SqlDataReader sqldatareader = acceso.GetDataReader(out mensaje, parametros, "prListas");

            if (mensaje.Titulo != null)
            {
                result.Add(new ListaE()
                {
                    Mensaje = mensaje
                });
            }

            else
            {
                String[] tablas = ((SqlParameter)parametros[0]).Value.ToString().Split(',');


                ntablas = 0;
                // DataTable sqlda = acceso.Get(parametros, SQL);
                while (sqldatareader.HasRows)
                {
                    list = new ListaE()
                    {
                        Id = ntablas, Nombre = tablas[ntablas]
                    };
                    list.Listas = new List <ListaE>();
                    while (sqldatareader.Read())
                    {
                        if (sqldatareader.GetDataTypeName(0) == "bigint")
                        {
                            list.Listas.Add(new ListaE()
                            {
                                Id = sqldatareader.GetInt64(0), Nombre = sqldatareader.GetString(1)
                            });
                        }
                        else
                        {
                            list.Listas.Add(new ListaE()
                            {
                                IdString = sqldatareader.GetString(0), Nombre = sqldatareader.GetString(1)
                            });
                        }
                    }

                    result.Add(list);
                    ntablas = ntablas + 1;
                    sqldatareader.NextResult();
                }

                if (sqldatareader.IsClosed == false)
                {
                    sqldatareader.Close();
                }

                sqldatareader = null;

                acceso.Desconectar();
            }

            return(result);
        }