コード例 #1
0
        public List <Empleados> obtenerFiltrado(ItemFiltro[] itemFiltro,
                                                ItemOrden[] orden, bool busquedaAnd, double inicio, double fin, out double totalRegistros, bool solo_activos)
        {
            List <Empleados> ret = new List <Empleados>();

            UltimoMensaje = null;
            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand comando = new MySqlCommand();

            comando.Connection  = conexion;
            comando.Transaction = Database.obtenerTransaccion();

            totalRegistros = 0;
            int parameterCount = 0;

            string where = "";
            if (solo_activos)
            {
                where = "";
            }
            string tipoBusqueda = " AND ";

            if (!busquedaAnd)
            {
                tipoBusqueda = " OR  ";
            }


            Varios.armarConsultaFiltros(itemFiltro, comando, ref parameterCount, ref where, tipoBusqueda);

            string cadenaOrden = "";

            comando.CommandText = "SELECT count(*) FROM empleados " + where;
            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                double.TryParse(comando.ExecuteScalar().ToString(), out totalRegistros);

                if (inicio < 0)
                {
                    inicio = 0;
                }

                if (inicio > totalRegistros)
                {
                    inicio = totalRegistros - 1;
                }


                if (fin > totalRegistros || fin == -1)
                {
                    fin = totalRegistros;
                }

                if (inicio < 1)
                {
                    inicio = 1;
                }

                if (fin < 1)
                {
                    fin = 1;
                }

                cadenaOrden = Varios.armarCadenaOrden(orden, cadenaOrden, "apellido");

                //TODO: Hacer Paginacion

                double rowcount = fin - (inicio - 1);

                comando.CommandText = "  SELECT *   FROM empleados " + where + " "
                                      + cadenaOrden
                                      + " LIMIT " + (inicio - 1) + ", " + rowcount;

                MySqlDataReader dr = comando.ExecuteReader();

                while (dr.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);

                    cargarDatos(bar, dr);

                    ret.Add(bar);
                }

                dr.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                comando.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
コード例 #2
0
        public List <Empleados> Obtener_miembros_grupos(string grupo, bool solos_activos)
        {
            string where = "";

            if (solos_activos)
            {
                where = " and f_baja is null";
            }

            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados where grupo=@grupo " + where + " order by apellido";
            cmd.Parameters.AddWithValue("@grupo", grupo);

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);
                    cargarDatos(bar, reader);

                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
コード例 #3
0
        public List <Empleados> Obtener_lista_adelantos(bool percibe_adelanto, string filtro = "")
        {
            string where = "";
            if (filtro != "")
            {
                where = " and (apellido like @filtro or nombre like @filtro) ";
            }

            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados where percibe_adelantos like @percibe_adelanto " + where + " order by apellido and f_baja IS NULL";
            cmd.Parameters.AddWithValue("@percibe_adelanto", "%" + percibe_adelanto + "%");
            cmd.Parameters.AddWithValue("@filtro", "%" + filtro + "%");
            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);
                    cargarDatos(bar, reader);
                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }
コード例 #4
0
        public List <Empleados> Obtener_lista(bool en_grupo, string Estado = "TODOS")
        {
            string where = "";

            if (Estado == "ACTIVO" || Estado == "ACTIVOS")
            {
                where = " where (f_baja IS NULL or f_baja = '')";
            }
            if (Estado == "BAJA")
            {
                where = " where (f_baja IS NOT NULL or f_baja <> '')";
            }

            if (where != "")
            {
                where += " AND ";
            }
            else
            {
                where += " WHERE ";
            }

            if (en_grupo)
            {
                where += " (grupo <>'' and grupo IS NOT NULL) ";
            }
            else
            {
                where += " (grupo='' or grupo IS NULL) ";
            }


            List <Empleados> ret = new List <Empleados>();

            MySqlConnection conexion = Database.obtenerConexion(true);

            MySqlCommand cmd = new MySqlCommand();

            cmd.Connection  = conexion;
            cmd.Transaction = Database.obtenerTransaccion();
            cmd.CommandText = "select * from empleados " + where + " order by apellido";

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados bar = new Empleados();
                    bar.Subscribe(this);
                    cargarDatos(bar, reader);

                    ret.Add(bar);
                }

                reader.Close();
            }
            catch (Exception ex)
            {
                UltimoMensaje = GestionErrores.obtenerError(ex);
                UltimoMensaje.cargar(
                    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(),
                    System.Reflection.MethodBase.GetCurrentMethod().ToString(),
                    new System.Diagnostics.StackFrame(0, true).GetFileLineNumber());
                UltimoMensaje.EsError = true;
                Notify(UltimoMensaje);
            }
            finally
            {
                cmd.Parameters.Clear();
                if (Database.obtenerTransaccion() == null)
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }

            return(ret);
        }