コード例 #1
0
        } // Unsubscribe

        #endregion

        public DataTable ObtenerDataTable(DateTime desde, DateTime hasta, string tabla, List <string> ids)
        {
            List <Tareas> lista_tareas = crear_tmp_list2(desde, hasta, ids);
            DataTable     retorno      = Varios.ConvertToDataTable(lista_tareas);

            return(retorno);
        }
コード例 #2
0
        public DataTable ObtenerDataTable_Grupos(DateTime desde, DateTime hasta)
        {
            List <Tareas> lista_tareas = crear_tmp_list_grupos(desde, hasta);
            DataTable     retorno      = Varios.ConvertToDataTable(lista_tareas);

            return(retorno);
        }
コード例 #3
0
ファイル: Gastos.cs プロジェクト: francomarostica/SGECA
        public DataTable ObtenerDataTable(string desde, string hasta)
        {
            List <Gastos> lista_gastos = crear_lista_gastos(desde, hasta);
            DataTable     retorno      = Varios.ConvertToDataTable(lista_gastos);

            return(retorno);
        }
コード例 #4
0
        public DataTable ObtenerDataTable(DateTime desde, DateTime hasta, string tabla, List <DAL.Empleados> ids)
        {
            List <Adelantos> lista_adelantos = crear_tmp_list(desde, hasta, ids);
            DataTable        retorno         = Varios.ConvertToDataTable(lista_adelantos);

            return(retorno);
        }
コード例 #5
0
        public DataTable ObtenerDataTable(string desde, string hasta, List <string> ids)
        {
            List <Empleados_Gastos> lista_gastos = crear_lista_gastos(desde, hasta, ids);
            DataTable retorno = Varios.ConvertToDataTable(lista_gastos);

            return(retorno);
        }
コード例 #6
0
        public DataTable ObtenerDataTable(string tabla, string estado)
        {
            Empleados        emp             = new Empleados();
            List <Empleados> lista_empleados = emp.Obtener_lista(estado);
            DataTable        retorno         = Varios.ConvertToDataTable(lista_empleados);

            return(retorno);
        }
コード例 #7
0
        /// <summary>
        /// Método encargado de conectarse con la BD para obtener los registros filtrados.
        /// </summary>
        /// <param name="itemFiltro">Items que van a utilizarse para generar la consulta (WHERE)</param>
        /// <param name="orden">Items que van a utilizarse para generar el orden (ORDER BY)</param>
        /// <param name="busquedaAnd">Indica si los terminos se conectan con AND o OR (true = AND)</param>
        /// <param name="inicio">Primer registro a mostrar</param>
        /// <param name="fin">Último registro a mostrar, o -1 para traer todos</param>
        /// <param name="totalRegistros">Total de registros que contiene el total de la consulta</param>
        /// <returns>Lista de los registros involucrados</returns>
        ///
        /// <summary>
        public List <Roles> obtenerFiltrado(ItemFiltro[] itemFiltro,
                                            ItemOrden[] orden, bool busquedaAnd, double inicio, double fin, out double totalRegistros)
        {
            List <Roles> ret = new List <Roles>();

            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 = "";
            string tipoBusqueda = " AND ";

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


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


            string cadenaOrden = "";

            comando.CommandText = "SELECT count(*) FROM roles " + 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, "rol_id");

                //TODO: Hacer Paginacion

                double rowcount = fin - (inicio - 1);

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



                MySqlDataReader dr = comando.ExecuteReader();


                while (dr.Read())
                {
                    Roles bar = new Roles();
                    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);
        }
コード例 #8
0
        public List <Tareas> obtenerFiltrado(ItemFiltro[] itemFiltro,
                                             ItemOrden[] orden, bool busquedaAnd, double inicio, double fin, out double totalRegistros)
        {
            List <Tareas> ret = new List <Tareas>();

            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 = "";
            string tipoBusqueda = " AND ";

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


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

            string cadenaOrden = "";

            comando.CommandText = @"SELECT count(*) FROM (SELECT empleados_tareas.*, CONCAT(e1.apellido,', ',e1.nombre) as empleado, e1.fecha_cierre, sitios.Nombre as sitio, 
                    CONCAT(e2.apellido,', ',e2.nombre) as asignado, tareas_estados.tarea_estado_nombre as estado 
                    FROM empleados_tareas 
                    LEFT JOIN empleados e1 on empleadoId = e1.id
                    LEFT JOIN empleados e2 on asignado_por = e2.id
                    LEFT JOIN tareas_estados on empleados_tareas.tarea_estado_id = tareas_estados.tarea_estado_codigo 
                    LEFT JOIN sitios on sitio_id=sitios.CellID) as base " + 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, "fecha_inicio");

                //TODO: Hacer Paginacion

                double rowcount = fin - (inicio - 1);

                comando.CommandText = @"SELECT * FROM (SELECT empleados_tareas.*, CONCAT(e1.apellido,', ',e1.nombre) as empleado, e1.fecha_cierre, sitios.Nombre as sitio, 
                    CONCAT(e2.apellido,', ',e2.nombre) as asignado, tareas_estados.tarea_estado_nombre as estado 
                    FROM empleados_tareas 
                    LEFT JOIN empleados e1 on empleadoId = e1.id 
                    LEFT JOIN empleados e2 on asignado_por = e2.id 
                    LEFT JOIN tareas_estados on empleados_tareas.tarea_estado_id = tareas_estados.tarea_estado_codigo 
                    LEFT JOIN sitios on sitio_id=sitios.CellID) as base " + where + " "
                                      + cadenaOrden
                                      + " LIMIT " + (inicio - 1) + ", " + rowcount;

                MySqlDataReader dr = comando.ExecuteReader();

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

                    cargarDatos(bar, dr);

                    if (bar.Fecha_cierre != "")
                    {
                        if (Convert.ToDateTime(bar.FechaInicio) >= Convert.ToDateTime(bar.Fecha_cierre))
                        {
                            ret.Add(bar);
                        }
                    }
                    else
                    {
                        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);
        }
コード例 #9
0
        public List <Empleados_Adelantos> obtenerFiltrado(ItemFiltro[] itemFiltro,
                                                          ItemOrden[] orden, bool busquedaAnd, double inicio, double fin, out double totalRegistros)
        {
            List <Empleados_Adelantos> ret = new List <Empleados_Adelantos>();

            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 = "";
            string tipoBusqueda = " AND ";

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

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

            string cadenaOrden = "";

            comando.CommandText = @"SELECT count(*) FROM (select base.*, concat(empleados.apellido, ', ', empleados.nombre) as asignado_por_empleado from (SELECT CONCAT(empleados.apellido, ', ', empleados.nombre) AS empleado, empleados_adelantos.* 
                FROM empleados_adelantos join empleados on empleados_adelantos.empleado_id=empleados.id) as base left join empleados on base.asignado_por = empleados.id) as base2  " + 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, "empleado_id");

                //TODO: Hacer Paginacion

                double rowcount = fin - (inicio - 1);

                comando.CommandText = "SELECT * from (select base.*, concat (empleados.apellido, ', ', empleados.nombre) as asignado_por_empleado " +
                                      "FROM (select empleados_adelantos.*, CONCAT(empleados.apellido, ', ', empleados.nombre) AS empleado, empleados.fecha_cierre from empleados_adelantos " +
                                      "JOIN empleados on empleados_adelantos.empleado_id=empleados.id) as base " +
                                      "LEFT JOIN empleados on base.asignado_por = empleados.id) as base2 " +
                                      where + " "
                                      + cadenaOrden + ""
                                      + " LIMIT " + (inicio - 1) + ", " + rowcount;
                comando.Parameters.AddWithValue("@fecha", DateTime.Now);

                MySqlDataReader dr = comando.ExecuteReader();

                while (dr.Read())
                {
                    Empleados_Adelantos bar = new Empleados_Adelantos();
                    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);
        }