Example #1
0
        /// <summary>
        /// Devuelve la lista de posibles justificantes a una falta que
        /// haya sido justificada
        /// </summary>
        /// <returns></returns>
        public List <PairPropertyObject> GetListaEventos()
        {
            OleDbConnection oleConne = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;
            OleDbDataReader reader;

            List <PairPropertyObject> eventos = new List <PairPropertyObject>();

            try
            {
                oleConne.Open();
                string miQry = "SELECT Id_Evento, Descripcion FROM Evento";
                cmd    = new OleDbCommand(miQry, oleConne);
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    eventos.Add(new PairPropertyObject
                                    (Convert.ToInt32(reader["Id_Evento"]), reader["Descripcion"].ToString()));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConne.Close();
            }

            return(eventos);
        }
Example #2
0
        /// <summary>
        /// Ingresa un evento que se presenta solo una vez
        /// </summary>
        /// <param name="evento"></param>
        public void SetEventoAislado(Eventos evento)
        {
            OleDbConnection oleConne = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;

            cmd            = oleConne.CreateCommand();
            cmd.Connection = oleConne;
            try
            {
                oleConne.Open();

                DateTime fecha = evento.StartDate;

                cmd.CommandText = "INSERT INTO Registro_Inasis(Id_Evento, Id_Empleado, Id_Incidente, Observaciones,Fecha,Año,Mes,Dia) " +
                                  "VALUES(" + evento.IdEvento + "," + evento.IdEmpleado + "," + evento.IdIncidente + ",'" + evento.Observaciones +
                                  "','" + fecha.ToShortDateString() + "'," + fecha.Year + "," + fecha.Month + "," + fecha.Day + ")";

                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                oleConne.Close();
            }
        }
        public List <int> GetExpedientesEmpleados()
        {
            List <int> expedientes = new List <int>();

            OleDbConnection oleConn = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;
            OleDbDataReader reader;

            cmd            = oleConn.CreateCommand();
            cmd.Connection = oleConn;
            try
            {
                oleConn.Open();
                string miQry = "SELECT Expediente FROM Empleados WHERE Expediente > 0 And Estado <> 0 ORDER BY Expediente";
                cmd    = new OleDbCommand(miQry, oleConn);
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    expedientes.Add(Convert.ToInt32(reader["Expediente"]));
                }
            }
            catch (OleDbException ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConn.Close();
            }

            return(expedientes);
        }
Example #4
0
        public List <PairPropertyObject> GetListaJustificaciones()
        {
            OleDbConnection oleConne = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;
            OleDbDataReader reader;

            List <PairPropertyObject> justificaciones = new List <PairPropertyObject>();

            try
            {
                oleConne.Open();
                string miQry = "SELECT Id_Incidente, Justificacion FROM Justificaciones_Inasistencia";
                cmd    = new OleDbCommand(miQry, oleConne);
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    justificaciones.Add(new PairPropertyObject
                                            (Convert.ToInt32(reader["Id_Incidente"].ToString()), reader["Justificacion"].ToString()));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConne.Close();
            }

            return(justificaciones);
        }
        /// <summary>
        /// Da de baja al usuario seleccionado pero lo mantiene dentro de la base de datos,
        /// posteriormente se puede reactivar
        /// </summary>
        public void DisableEmployee(int expediente)
        {
            OleDbConnection sqlConne = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;

            try
            {
                cmd            = sqlConne.CreateCommand();
                cmd.Connection = sqlConne;

                sqlConne.Open();

                String sqlCadena = "UPDATE Empleados Set Estado = 0 WHERE Expediente = " + expediente;

                cmd.CommandText = sqlCadena;
                cmd.ExecuteNonQuery();
            }
            catch (OleDbException sql)
            {
                MessageBox.Show("Error ({0}) : {1}" + sql.Source + sql.Message, "Error Interno");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                sqlConne.Close();
            }
        }
Example #6
0
        public List <Areas> GetListaAreas()
        {
            List <Areas> areas = new List <Areas>();

            OleDbConnection oleConn = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;
            OleDbDataReader reader;

            cmd            = oleConn.CreateCommand();
            cmd.Connection = oleConn;

            try
            {
                oleConn.Open();
                string miQry = "SELECT * FROM Areas";
                cmd    = new OleDbCommand(miQry, oleConn);
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Areas area = new Areas();
                    area.IdArea      = Convert.ToInt32(reader["Id_Area"]);
                    area.Descripcion = reader["Descripcion"].ToString();
                    area.DescMay     = reader["DescMay"].ToString();
                    area.Abreviatura = reader["Abreviatura"].ToString();

                    areas.Add(area);
                }
            }
            catch (OleDbException ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConn.Close();
            }

            return(areas);
        }
        public Empleados GetEmpleadoPorExpediente(int expediente)
        {
            Empleados empleado = null;

            OleDbConnection oleConn = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;
            OleDbDataReader reader;

            cmd            = oleConn.CreateCommand();
            cmd.Connection = oleConn;
            try
            {
                oleConn.Open();
                string miQry = "SELECT * FROM Empleados WHERE Expediente = " + expediente;// WHERE Id_Area = " + id_A;
                cmd    = new OleDbCommand(miQry, oleConn);
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    empleado                = new Empleados();
                    empleado.IdEmpleado     = Convert.ToInt32(reader["Id_Empleado"]);
                    empleado.Nombre         = reader["Nombre"].ToString();
                    empleado.Apellidos      = reader["Apellidos"].ToString();
                    empleado.NombreCompleto = reader["NombreCompleto"].ToString();
                    empleado.IdArea         = Convert.ToInt32(reader["Id_Area"]);
                    empleado.Expediente     = Convert.ToInt32(reader["Expediente"]);
                }
            }
            catch (OleDbException ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConn.Close();
            }

            return(empleado);
        }
        public List <Empleados> GetListaEmpleados()
        {
            List <Empleados> empleados = new List <Empleados>();

            OleDbConnection oleConn = DbConnectionDac.GetConexion();
            OleDbCommand    cmd;
            OleDbDataReader reader;

            cmd            = oleConn.CreateCommand();
            cmd.Connection = oleConn;
            try
            {
                oleConn.Open();
                string miQry = "SELECT Id_Empleado, NombreCompleto,Id_Area FROM Empleados WHERE Estado <> 0 ORDER BY NombreCompleto";
                cmd    = new OleDbCommand(miQry, oleConn);
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Empleados empleado = new Empleados();
                    empleado.IdEmpleado     = Convert.ToInt32(reader["Id_Empleado"]);
                    empleado.NombreCompleto = reader["NombreCompleto"].ToString();
                    empleado.IdArea         = Convert.ToInt32(reader["Id_Area"]);
                    empleados.Add(empleado);
                }
            }
            catch (OleDbException ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConn.Close();
            }

            return(empleados);
        }
Example #9
0
        public List <Empleados> GetEventosConsulta(int tipoFiltro, int tipoEvento, object paramBusqueda)
        {
            OleDbConnection oleConne = DbConnectionDac.GetConexion();
            OleDbCommand    cmd      = null;
            OleDbDataReader reader;

            List <Empleados> empleadosEventos = new List <Empleados>();

            try
            {
                oleConne.Open();
                string sqlCadena = "SELECT R.Id_Registro,E.Id_empleado, E.NombreCompleto, Ev.Descripcion, J.Justificacion, R.Fecha, R.Observaciones,E.Expediente " +
                                   "FROM ((Empleados E INNER JOIN Registro_Inasis R ON E.Id_empleado = R.Id_Empleado) " +
                                   "INNER JOIN Evento Ev ON R.Id_Evento = Ev.Id_Evento) " +
                                   "INNER JOIN Justificaciones_Inasistencia J ON R.Id_Incidente = J.Id_Incidente WHERE";

                switch (tipoFiltro)
                {
                //Por año
                case 0: sqlCadena += " R.Año = @Year";
                    OleDbParameter year = new OleDbParameter("@Year", OleDbType.Numeric, 0);
                    year.Value = (Int32)paramBusqueda;
                    cmd        = this.GetFiltroPorTipoEvento(oleConne, new List <OleDbParameter>()
                    {
                        year
                    }, sqlCadena, tipoEvento);

                    break;

                //Por mes
                case 1:
                    sqlCadena += " R.Año = @Year AND R.Mes = @Mes";
                    OleDbParameter years = new OleDbParameter("@Year", OleDbType.Numeric, 0);
                    years.Value = DateTime.Now.Year;
                    OleDbParameter mes = new OleDbParameter("@Mes", OleDbType.Numeric, 0);
                    mes.Value = (Int32)paramBusqueda;

                    cmd = this.GetFiltroPorTipoEvento(oleConne, new List <OleDbParameter>()
                    {
                        years, mes
                    }, sqlCadena, tipoEvento);
                    break;

                //Por día
                case 2:
                    sqlCadena += " R.Fecha = @Fecha";
                    OleDbParameter fecha = new OleDbParameter("@Fecha", OleDbType.Date, 0);
                    fecha.Value = ((DateTime)paramBusqueda).ToShortDateString();

                    cmd = this.GetFiltroPorTipoEvento(oleConne, new List <OleDbParameter>()
                    {
                        fecha
                    }, sqlCadena, tipoEvento);
                    break;

                //Por periodo
                case 3:
                    DateTime[] fechas = (DateTime[])paramBusqueda;
                    DateTime   inicio = fechas[0].AddDays(-1);
                    DateTime   final  = fechas[1].AddDays(1);

                    sqlCadena += " R.Fecha BETWEEN @FechaIni AND @FechaFin";
                    OleDbParameter fechaIni = new OleDbParameter("@FechaIni", OleDbType.Date, 0);
                    fechaIni.Value = inicio.ToShortDateString();
                    OleDbParameter fechaFin = new OleDbParameter("@FechaFin", OleDbType.Date, 0);
                    fechaFin.Value = final.ToShortDateString();

                    cmd = this.GetFiltroPorTipoEvento(oleConne, new List <OleDbParameter>()
                    {
                        fechaIni, fechaFin
                    }, sqlCadena, tipoEvento);

                    break;

                //Por servidor público
                case 4:
                    sqlCadena += " E.Id_Empleado = @Empleado";
                    OleDbParameter empleado = new OleDbParameter("@Empleado", OleDbType.Numeric, 0);
                    empleado.Value = (Int32)paramBusqueda;

                    cmd = this.GetFiltroPorTipoEvento(oleConne, new List <OleDbParameter>()
                    {
                        empleado
                    }, sqlCadena, tipoEvento);
                    break;
                }

                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    int index = empleadosEventos.FindIndex(r => r.Expediente == Convert.ToInt32(reader["Expediente"]));

                    if (index != -1)
                    {
                        Eventos evento = new Eventos();
                        evento.IdEvento      = Convert.ToInt32(reader["Id_Registro"]);
                        evento.IdEmpleado    = Convert.ToInt32(reader["Id_empleado"]);
                        evento.Descripcion   = reader["Descripcion"].ToString();
                        evento.Justificante  = reader["Justificacion"].ToString();
                        evento.StartDate     = Convert.ToDateTime(reader["fecha"]);
                        evento.Observaciones = reader["Observaciones"].ToString();

                        empleadosEventos[index].SetEventos(evento);
                    }
                    else
                    {
                        Empleados empleado = new Empleados();

                        empleado.Expediente     = Convert.ToInt32(reader["Expediente"]);
                        empleado.IdEmpleado     = Convert.ToInt32(reader["Id_empleado"]);
                        empleado.NombreCompleto = reader["NombreCompleto"].ToString();

                        Eventos evento = new Eventos();
                        evento.IdEvento      = Convert.ToInt32(reader["Id_Registro"]);
                        evento.IdEmpleado    = Convert.ToInt32(reader["Id_empleado"]);
                        evento.Descripcion   = reader["Descripcion"].ToString();
                        evento.Justificante  = reader["Justificacion"].ToString();
                        evento.StartDate     = Convert.ToDateTime(reader["fecha"]);
                        evento.Observaciones = reader["Observaciones"].ToString();
                        empleado.SetEventos(evento);

                        empleadosEventos.Add(empleado);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                oleConne.Close();
            }

            return(empleadosEventos);
        }
        /// <summary>
        /// Actualiza los datos del servidor
        /// </summary>
        /// <param name="empleado"></param>
        public void UpdateEmployee(Empleados empleado)
        {
            OleDbConnection  sqlConne = DbConnectionDac.GetConexion();
            OleDbDataAdapter dataAdapter;
            OleDbCommand     cmd;

            cmd            = sqlConne.CreateCommand();
            cmd.Connection = sqlConne;

            try
            {
                sqlConne.Open();

                DataSet dataSet = new DataSet();
                DataRow dr;

                string sqlCadena = "SELECT * FROM Empleados WHERE Expediente =" + empleado.Expediente;

                dataAdapter = new OleDbDataAdapter();
                dataAdapter.SelectCommand = new OleDbCommand(sqlCadena, sqlConne);

                dataAdapter.Fill(dataSet, "Empleado");

                dr = dataSet.Tables[0].Rows[0];
                dr.BeginEdit();
                dr["Nombre"]         = empleado.Nombre;
                dr["Apellidos"]      = empleado.Apellidos;
                dr["NombreCompleto"] = empleado.NombreCompleto.ToUpper();
                dr["Id_Area"]        = empleado.IdArea;
                dr["Expediente"]     = empleado.Expediente;

                dr.EndEdit();

                dataAdapter.UpdateCommand = sqlConne.CreateCommand();

                string sSql = "UPDATE Empleados " +
                              "SET Nombre = @Nombre, " +
                              " Apellidos = @Apellidos, NombreCompleto = @NombreCompleto, IdArea= @IdArea";
                sSql = sSql + " WHERE Expediente = @Expediente";

                dataAdapter.UpdateCommand.CommandText = sSql;

                dataAdapter.UpdateCommand.Parameters.Add("@Nombre", OleDbType.VarChar, 0, "Nombre");
                dataAdapter.UpdateCommand.Parameters.Add("@Apellidos", OleDbType.VarChar, 0, "Apellidos");
                dataAdapter.UpdateCommand.Parameters.Add("@NombreCompleto", OleDbType.VarChar, 0, "NombreCompleto");
                dataAdapter.UpdateCommand.Parameters.Add("@Id_Area", OleDbType.Numeric, 0, "Id_Area");
                dataAdapter.UpdateCommand.Parameters.Add("@Expediente", OleDbType.Numeric, 0, "Expediente");

                dataAdapter.Update(dataSet, "Empleado");
                dataSet.Dispose();
                dataAdapter.Dispose();
            }
            catch (OleDbException sql)
            {
                MessageBox.Show("Error ({0}) : {1}" + sql.Source + sql.Message, "Error Interno");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error ({0}) : {1}" + ex.Source + ex.Message, "Error Interno");
            }
            finally
            {
                sqlConne.Close();
            }
        }
        public bool SetNewEmployee(Empleados empleado)
        {
            OleDbConnection connectionEpsOle = DbConnectionDac.GetConexion();
            bool            exito            = false;

            try
            {
                DbDataAdapter dataAdapter;

                DataSet dataSet = new DataSet();
                DataRow dr;

                OleDbDataReader reader;
                OleDbCommand    cmd;

                cmd            = connectionEpsOle.CreateCommand();
                cmd.Connection = connectionEpsOle;

                connectionEpsOle.Open();
                string sqlCadena = "SELECT MAX(Id_Empleado) AS Emp FROM Empleados";
                cmd = new OleDbCommand(sqlCadena, connectionEpsOle);

                reader = cmd.ExecuteReader();

                int idEmpleado = 0;

                while (reader.Read())
                {
                    idEmpleado = Convert.ToInt32(reader["Emp"]) + 1;
                }

                connectionEpsOle.Close();

                sqlCadena = "SELECT * FROM Empleados WHERE Id_Empleado =0";

                dataAdapter = new OleDbDataAdapter();
                dataAdapter.SelectCommand = new OleDbCommand(sqlCadena, connectionEpsOle);


                dataAdapter.Fill(dataSet, "Empleado");

                dr = dataSet.Tables["Empleado"].NewRow();
                dr["Id_Empleado"]    = idEmpleado;
                dr["Nombre"]         = empleado.Nombre;
                dr["Apellidos"]      = empleado.Apellidos;
                dr["NombreCompleto"] = empleado.NombreCompleto.ToUpper();
                dr["Id_Area"]        = empleado.IdArea;
                dr["Expediente"]     = empleado.Expediente;

                dataSet.Tables["Empleado"].Rows.Add(dr);

                dataAdapter.InsertCommand             = connectionEpsOle.CreateCommand();
                dataAdapter.InsertCommand.CommandText =
                    "INSERT INTO Empleados(Id_Empleado,Nombre,Apellidos,NombreCompleto,Id_Area,Expediente)" +
                    " VALUES(@Id_Empleado,@Nombre,@Apellidos,@NombreCompleto,@Id_Area,@Expediente)";

                ((OleDbDataAdapter)dataAdapter).InsertCommand.Parameters.Add("@Id_Empleado", OleDbType.Numeric, 0, "Id_Empleado");
                ((OleDbDataAdapter)dataAdapter).InsertCommand.Parameters.Add("@Nombre", OleDbType.VarChar, 0, "Nombre");
                ((OleDbDataAdapter)dataAdapter).InsertCommand.Parameters.Add("@Apellidos", OleDbType.VarChar, 0, "Apellidos");
                ((OleDbDataAdapter)dataAdapter).InsertCommand.Parameters.Add("@NombreCompleto", OleDbType.VarChar, 0, "NombreCompleto");
                ((OleDbDataAdapter)dataAdapter).InsertCommand.Parameters.Add("@Id_Area", OleDbType.Numeric, 0, "Id_Area");
                ((OleDbDataAdapter)dataAdapter).InsertCommand.Parameters.Add("@Expediente", OleDbType.Numeric, 0, "Expediente");

                dataAdapter.Update(dataSet, "Empleado");

                dataSet.Dispose();
                dataAdapter.Dispose();
                connectionEpsOle.Close();

                exito = true;
            }
            catch (OleDbException ole)
            {
                MessageBox.Show("Error ({0}) : {1}" + ole.Source + ole.Message, "Error Interno");
            }finally
            {
                connectionEpsOle.Close();
            }


            return(exito);
        }