예제 #1
0
        public List <EmpleadosGrupos> obtener(string codigo = "")
        {
            string where = "";
            if (codigo != "")
            {
                where += " where id=@codigo ";
            }

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

            UltimoMensaje = null;
            DAL.Database    db       = new Database();
            MySqlConnection conexion = Database.obtenerConexion(true);
            MySqlCommand    cmd      = new MySqlCommand();

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

            try
            {
                if (Database.obtenerTransaccion() == null)
                {
                    conexion.Open();
                }
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    EmpleadosGrupos bar = new EmpleadosGrupos();
                    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);
        }
예제 #2
0
        private List <Tareas> crear_tmp_list_grupos(DateTime desde, DateTime hasta)
        {
            TimeSpan ts   = hasta - desde;
            int      dias = ts.Days;

            EmpleadosGrupos        grupos       = new EmpleadosGrupos();
            List <EmpleadosGrupos> lista_grupos = grupos.obtener();
            int registros_grupos = grupos.contar_registros();

            Empleados empleados = new Empleados();

            List <Tareas> lista_tareas = new List <Tareas>();
            List <string> ids          = new List <string>();

            foreach (EmpleadosGrupos item in lista_grupos)
            {
                List <Empleados> lista_empleados = new List <Empleados>();
                lista_empleados = item.obtener_miembros(item.Id);
                foreach (Empleados item_emp in lista_empleados)
                {
                    ids.Add(item_emp.Id.ToString());
                }
            }

            try
            {
                for (int i = 0; i <= dias; i++)
                {
                    DateTime fecha = desde.AddDays(i);

                    List <Tareas> lista_tareas_tmp = obtener_registro_por_fecha(fecha, ids);

                    foreach (string item in ids)
                    {
                        Tareas tarea = new Tareas();
                        tarea.tmp_fecha             = fecha.ToShortDateString();
                        tarea.Empleado              = empleados.obtener_nombre(item);
                        tarea.Empleado_grupo        = empleados.obtener_grupo(item);
                        tarea.Empleado_grupo_nombre = empleados.obtener_grupo_nombre(tarea.Empleado_grupo);

                        foreach (Tareas lista_item in lista_tareas_tmp)
                        {
                            if (item == lista_item.Emp_id)
                            {
                                tarea.Sitio                 = lista_item.Sitio;
                                tarea.Sitio_id              = lista_item.Sitio_id;
                                tarea.Viatico               = lista_item.Viatico;
                                tarea.Trabajado             = lista_item.Trabajado;
                                tarea.Asignado_por          = lista_item.Asignado_por;
                                tarea.Asignado_por_empleado = lista_item.Asignado_por_empleado;
                                tarea.Observaciones         = lista_item.Observaciones;
                                tarea.Estado                = lista_item.Estado;
                            }
                        }
                        if (tarea.Trabajado != "SI")
                        {
                            Trabajado   = "NO";
                            tarea.Sitio = "NO TRABAJO";
                        }
                        tarea.tmp_adelantos = 0;
                        lista_tareas.Add(tarea);
                    }
                }
            }
            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;
                UltimoMensaje.StackTrace = ex.StackTrace;
                Notify(UltimoMensaje);
            }

            return(lista_tareas);
        }
예제 #3
0
 private static void cargarDatos(EmpleadosGrupos objeto, MySqlDataReader dr)
 {
     objeto.Id     = dr["id"].ToString();
     objeto.Nombre = dr["nombre"].ToString();
     objeto.lider  = dr["lider"].ToString();
 }
예제 #4
0
        public List <EmpleadosGrupos> obtenerFiltrado(ItemFiltro[] itemFiltro,
                                                      ItemOrden[] orden, bool busquedaAnd, double inicio, double fin, out double totalRegistros)
        {
            List <EmpleadosGrupos> ret = new List <EmpleadosGrupos>();

            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 empleados_grupos " + 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, "nombre");

                //TODO: Hacer Paginacion

                double rowcount = fin - (inicio - 1);

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

                MySqlDataReader dr = comando.ExecuteReader();

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