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); }
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); }
private static void cargarDatos(EmpleadosGrupos objeto, MySqlDataReader dr) { objeto.Id = dr["id"].ToString(); objeto.Nombre = dr["nombre"].ToString(); objeto.lider = dr["lider"].ToString(); }
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); }