public Empleados_Adelantos obtener_datos(string id) { Empleados_Adelantos emp_adelanto = new Empleados_Adelantos(); MySqlConnection conexion = Database.obtenerConexion(true); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = conexion; cmd.Transaction = Database.obtenerTransaccion(); cmd.CommandText = @"SELECT empleados_adelantos.*, empleados.nombre, empleados.apellido FROM empleados_adelantos join empleados on empleados_adelantos.empleado_id = empleados.id where adelanto_id=@id"; cmd.Parameters.AddWithValue("@id", id); try { if (Database.obtenerTransaccion() == null) { conexion.Open(); } MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { emp_adelanto.adelanto_id = Convert.ToInt32(reader["adelanto_id"].ToString()); emp_adelanto.fecha = Convert.ToDateTime(reader["fecha"]).ToShortDateString(); emp_adelanto.empleado_id = Convert.ToInt32(reader["empleado_id"]); emp_adelanto.empleado = reader["apellido"].ToString() + ", " + reader["nombre"].ToString(); emp_adelanto.descripcion = reader["descripcion"].ToString(); emp_adelanto.importe = Convert.ToDecimal(reader["importe"].ToString()); emp_adelanto.asignado_por = reader["asignado_por"].ToString(); } 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(emp_adelanto); }
private static void cargarDatos(Empleados_Adelantos adelanto, MySqlDataReader dr) { adelanto.adelanto_id = Convert.ToInt32(dr["adelanto_id"].ToString()); adelanto.fecha = Convert.ToDateTime(dr["fecha"].ToString()).ToShortDateString(); adelanto.empleado_id = Convert.ToInt32(dr["empleado_id"].ToString()); adelanto.empleado = dr["empleado"].ToString(); adelanto.descripcion = dr["descripcion"].ToString(); decimal dTmp = 0; decimal.TryParse(dr["importe"].ToString(), out dTmp); adelanto.importe = dTmp; adelanto.asignado_por = dr["asignado_por"].ToString(); adelanto.asignado_por_empleado = dr["asignado_por_empleado"].ToString(); }
private List <Empleados_Adelantos> crear_tmp_list(DateTime desde, DateTime hasta, List <DAL.Empleados> lista_asignados) { TimeSpan ts = hasta - desde; int dias = ts.Days; List <Empleados_Adelantos> lista_adelantos = new List <Empleados_Adelantos>(); List <Empleados_Adelantos> lista_tmp = new List <Empleados_Adelantos>(); Empleados empleados = new Empleados(); try { for (int i = 0; i <= dias; i++) { DateTime fecha = desde.AddDays(i); Empleados_Adelantos adelanto = new Empleados_Adelantos(); lista_adelantos = adelanto.obtener_registro_por_fecha(fecha, lista_asignados); if (lista_adelantos.Count > 0) { lista_tmp.AddRange(lista_adelantos); } else { lista_tmp.Add(new Empleados_Adelantos { fecha = fecha.ToShortDateString() }); } } } 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_tmp); }
} // Unsubscribe #endregion public List <Empleados_Adelantos> obtener(int id = 0) { string where = ""; if (id != 0) { where = "where adelanto_id=@id"; } List <Empleados_Adelantos> ret = new List <Empleados_Adelantos>(); MySqlConnection conexion = Database.obtenerConexion(true); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = conexion; cmd.Transaction = Database.obtenerTransaccion(); cmd.CommandText = "select empleados_adelantos.adelanto_id, empleados_adelantos.fecha, empleados_adelantos.empleado_id, empleados_adelantos.descripcion, " + "empleados_adelantos.importe, empleados.nombre, empleados.apellido from empleados_adelantos join empleados on empleados_adelantos.empleado_id = empleados.id " + where; if (id != 0) { cmd.Parameters.AddWithValue("@id", id); } try { if (Database.obtenerTransaccion() == null) { conexion.Open(); } MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Empleados_Adelantos bar = new Empleados_Adelantos(); bar.Subscribe(this); bar.adelanto_id = Convert.ToInt32(reader["adelanto_id"].ToString()); bar.fecha = Convert.ToDateTime(reader["fecha"]).ToShortDateString(); bar.empleado_id = Convert.ToInt32(reader["empleado_id"]); bar.empleado = reader["apellido"].ToString() + ", " + reader["nombre"].ToString(); bar.descripcion = reader["descripcion"].ToString(); bar.importe = Convert.ToDecimal(reader["importe"].ToString()); 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_Adelantos> obtener_registro_por_fecha(DateTime fecha, string empledo_id) { List <Empleados_Adelantos> retorno = new List <Empleados_Adelantos>(); MySqlConnection conexion = Database.obtenerConexion(true); string consulta = @" SELECT base.*, concat(empleados.apellido, ', ', empleados.nombre) as asignado_por_empleado FROM ( SELECT empleados_adelantos.*, CONCAT(empleados.apellido,', ',empleados.nombre) as empleado FROM empleados_adelantos JOIN empleados on empleados_adelantos.empleado_id = empleados.id ) AS base left join empleados on base.asignado_por = empleados.id WHERE empleado_id = @empleado_id AND fecha BETWEEN @fecha AND @fecha order by empleado_id"; MySqlCommand comando = new MySqlCommand(consulta, conexion); comando.Parameters.AddWithValue("@fecha", fecha); comando.Parameters.AddWithValue("@empleado_id", empledo_id); comando.Transaction = Database.obtenerTransaccion(); try { if (Database.obtenerTransaccion() == null) { conexion.Open(); } MySqlDataReader reader = comando.ExecuteReader(); while (reader.Read()) { Empleados_Adelantos ret = new Empleados_Adelantos(); cargarDatos(ret, reader); retorno.Add(ret); } } 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); } finally { comando.Parameters.Clear(); if (Database.obtenerTransaccion() == null) { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } } return(retorno); }
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); }