예제 #1
0
        public List <Marca> search(string nombre)
        {
            QueryBuilder q = new QueryBuilder();

            q.select()
            .from("EL_GRUPO.marca")
            .filterIf(nombre.Length != 0, "nombre like '%{0}%' ", nombre);
            return(connection.query <Marca>(q.build(), q.getParams()));
        }
예제 #2
0
        public List <Categoria> search(int codigo, string nombre)
        {
            QueryBuilder q = new QueryBuilder();

            q.select()
            .from("EL_GRUPO.Categoria")
            .filterIf(codigo != 0, "id = {0}", codigo)
            .filterIf(nombre.Length != 0, "nombre like '%{1}%' ", nombre);
            return(connection.query <Categoria>(q.build(), q.getParams()));
        }
예제 #3
0
        public List <Factura> search(Cliente cliente, Sucursal sucursal)
        {
            QueryBuilder q = new QueryBuilder().select()
                             .from("EL_GRUPO.Factura as f JOIN EL_GRUPO.Empleado as e ON e.dni = f.empleado_dni")
                             .filterIf(cliente != null && cliente.dni != 0, " f.cliente_dni = {0}", cliente == null ? 0 : cliente.dni)
                             .filterIf(sucursal != null && sucursal.id != 0, " e.sucursal_id = {1}", sucursal == null ? 0 : sucursal.id)
                             .filter(" f.cuotas_pagas < f.cuotas");

            return(connection.query <Factura>(q.build(), q.getParams()));
        }
예제 #4
0
        public List <Usuario> search(string username, List <string> lista, Empleado empleado, bool activo)
        {
            QueryBuilder q = new QueryBuilder();

            q.select()
            .from("EL_GRUPO.usuario as u")
            .filterIf(username.Length != 0, "u.username like '%{0}%' ", username)
            .filterIf(empleado != null && empleado.dni != 0, "u.empleado_dni = {1} ", empleado != null ? empleado.dni : 0)
            .filter("u.activo = {2} ", activo ? 1 : 0);
            foreach (string rol in lista)
            {
                QueryBuilder q2 = new QueryBuilder();
                q2.select().from("[EL_GRUPO].UsuarioRol as ur");
                q2.filter("ur.usuario_id = u.id");
                q2.filter("ur.rol_id= " + rol);
                q.filter("exists (" + q2.build() + ")");
            }
            return(connection.query <Usuario>(q.build(), q.getParams()));
        }
예제 #5
0
 public List <Sucursal> load()
 {
     if (cache == null)
     {
         QueryBuilder q = new QueryBuilder();
         q.select().from("EL_GRUPO.Sucursal");
         cache = connection.query <Sucursal>(q.build(), q.getParams());
     }
     return(new List <Sucursal>(cache));
 }
예제 #6
0
        public List <Stock> search(Sucursal sucursal, Producto producto)
        {
            QueryBuilder q = new QueryBuilder();

            q.select()
            .from("EL_GRUPO.Stock")
            .filterIf(sucursal != null && sucursal.id != 0, "sucursal_id = {0} ", sucursal != null ? sucursal.id : 0)
            .filterIf(producto != null && producto.codigo != 0, "producto_codigo = {1} ", producto != null ? producto.codigo : 0);

            return(connection.query <Stock>(q.build(), q.getParams()));
        }
예제 #7
0
        public List <Rol> load()
        {
            QueryBuilder q = new QueryBuilder();

            q.select().from("EL_GRUPO.Rol");
            return(connection.query <Rol>(q.build(), q.getParams()));
        }
예제 #8
0
        public List <Cliente> search(string nombre, string apellido, int dni, Provincia provincia, bool activo)
        {
            QueryBuilder q = new QueryBuilder();

            q.select()
            .from("EL_GRUPO.Cliente")
            .filterIf(nombre != null && nombre.Length != 0, " nombre like '%{0}%'", nombre)
            .filterIf(apellido != null && apellido.Length != 0, " apellido like '%{1}%'", apellido)
            .filterIf(dni != 0, " dni = {2} ", dni)
            .filterIf(provincia != null && provincia.id != 0, " provincia_id = {3}", provincia != null ? provincia.id : 0)
            .filter("activo = {4} ", activo ? 1 : 0);

            if (!activo)
            {
                //de los inactivos, no traer los clientes que son empleados
                q.filter("dni not in (SELECT dni FROM EL_GRUPO.Empleado)");
            }

            return(connection.query <Cliente>(q.build(), q.getParams()));
        }
예제 #9
0
        public List <Producto> search(
            string codigo_producto,
            string nombre,
            int marca,
            int categoria,
            float precioDesde,
            float precioHasta,
            bool activo)
        {
            QueryBuilder q = new QueryBuilder();

            q.select()
            .from("EL_GRUPO.Producto")
            .filterIf(codigo_producto != null && codigo_producto.Length != 0, " codigo like '%{0}%'", codigo_producto)
            .filterIf(nombre != null && nombre.Length != 0, " nombre like '%{1}%'", nombre)
            .filterIf(marca != 0, " marca_id ={2}", marca)
            .filterIf(categoria != 0, " {3} in (select * from EL_GRUPO.categoria_id_collection(categoria_id))", categoria)
            .filterIf(precioDesde != 0, " precio >= {4}", precioDesde)
            .filterIf(precioHasta != 0, " precio <= {5}", precioHasta)
            .filter("activo = {6} ", activo ? 1 : 0);
            return(connection.query <Producto>(q.build(), q.getParams()));
        }
예제 #10
0
        public List <Empleado> search(string nombre, string apellido, int dni, Sucursal suc, TipoEmpleado tipoEmp, bool activo)
        {
            QueryBuilder q = buildQuerySearch(nombre, apellido, dni, suc, tipoEmp, activo);

            return(connection.query <Empleado>(q.build(), q.getParams()));
        }
예제 #11
0
        public void delete(Rol rol, Funcionalidad fun)
        {
            QueryBuilder q = new QueryBuilder();

            connection.query <RolFuncionalidad>(q.build(), q.getParams());
        }
예제 #12
0
 public List <ClientePremium> mejoresClientes(int sucursal_id, string anio)
 {
     return(connection.query <ClientePremium>(PREMIUM_MEJORES_CLIENTES, sucursal_id, anio));
 }