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); }
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); }
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); }
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); }
public void Guardar(bool nuevo) { bool clave_cambiada = false; if (Id > 0) { Empleados emptmp = new Empleados(); emptmp = emptmp.Obtener(Id.ToString()); if (emptmp.Password.ToString() != Password.ToString()) { clave_cambiada = true; } } UltimoMensaje = null; DAL.Database db = new Database(); MySqlConnection conexion = Database.obtenerConexion(true); MySqlCommand comando = new MySqlCommand(); if (nuevo) { if (Id != 0) // se ingreso un id manualmente { comando.CommandText = @"INSERT INTO empleados (id, apellido,nombre,tel_laboral, tel_personal, mail, f_alta, f_baja, grupo, domicilio, f_nacimiento, fecha_cierre, provincia_id, hijos, tarea_id, password, cuil, estado_civil_id, tel_alternativo, contacto, percibe_adelantos) values (@id,@apellido, @nombre,@tel_laboral,@tel_personal, @mail, @f_alta, @f_baja, @grupo, @domicilio, @f_nacimiento, @fecha_cierre, @provincia_id, @hijos, @tarea_id, @password, @cuil, @estado_civil, @tel_alternativo, @contacto, @percibe_adelantos); "; } else //id automatico { comando.CommandText = @"INSERT INTO empleados (apellido,nombre,tel_laboral, tel_personal, mail, f_alta, f_baja, grupo, domicilio, f_nacimiento, fecha_cierre, provincia_id, hijos, tarea_id, password, cuil, estado_civil_id, tel_alternativo, contacto, percibe_adelantos) values (@apellido, @nombre,@tel_laboral,@tel_personal, @mail, @f_alta, @f_baja, @grupo, @domicilio, @f_nacimiento, @fecha_cierre, @provincia_id, @hijos, @tarea_id, @password, @cuil, @estado_civil, @tel_alternativo, @contacto, @percibe_adelantos); "; } } else { comando.CommandText = @"UPDATE empleados SET apellido = @apellido, nombre = @nombre, cuil = @cuil, estado_civil_id=@estado_civil, hijos=@hijos, tel_laboral=@tel_laboral, tel_personal=@tel_personal, mail=@mail, f_alta=@f_alta, grupo=@grupo, domicilio=@domicilio, provincia_id=@provincia_id, tarea_id=@tarea_id, f_nacimiento=@f_nacimiento, fecha_cierre=@fecha_cierre, password=@password, tel_alternativo=@tel_alternativo, contacto=@contacto, f_baja=@f_baja, percibe_adelantos=@percibe_adelantos, recovery_key=@recovery_key where id=@id"; } DateTime FechaAlta = DateTime.Now; DateTime FechaBaja = DateTime.Now; DateTime FechaNacimiento = DateTime.Now; DateTime FechaCierre = DateTime.Now; if (Fecha_Alta == "") { Fecha_Alta = null; } else { DateTime.TryParse(Fecha_Alta, out FechaAlta); } if (Fecha_Baja == "") { Fecha_Baja = null; } else { DateTime.TryParse(Fecha_Baja, out FechaBaja); } if (Fecha_Nacimiento == "") { Fecha_Nacimiento = null; } else { DateTime.TryParse(Fecha_Nacimiento, out FechaNacimiento); } if (Fecha_Cierre == "") { Fecha_Cierre = null; } else { DateTime.TryParse(Fecha_Cierre, out FechaCierre); } comando.Parameters.AddWithValue("@id", Id); comando.Parameters.AddWithValue("@apellido", Apellido); comando.Parameters.AddWithValue("@nombre", Nombre); comando.Parameters.AddWithValue("@tel_laboral", Tel_laboral); comando.Parameters.AddWithValue("@tel_personal", Tel_personal); comando.Parameters.AddWithValue("@mail", Mail); comando.Parameters.AddWithValue("@cuil", CUIL); comando.Parameters.AddWithValue("@estado_civil", Estado_Civil); comando.Parameters.AddWithValue("@hijos", hijos); comando.Parameters.AddWithValue("@domicilio", Domicilio); comando.Parameters.AddWithValue("@provincia_id", Provincia); comando.Parameters.AddWithValue("@recovery_key", recovery_key); if (!clave_cambiada) { comando.Parameters.AddWithValue("@password", Password); } else { comando.Parameters.AddWithValue("@password", DAL.Varios.MD5Hash(Password)); } comando.Parameters.AddWithValue("@tarea_id", Tarea); comando.Parameters.AddWithValue("@grupo", Grupo); comando.Parameters.AddWithValue("@tel_alternativo", Tel_Alternativo); comando.Parameters.AddWithValue("@contacto", Persona_contacto); comando.Parameters.AddWithValue("@percibe_adelantos", PercibeAdelantos.ToString()); if (Fecha_Alta == null) { comando.Parameters.AddWithValue("@f_alta", Fecha_Alta); } else { comando.Parameters.AddWithValue("@f_alta", Convert.ToDateTime(Fecha_Alta)); } if (Fecha_Baja == null) { comando.Parameters.AddWithValue("@f_baja", Fecha_Baja); } else { comando.Parameters.AddWithValue("@f_baja", Convert.ToDateTime(Fecha_Baja)); } if (Fecha_Nacimiento == null) { comando.Parameters.AddWithValue("@f_nacimiento", Fecha_Nacimiento); } else { comando.Parameters.AddWithValue("@f_nacimiento", Convert.ToDateTime(Fecha_Nacimiento)); } if (Fecha_Cierre == null) { comando.Parameters.AddWithValue("@fecha_cierre", Fecha_Cierre); } else { comando.Parameters.AddWithValue("@fecha_cierre", Convert.ToDateTime(Fecha_Cierre)); } comando.Transaction = Database.obtenerTransaccion(); comando.Connection = conexion; try { if (Database.obtenerTransaccion() == null) { conexion.Open(); } comando.ExecuteNonQuery(); } 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.StackTrace = ex.StackTrace; UltimoMensaje.EsError = true; Notify(UltimoMensaje); } finally { comando.Parameters.Clear(); if (Database.obtenerTransaccion() == null) { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } } }