Пример #1
0
        private void frmModificaSalarioImss_Load(object sender, EventArgs e)
        {
            lblEmpleado.Text = _nombreCompleto;

            cnx = new MySqlConnection();
            cnx.ConnectionString = cdn;
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados em = new Empleados.Core.Empleados();
            em.idtrabajador = _idempleado;

            try
            {
                cnx.Open();
                lstEmpleado = eh.obtenerEmpleado(em);
                cnx.Close();
                cnx.Dispose();

                for (int i = 0; i < lstEmpleado.Count; i++)
                {
                    idperiodo  = lstEmpleado[i].idperiodo;
                    antiguedad = lstEmpleado[i].antiguedad;
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #2
0
        void b_OnBuscar(int id, string nombre)
        {
            idempleado       = id;
            lblEmpleado.Text = nombre;

            cnx = new MySqlConnection();
            cmd = new MySqlCommand();
            cnx.ConnectionString = cdn;
            cmd.Connection       = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;
            Empleados.Core.Empleados em = new Empleados.Core.Empleados();
            em.idtrabajador = idempleado;

            try
            {
                cnx.Open();
                int estatus = (int)eh.obtenerEstatus(em);
                cnx.Close();
                cnx.Dispose();
                if (estatus != 0)
                {
                    MessageBox.Show("No se puede modificar el sueldo, el empleado ya cuenta con movimientos. \r\n \r\n Se cerrará la ventana.", "Información");
                    this.Dispose();
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                this.Dispose();
            }
        }
Пример #3
0
        private void toolGuardar_Click(object sender, EventArgs e)
        {
            if (idempleado == 0)
            {
                MessageBox.Show("Debe especificar el empleado.", "Información");
                return;
            }
            cnx = new MySqlConnection();
            cnx.ConnectionString = cdn;
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados em = new Empleados.Core.Empleados();
            em.idtrabajador = idempleado;
            em.sueldo       = decimal.Parse(txtSueldo.Text);
            em.sd           = decimal.Parse(txtSD.Text);
            em.sdi          = decimal.Parse(txtSDI.Text);

            try
            {
                cnx.Open();
                eh.actualizaSueldo(em);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #4
0
        private void toolGuardar_Click(object sender, EventArgs e)
        {
            if (idempleado == 0)
            {
                MessageBox.Show("Debe especificar el empleado.", "Información");
                return;
            }

            cnx = new MySqlConnection();
            cnx.ConnectionString = cdn;
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;
            Empleados.Core.Empleados em = new Empleados.Core.Empleados();
            em.idcliente    = int.Parse(cmbCliente.SelectedValue.ToString());
            em.idperiodo    = int.Parse(cmbPeriodo.SelectedValue.ToString());
            em.idtrabajador = idempleado;

            try
            {
                cnx.Open();
                eh.actualizaClientePeriodo(em);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
            }
        }
Пример #5
0
        private void Listas()
        {
            cnx            = new MySqlConnection(cdn);
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;

            if (_EmpresaEmpleado == GLOBALES.EMPRESAS)
            {
                Empresas.Core.EmpresasHelper empresah = new Empresas.Core.EmpresasHelper();
                empresah.Command = cmd;

                try
                {
                    cnx.Open();
                    lstEmpresas = empresah.obtenerEmpresas();
                    cnx.Close();
                    cnx.Dispose();

                    var empresa = from a in lstEmpresas select new { IdEmpresa = a.idempresa, Nombre = a.nombre };
                    dgvImagenes.DataSource = empresa.ToList();

                    for (int i = 0; i < dgvImagenes.Columns.Count; i++)
                    {
                        dgvImagenes.AutoResizeColumn(i);
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }
            }
            else if (_EmpresaEmpleado == GLOBALES.EMPLEADOS)
            {
                Empleados.Core.EmpleadosHelper empleadoh = new Empleados.Core.EmpleadosHelper();
                empleadoh.Command = cmd;
                Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
                empleado.idplaza   = GLOBALES.IDPLAZA;
                empleado.idempresa = GLOBALES.IDEMPRESA;

                try
                {
                    cnx.Open();
                    lstEmpleados = empleadoh.obtenerEmpleados(empleado);
                    cnx.Close();
                    cnx.Dispose();

                    var trabajador = from b in lstEmpleados select new { IdEmpleado = b.idtrabajador, Nombre = b.nombrecompleto };
                    dgvImagenes.DataSource = trabajador.ToList();

                    for (int i = 0; i < dgvImagenes.Columns.Count; i++)
                    {
                        dgvImagenes.AutoResizeColumn(i);
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }
            }
        }
        private void ListaEmpleados()
        {
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            #region DISEÑO DEL GRIDVIEW

            dgvEmpleados.Columns["seleccion"].DataPropertyName = "chk";
            dgvEmpleados.Columns["idtrabajador"].DataPropertyName = "idtrabajador";
            dgvEmpleados.Columns["noempleado"].DataPropertyName = "noempleado";
            dgvEmpleados.Columns["nombre"].DataPropertyName = "nombre";
            dgvEmpleados.Columns["sdivigente"].DataPropertyName = "sdivigente";
            dgvEmpleados.Columns["sdinuevo"].DataPropertyName = "sdinuevo";
            dgvEmpleados.Columns["antiguedad"].DataPropertyName = "antiguedad";
            dgvEmpleados.Columns["antiguedadmod"].DataPropertyName = "antiguedadmod";
            dgvEmpleados.Columns["fechaimss"].DataPropertyName = "fechaimss";

            DataGridViewCellStyle estilo = new DataGridViewCellStyle();
            estilo.Alignment = DataGridViewContentAlignment.MiddleRight;

            dgvEmpleados.Columns[4].DefaultCellStyle = estilo;
            dgvEmpleados.Columns[5].DefaultCellStyle = estilo;

            dgvEmpleados.Columns["idtrabajador"].Visible = false;
            dgvEmpleados.Columns["noempleado"].ReadOnly = true;
            dgvEmpleados.Columns["nombre"].ReadOnly = true;
            dgvEmpleados.Columns["sdivigente"].ReadOnly = true;
            dgvEmpleados.Columns["antiguedad"].Visible = false;
            dgvEmpleados.Columns["antiguedadmod"].Visible = false;
            dgvEmpleados.Columns["sdinuevo"].ReadOnly = true;
            #endregion

            try
            {
                cnx.Open();
                lstEmpleadosIncremento = eh.obtenerIncremento(empleado);
                cnx.Close();
                cnx.Dispose();

                dgvEmpleados.DataSource = lstEmpleadosIncremento.ToList();

                for (int i = 0; i < dgvEmpleados.Columns.Count; i++)
                {
                    dgvEmpleados.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #7
0
        private void ListaIncapacidad()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            eh = new Empleados.Core.EmpleadosHelper();
            ih = new Incidencias.Core.IncidenciasHelper();
            eh.Command = cmd;
            ih.Command = cmd;

            Incidencias.Core.Incidencias incidencia = new Incidencias.Core.Incidencias();
            incidencia.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleados(empleado);
                lstIncidencias = ih.obtenerIndicencias(incidencia);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
            }

            var datos = from e in lstEmpleados
                        join i in lstIncidencias on e.idtrabajador equals i.idtrabajador
                        orderby e.nombrecompleto ascending
                        select new
                        {
                            IdTrabajador = e.idtrabajador,
                            NoEmpleado = e.noempleado,
                            Nombre = e.nombrecompleto,
                            Certificado = i.certificado,
                            PeriodoInicio = i.periodoinicio,
                            PeriodoFin = i.periodofin,
                            Dias = i.dias,
                            InicioIncapacidad = i.inicioincapacidad,
                            FinIncapacidad = i.finincapacidad
                        };

            dgvIncapacidad.DataSource = datos.ToList();

            dgvIncapacidad.Columns["IdTrabajador"].Visible = false;

            for (int i = 0; i < dgvIncapacidad.Columns.Count; i++)
            {
                dgvIncapacidad.AutoResizeColumn(i);
            }
        }
Пример #8
0
        private void ListaConceptosEmpleado()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            ch = new Conceptos.Core.ConceptosHelper();
            ch.Command = cmd;

            Conceptos.Core.ConceptoTrabajador ct = new Conceptos.Core.ConceptoTrabajador();
            ct.idempleado = _idEmpleado;

            Conceptos.Core.Conceptos concepto = new Conceptos.Core.Conceptos();
            concepto.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            try
            {
                int periodo = 0;
                cnx.Open();
                periodo = int.Parse(eh.obtenerDiasPeriodo(_idEmpleado).ToString());
                lstConcepto = ch.obtenerConceptos(concepto, periodo);
                lstCT = ch.obtenerConceptosTrabajador(ct);
                cnx.Close();
                cnx.Dispose();

                var conceptotrab = from ctrab in lstCT join con in lstConcepto on ctrab.idconcepto equals con.id
                         select new
                         {
                             Id = ctrab.id,
                             Concepto = con.concepto,
                             TipoConcepto = (con.tipoconcepto == "P") ? "PERCEPCION" : "DEDUCCION"
                         };
                dgvConceptosEmpleado.DataSource = conceptotrab.ToList();

                for (int i = 0; i < dgvConceptosEmpleado.Columns.Count; i++)
                {
                    dgvConceptosEmpleado.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }

            dgvConceptosEmpleado.Columns["Id"].Visible = false;

            int contenido = dgvConceptosEmpleado.Rows.Count;
            if (contenido == 0)
                toolBaja.Enabled = false;
            else
                toolBaja.Enabled = true;
        }
Пример #9
0
        private void ListaEmpleados()
        {
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;

            cnx            = new MySqlConnection(cdn);
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;
            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.idplaza   = GLOBALES.IDPLAZA;
            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleados(empleado);
                cnx.Close();
                cnx.Dispose();

                var em = from e in lstEmpleados
                         select new
                {
                    IdTrabajador = e.idtrabajador,
                    Nombre       = e.nombrecompleto,
                    Ingreso      = e.fechaingreso,
                    Antiguedad   = e.antiguedad + " AÑOS",
                    SDI          = e.sdi,
                    SD           = e.sd,
                    Sueldo       = e.sueldo
                };
                dgvEmpleados.DataSource = em.ToList();

                for (int i = 0; i < dgvEmpleados.Columns.Count; i++)
                {
                    dgvEmpleados.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }

            DataGridViewCellStyle estilo = new DataGridViewCellStyle();

            estilo.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvEmpleados.Columns[4].DefaultCellStyle = estilo;
            dgvEmpleados.Columns[5].DefaultCellStyle = estilo;
            dgvEmpleados.Columns[6].DefaultCellStyle = estilo;
        }
Пример #10
0
        private void frmBuscar_Load(object sender, EventArgs e)
        {
            dgvCatalogo.RowHeadersVisible = false;

            cnx = new SqlConnection();
            cmd = new SqlCommand();
            cnx.ConnectionString = cdn;
            cmd.Connection = cnx;

            if (_catalogo == GLOBALES.EMPLEADOS)
            {
                eh = new Empleados.Core.EmpleadosHelper();
                eh.Command = cmd;

                Empleados.Core.Empleados em = new Empleados.Core.Empleados();
                em.idempresa = GLOBALES.IDEMPRESA;

                if (_tipoNomina == GLOBALES.NORMAL)
                    em.estatus = GLOBALES.ACTIVO;

                try
                {
                    cnx.Open();
                    if(_busqueda == GLOBALES.NOMINA)
                        lstEmpleados = eh.obtenerEmpleados(em, _periodo);
                    if (_busqueda == GLOBALES.FORMULARIOS)
                        lstEmpleados = eh.obtenerEmpleados(em);
                    cnx.Close();
                    cnx.Dispose();

                    dgvCatalogo.Columns["idtrabajador"].DataPropertyName = "idtrabajador";
                    dgvCatalogo.Columns["noempleado"].DataPropertyName = "noempleado";
                    dgvCatalogo.Columns["nombre"].DataPropertyName = "nombrecompleto";

                    var empleados = from a in lstEmpleados select new { a.idtrabajador, a.noempleado, a.nombrecompleto };
                    dgvCatalogo.DataSource = empleados.ToList();

                    for (int i = 0; i < dgvCatalogo.Columns.Count; i++)
                    {
                        dgvCatalogo.AutoResizeColumn(i);
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }
            }

            txtBuscar.Select();
        }
        private void ListaEmpleados()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleados(empleado);
                cnx.Close();
                cnx.Dispose();

                var em = from e in lstEmpleados
                         select new
                         {
                             IdTrabajador = e.idtrabajador,
                             NoEmpleado = e.noempleado,
                             Nombre = e.nombrecompleto
                         };
                dgvEmpleados.DataSource = em.ToList();

                for (int i = 0; i < dgvEmpleados.Columns.Count; i++)
                {
                    dgvEmpleados.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }

            dgvEmpleados.Columns["IdTrabajador"].Visible = false;
        }
Пример #12
0
        private void ListaEmpleados()
        {
            cnx            = new MySqlConnection(cdn);
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;
            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.idplaza   = GLOBALES.IDPLAZA;

            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleados(empleado);
                cnx.Close();
                cnx.Dispose();

                var em = from e in lstEmpleados
                         select new
                {
                    IdTrabajador = e.idtrabajador,
                    Nombre       = e.nombrecompleto
                };
                dgvComplementos.DataSource = em.ToList();

                for (int i = 0; i < dgvComplementos.Columns.Count; i++)
                {
                    dgvComplementos.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #13
0
        void b_OnBuscar(int id, string nombre)
        {
            _idEmpleado = id;
            lblEmpleado.Text = nombre;

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Departamento.Core.DeptoHelper dh = new Departamento.Core.DeptoHelper();
            dh.Command = cmd;

            List<Departamento.Core.Depto> lstDepartamento = new List<Departamento.Core.Depto>();
            List<Empleados.Core.Empleados> lstEmpleado = new List<Empleados.Core.Empleados>();

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = _idEmpleado;

            Departamento.Core.Depto dpto = new Departamento.Core.Depto();
            dpto.idempresa = GLOBALES.IDEMPRESA;

            try
            {
                cnx.Open();
                lstEmpleado = eh.obtenerEmpleado(empleado);
                lstDepartamento = dh.obtenerDepartamentos(dpto);
                cnx.Close();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error al obtener los datos del departamento. \r\n \r\n La ventana se cerrará. \r\n \r\n" + error.Message, "Error");
                cnx.Dispose();
                this.Dispose();
            }

            var dato = from emp in lstEmpleado
                       join d in lstDepartamento on emp.iddepartamento equals d.id
                       select new
                       {
                           emp.noempleado,
                           emp.nombrecompleto,
                           d.descripcion
                       };
            foreach (var inf in dato)
            {
                mtxtNoEmpleado.Text = inf.noempleado;
                txtDepartamento.Text = inf.descripcion;
            }

            try
            {
                cnx.Open();
                Periodo = (int)eh.obtenerDiasPeriodo(_idEmpleado);
                cnx.Close();
                //obtenerPeriodoActual();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error al obtener los dias del periodo. \r\n \r\n La ventana se cerrará. \r\n \r\n" + error.Message, "Error");
                cnx.Dispose();
                this.Dispose();
            }
        }
        private void workerImporta_DoWork(object sender, DoWorkEventArgs e)
        {
            int contador = dgvCargaEmpleados.Rows.Count;
            int progreso = 0;

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            foreach (DataGridViewRow fila in dgvCargaEmpleados.Rows)
            {

                workerImporta.ReportProgress((progreso * 100) / contador);
                progreso++;

                dh = new Departamento.Core.DeptoHelper();
                dh.Command = cmd;

                puestoh = new Puestos.Core.PuestosHelper();
                puestoh.Command = cmd;

                ph = new Periodos.Core.PeriodosHelper();
                ph.Command = cmd;

                try
                {
                    cnx.Open();
                    idDepto = (int)dh.obtenerIdDepartamento(fila.Cells["departamento"].Value.ToString(), GLOBALES.IDEMPRESA);
                    idPuesto = (int)puestoh.obtenerIdPuesto(fila.Cells["puesto"].Value.ToString(), GLOBALES.IDEMPRESA);
                    idPeriodo = (int)ph.obtenerIdPeriodo(fila.Cells["periodo"].Value.ToString(), GLOBALES.IDEMPRESA);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: Al obtener los datos del Departamento, Puesto y/o Periodo.", "Error");
                    cnx.Dispose();
                    return;
                }

                Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
                empleado.noempleado = fila.Cells["noempleado"].Value.ToString();
                empleado.nombres = fila.Cells["nombre"].Value.ToString();
                empleado.paterno = fila.Cells["paterno"].Value.ToString();
                empleado.materno = fila.Cells["materno"].Value.ToString();
                empleado.nombrecompleto = String.Format("{0} {1} {2}", empleado.paterno, empleado.materno, empleado.nombres);
                empleado.idempresa = GLOBALES.IDEMPRESA;
                empleado.idperiodo = idPeriodo;
                empleado.idsalario = 1;
                empleado.iddepartamento = idDepto;
                empleado.idpuesto = idPuesto;
                empleado.fechaingreso = DateTime.Parse(fila.Cells["fechaingreso"].Value.ToString());
                empleado.antiguedad = 0;
                empleado.fechaantiguedad = DateTime.Parse(fila.Cells["fechaingreso"].Value.ToString());
                empleado.antiguedadmod = 0;
                empleado.fechanacimiento = ObtieneFecha(fila.Cells["curp"].Value.ToString());
                empleado.edad = ObtieneEdad(empleado.fechanacimiento);
                empleado.rfc = ObtenerRfc(empleado.paterno, empleado.materno, empleado.nombres, empleado.fechanacimiento);
                empleado.curp = fila.Cells["curp"].Value.ToString();
                empleado.nss = fila.Cells["nss"].Value.ToString();
                empleado.digitoverificador = int.Parse(fila.Cells["dv"].Value.ToString());
                empleado.tiposalario = 19;
                empleado.sdi = decimal.Parse(fila.Cells["sdi"].Value.ToString());
                empleado.sd = ObtieneSD(decimal.Parse(fila.Cells["sdi"].Value.ToString()));
                empleado.sueldo = ObtieneSueldo(empleado.sd);
                empleado.estatus = 1;
                empleado.idusuario = GLOBALES.IDUSUARIO;
                empleado.cuenta = "0000000000";
                empleado.clabe = "000000000000000000";
                empleado.idbancario = "0000";
                empleado.metodopago = "TRANSFERENCIA";
                empleado.tiporegimen = 60;

                //Empleados.Core.EmpleadosEstatus ee = new Empleados.Core.EmpleadosEstatus();
                //ee.estatus = GLOBALES.ACTIVO;
                //ee.idempresa = GLOBALES.IDEMPRESA;

                cnx = new SqlConnection(cdn);
                cmd = new SqlCommand();
                cmd.Connection = cnx;

                emph = new Empleados.Core.EmpleadosHelper();
                emph.Command = cmd;

                Empleados.Core.Empleados nss = new Empleados.Core.Empleados();
                nss.nss = empleado.nss;
                nss.digitoverificador = empleado.digitoverificador;
                int existeEmpleado = 0;
                try
                {
                    cnx.Open();
                    existeEmpleado = (int)emph.existeEmpleado(nss);
                    cnx.Close();
                }
                catch (Exception)
                {
                    MessageBox.Show("Error: Al obtener la existencia del empleado.", "Error");
                    cnx.Dispose();
                    return;
                }

                if (existeEmpleado == 0)
                {
                    try
                    {
                        cnx.Open();
                        emph.insertaEmpleado(empleado);
                        //ee.idtrabajador = (int)emph.obtenerIdTrabajador(empleado);
                        //emph.insertaEmpleadoEstatus(ee);
                        cnx.Close();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Error: Al ingresar al empleado. No. empleado: " + fila.Cells["noempleado"].Value.ToString(), "Error");
                        cnx.Dispose();
                        return;
                    }

                    int idEmpleado = 0;
                    try
                    {
                        cnx.Open();
                        idEmpleado = (int)emph.obtenerIdTrabajador(fila.Cells["noempleado"].Value.ToString(), GLOBALES.IDEMPRESA);
                        cnx.Close();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Error: Al obtener el ID del empleado. No. empleado: " + fila.Cells["noempleado"].Value.ToString(), "Error");
                        cnx.Dispose();
                        return;
                    }

                    //cnx = new SqlConnection(cdn);
                    //cmd = new SqlCommand();
                    //cmd.Connection = cnx;

                    //hh = new Historial.Core.HistorialHelper();
                    //hh.Command = cmd;

                    //Historial.Core.Historial historial = new Historial.Core.Historial();
                    //historial.idtrabajador = idEmpleado;
                    //historial.tipomovimiento = GLOBALES.mALTA;
                    //historial.valor = empleado.sdi;
                    //historial.fecha_imss = DateTime.Parse(fila.Cells["fechaingreso"].Value.ToString());
                    //historial.fecha_sistema = DateTime.Now.Date;
                    //historial.idempresa = GLOBALES.IDEMPRESA;
                    //historial.motivobaja = 0;

                    //try
                    //{
                    //    cnx.Open();
                    //    hh.insertarHistorial(historial);
                    //    cnx.Close();
                    //}
                    //catch (Exception)
                    //{
                    //    MessageBox.Show("Error: Al ingresar historial del trabajador. No. empleado: " + fila.Cells["noempleado"].Value.ToString(), "Error");
                    //    cnx.Dispose();
                    //    return;
                    //}

                    //cnx = new SqlConnection(cdn);
                    //cmd = new SqlCommand();
                    //cmd.Connection = cnx;

                    //eh = new Empresas.Core.EmpresasHelper();
                    //eh.Command = cmd;

                    //Empresas.Core.Empresas empresa = new Empresas.Core.Empresas();
                    //empresa.idempresa = GLOBALES.IDEMPRESA;

                    //try
                    //{
                    //    cnx.Open();
                    //    registroPatronal = eh.obtenerRegistroPatronal(empresa).ToString();
                    //    cnx.Close();
                    //}
                    //catch (Exception)
                    //{
                    //    MessageBox.Show("Error: Al obtener el registro patronal. NoEmpleado: " + fila.Cells["noempleado"].Value.ToString() + ".", "Error");
                    //    cnx.Dispose();
                    //    return;
                    //}

                    //Altas.Core.Altas alta = new Altas.Core.Altas();
                    //alta.idtrabajador = idEmpleado;
                    //alta.idempresa = GLOBALES.IDEMPRESA;
                    //alta.registropatronal = registroPatronal;
                    //alta.nss = empleado.nss + empleado.digitoverificador.ToString();
                    //alta.rfc = empleado.rfc;
                    //alta.curp = empleado.curp;
                    //alta.paterno = empleado.paterno;
                    //alta.materno = empleado.materno;
                    //alta.nombre = empleado.nombres;
                    //alta.contrato = 4;
                    //alta.jornada = 12;
                    //alta.fechaingreso = empleado.fechaingreso;
                    //alta.diasproporcionales = ObtenerDiasProporcionales(empleado.fechaingreso);
                    //alta.sdi = empleado.sdi;
                    //alta.cp = "0";
                    //alta.fechanacimiento = empleado.fechanacimiento;
                    //alta.estado = ObtenerEstado(empleado.curp);
                    //alta.noestado = ObtenerIdEstado(alta.estado);
                    //alta.clinica = "0";
                    //alta.sexo = ObtenerSexo(empleado.curp);
                    //alta.periodoInicio = periodoInicio;
                    //alta.periodoFin = periodoFin;

                    //cnx = new SqlConnection(cdn);
                    //cmd = new SqlCommand();
                    //cmd.Connection = cnx;

                    //ah = new Altas.Core.AltasHelper();
                    //ah.Command = cmd;

                    //try
                    //{
                    //    cnx.Open();
                    //    ah.insertaAlta(alta);
                    //    cnx.Close();
                    //}
                    //catch (Exception)
                    //{
                    //    MessageBox.Show("Error: Al ingresar alta del trabajador. No. empleado: " + fila.Cells["noempleado"].Value.ToString(), "Error");
                    //    cnx.Dispose();
                    //    return;
                    //}
                }
            }
            cnx.Dispose();
        }
Пример #15
0
        private void toolAplicar_Click(object sender, EventArgs e)
        {
            if (dgvCargaFaltas.Rows.Count == 0)
            {
                MessageBox.Show("No se puede aplicar verifique.", "Error");
                return;
            }

            int idEmpleado = 0;
            bool EsAlta = false, EsReingreso = false, EsBaja = false;

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            fh = new Faltas.Core.FaltasHelper();
            fh.Command = cmd;

            emph = new Empleados.Core.EmpleadosHelper();
            emph.Command = cmd;

            Altas.Core.AltasHelper ah = new Altas.Core.AltasHelper();
            ah.Command = cmd;

            Reingreso.Core.ReingresoHelper rh = new Reingreso.Core.ReingresoHelper();
            rh.Command = cmd;

            Bajas.Core.BajasHelper bh = new Bajas.Core.BajasHelper();
            bh.Command = cmd;

            Periodos.Core.PeriodosHelper ph = new Periodos.Core.PeriodosHelper();
            ph.Command = cmd;

            List<Altas.Core.Altas> lstAlta;
            List<Reingreso.Core.Reingresos> lstReingreso;
            List<Bajas.Core.Bajas> lstBaja;

            foreach (DataGridViewRow fila in dgvCargaFaltas.Rows)
            {
                try
                {
                    cnx.Open();
                    idEmpleado = (int)emph.obtenerIdTrabajador(fila.Cells["noempleado"].Value.ToString(), idEmpresa);
                    cnx.Close();

                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: Obtener ID del empleado. \r\n \r\n" + error.Message, "Error");
                    return;
                }

                int idperiodo = 0;
                try
                {
                    cnx.Open();
                    idperiodo = (int)emph.obtenerIdPeriodo(idEmpleado);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: al obtener el Id del Periodo.", "Error");
                    cnx.Dispose();
                    return;
                }

                Altas.Core.Altas alta = new Altas.Core.Altas();
                alta.idempresa = GLOBALES.IDEMPRESA;
                alta.idtrabajador = idEmpleado;
                alta.periodoInicio = _inicioPeriodo.Date;
                alta.periodoFin = _finPeriodo.Date;

                Reingreso.Core.Reingresos reingreso = new Reingreso.Core.Reingresos();
                reingreso.idempresa = GLOBALES.IDEMPRESA;
                reingreso.idtrabajador = idEmpleado;
                reingreso.periodoinicio = _inicioPeriodo.Date;
                reingreso.periodofin = _finPeriodo.Date;

                Bajas.Core.Bajas baja = new Bajas.Core.Bajas();
                baja.idempresa = GLOBALES.IDEMPRESA;
                baja.idtrabajador = idEmpleado;
                baja.periodoinicio = _inicioPeriodo.Date;
                baja.periodofin = _finPeriodo.Date;

                lstAlta = new List<Altas.Core.Altas>();
                lstReingreso = new List<Reingreso.Core.Reingresos>();
                lstBaja = new List<Bajas.Core.Bajas>();

                Periodos.Core.Periodos p = new Periodos.Core.Periodos();
                p.idperiodo = idperiodo;

                int periodo = 0;
                try
                {
                    cnx.Open();
                    periodo = (int)ph.DiasDePago(p);

                    lstAlta = ah.obtenerAlta(alta);
                    lstReingreso = rh.obtenerReingreso(reingreso);
                    lstBaja = bh.obtenerBaja(baja);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: al obtener los dias de pago.", "Error");
                    cnx.Dispose();
                    return;
                }

                if (lstAlta.Count != 0)
                    EsAlta = true;
                if (lstBaja.Count != 0)
                    EsBaja = true;
                if (lstReingreso.Count != 0)
                    EsReingreso = true;

                int falta = int.Parse(fila.Cells["faltas"].Value.ToString());
                DateTime fecha = DateTime.Parse(fila.Cells["fechainicio"].Value.ToString());

                if (falta > 15)
                    falta = 15;

                for (int i = 0; i < falta; i++)
                {
                    int existe = 0;
                    int existeFalta = 0;
                    int existeVacacion = 0;
                    try
                    {
                        cnx.Open();
                        existeFalta = (int)fh.existeFalta(idEmpleado, fecha.AddDays(i).Date);
                        cnx.Close();
                    }
                    catch
                    {
                        MessageBox.Show("Error: Al verificar existencia de falta.", "Error");
                        cnx.Dispose();
                        return;
                    }

                    if (existeFalta == 0)
                    {
                        Incidencias.Core.IncidenciasHelper ih = new Incidencias.Core.IncidenciasHelper();
                        ih.Command = cmd;

                        Vacaciones.Core.VacacionesHelper vh = new Vacaciones.Core.VacacionesHelper();
                        vh.Command = cmd;

                        bool FLAG_FALTAS = false;

                        if (EsAlta)
                        {
                            if (fecha.AddDays(i).Date < lstAlta[0].fechaingreso.Date)
                            {
                                MessageBox.Show("Error: Alta del empleado: " + fila.Cells["noempleado"].Value.ToString() + ", Fecha de Ingreso = " + lstAlta[0].fechaingreso.Date.ToShortDateString() + "\r\n Fecha de la falta es menor.", "Error");
                                FLAG_FALTAS = true;
                            }
                            else
                                FLAG_FALTAS = false;
                        }

                        if (EsReingreso)
                        {
                            if (fecha.AddDays(i).Date < lstReingreso[0].fechaingreso.Date)
                            {
                                MessageBox.Show("Error: Alta del empleado: " + fila.Cells["noempleado"].Value.ToString() + ", Fecha de Reingreso = " + lstReingreso[0].fechaingreso.Date.ToShortDateString() + "\r\n Fecha de la falta es menor.", "Error");
                                FLAG_FALTAS = true;
                            }
                            else
                                FLAG_FALTAS = false;
                        }

                        if (EsBaja)
                        {
                            if (fecha.AddDays(i).Date > lstBaja[0].fecha.Date)
                            {
                                MessageBox.Show("Error: Alta del empleado " + fila.Cells["noempleado"].Value.ToString() +
                                    ", Fecha de Reingreso = " + lstBaja[0].fecha.Date.ToShortDateString() +
                                    "\r\n Fecha de la falta es mayor.", "Error");
                                FLAG_FALTAS = true;
                            }
                            else
                                FLAG_FALTAS = false;
                        }

                        if (!FLAG_FALTAS)
                        {
                            try
                            {
                                cnx.Open();
                                existe = (int)ih.existeIncidenciaEnFalta(idEmpleado, fecha.AddDays(i).Date);
                                existeVacacion = (int)vh.existeVacacionEnFalta(idEmpleado, fecha.AddDays(i).Date);
                                cnx.Close();
                            }
                            catch
                            {
                                MessageBox.Show("Error: Al guardar la falta.", "Error");
                                cnx.Dispose();
                                return;
                            }

                            if (existe == 0 && existeVacacion == 0)
                                try
                                {
                                    Faltas.Core.Faltas f = new Faltas.Core.Faltas();
                                    f.idempresa = GLOBALES.IDEMPRESA;
                                    f.idtrabajador = idEmpleado;
                                    f.periodo = periodo;
                                    f.faltas = 1;
                                    f.fechainicio = DateTime.Parse(dgvCargaFaltas.Rows[0].Cells["fechainicio"].Value.ToString());
                                    f.fechafin = DateTime.Parse(dgvCargaFaltas.Rows[0].Cells["fechafin"].Value.ToString());
                                    f.fecha = fecha.AddDays(i).Date;

                                    cnx.Open();
                                    fh.insertaFalta(f);
                                    cnx.Close();
                                }
                                catch
                                {
                                    MessageBox.Show("Error: Al guardar la falta.", "Error");
                                    cnx.Dispose();
                                }
                            else
                                MessageBox.Show("La falta ingresada, se empalma con una incapacidad y/o dia de vacación del trabajador.", "Error");
                        }
                    }
                }
                EsAlta = false; EsReingreso = false; EsBaja = false;
            }
            MessageBox.Show("Faltas importadas", "Confirmación");
            cnx.Dispose();
            dgvCargaFaltas.Rows.Clear();
        }
        private void ListaEmpleados()
        {
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            mh = new Modificaciones.Core.ModificacionesHelper();
            eh = new Empleados.Core.EmpleadosHelper();
            mh.Command = cmd;
            eh.Command = cmd;

            Modificaciones.Core.Modificaciones mod = new Modificaciones.Core.Modificaciones();
            mod.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            try
            {
                cnx.Open();
                lstMod = mh.obtieneModificaciones(mod);
                lstEmpleados = eh.obtenerEmpleados(empleado);
                cnx.Close();
                cnx.Dispose();

                var modif = from m in lstMod
                         join t in lstEmpleados on m.idtrabajador equals t.idtrabajador
                         select new
                         {
                             RegistroPatronal = m.registropatronal,
                             Nss = m.nss,
                             Nombre = t.nombrecompleto,
                             Modificacion = m.fecha,
                             Integrado = m.sdi
                         };
                dgvModSua.DataSource = modif.ToList();

                for (int i = 0; i < dgvModSua.Columns.Count; i++)
                {
                    dgvModSua.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #17
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            DateTime periodoInicio, periodoFin;
            bool EsAlta = false, EsReingreso = false, EsBaja = false;

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper emph = new Empleados.Core.EmpleadosHelper();
            emph.Command = cmd;

            Altas.Core.AltasHelper ah = new Altas.Core.AltasHelper();
            ah.Command = cmd;

            Reingreso.Core.ReingresoHelper rh = new Reingreso.Core.ReingresoHelper();
            rh.Command = cmd;

            Bajas.Core.BajasHelper bh = new Bajas.Core.BajasHelper();
            bh.Command = cmd;

            List<Altas.Core.Altas> lstAlta = new List<Altas.Core.Altas>();
            List<Reingreso.Core.Reingresos> lstReingreso = new List<Reingreso.Core.Reingresos>();
            List<Bajas.Core.Bajas> lstBaja = new List<Bajas.Core.Bajas>();

            Altas.Core.Altas alta = new Altas.Core.Altas();
            alta.idempresa = GLOBALES.IDEMPRESA;
            alta.idtrabajador = idTrabajador;
            alta.periodoInicio = _inicioPeriodo.Date;
            alta.periodoFin = _finPeriodo.Date;

            Reingreso.Core.Reingresos reingreso = new Reingreso.Core.Reingresos();
            reingreso.idempresa = GLOBALES.IDEMPRESA;
            reingreso.idtrabajador = idTrabajador;
            reingreso.periodoinicio = _inicioPeriodo.Date;
            reingreso.periodofin = _finPeriodo.Date;

            Bajas.Core.Bajas baja = new Bajas.Core.Bajas();
            baja.idempresa = GLOBALES.IDEMPRESA;
            baja.idtrabajador = idTrabajador;
            baja.periodoinicio = _inicioPeriodo.Date;
            baja.periodofin = _finPeriodo.Date;

            int idperiodo = 0;
            try
            {
                cnx.Open();
                idperiodo = (int)emph.obtenerIdPeriodo(idTrabajador);

                lstAlta = ah.obtenerAlta(alta);
                lstReingreso = rh.obtenerReingreso(reingreso);
                lstBaja = bh.obtenerBaja(baja);
                cnx.Close();
            }
            catch
            {
                MessageBox.Show("Error: al obtener el Id del Periodo.","Error");
                cnx.Dispose();
                return;
            }

            Periodos.Core.PeriodosHelper ph = new Periodos.Core.PeriodosHelper();
            ph.Command = cmd;

            Periodos.Core.Periodos p = new Periodos.Core.Periodos();
            p.idperiodo = idperiodo;

            int periodo = 0;
            try
            {
                cnx.Open();
                periodo = (int)ph.DiasDePago(p);
                cnx.Close();
            }
            catch
            {
                MessageBox.Show("Error: al obtener los dias de pago.", "Error");
                cnx.Dispose();
                return;
            }

            if (periodo == 7)
            {
                DateTime dt = dtpFecha.Value.Date;
                while (dt.DayOfWeek != DayOfWeek.Monday) dt = dt.AddDays(-1);
                periodoInicio = dt;
                periodoFin = dt.AddDays(6);
            }
            else
            {
                if (dtpFecha.Value.Day <= 15)
                {
                    periodoInicio = new DateTime(dtpFecha.Value.Year, dtpFecha.Value.Month, 1);
                    periodoFin = new DateTime(dtpFecha.Value.Year, dtpFecha.Value.Month, 15);
                }
                else
                {
                    periodoInicio = new DateTime(dtpFecha.Value.Year, dtpFecha.Value.Month, 16);
                    periodoFin = new DateTime(dtpFecha.Value.Year, dtpFecha.Value.Month, DateTime.DaysInMonth(dtpFecha.Value.Year, dtpFecha.Value.Month));
                }
            }

            if (lstAlta.Count != 0)
                EsAlta = true;
            if (lstBaja.Count != 0)
                EsBaja = true;
            if (lstReingreso.Count != 0)
                EsReingreso = true;

            Faltas.Core.FaltasHelper fh = new Faltas.Core.FaltasHelper();
            fh.Command = cmd;

            List<Faltas.Core.Faltas> lstFaltas = new List<Faltas.Core.Faltas>();

            int faltas = int.Parse(txtFalta.Text);
            if (int.Parse(txtFalta.Text) > 15)
                faltas = 15;

            for (int i = 0; i < faltas; i++)
            {
                int existe = 0;
                int existeVacacion = 0;
                try
                {
                    cnx.Open();
                    existe = (int)fh.existeFalta(idTrabajador, dtpFecha.Value.AddDays(i).Date);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: Al verificar existencia de falta.", "Error");
                    cnx.Dispose();
                    return;
                }

                if (existe != 0)
                {
                    MessageBox.Show("Ya existe una falta con esa fecha.", "Error");
                    //return;
                }
                else
                {
                    Incidencias.Core.IncidenciasHelper ih = new Incidencias.Core.IncidenciasHelper();
                    ih.Command = cmd;

                    Vacaciones.Core.VacacionesHelper vh = new Vacaciones.Core.VacacionesHelper();
                    vh.Command = cmd;

                    bool FLAG_FALTAS = false;

                    if (EsAlta)
                    {
                        if (dtpFecha.Value.AddDays(i).Date < lstAlta[0].fechaingreso.Date)
                        {
                            MessageBox.Show("Error: Alta del empleado, Fecha de Ingreso = " + lstAlta[0].fechaingreso.Date.ToShortDateString() + "\r\n Fecha de la falta es menor.", "Error");
                            FLAG_FALTAS = true;
                        }
                        else
                            FLAG_FALTAS = false;
                    }

                    if (EsReingreso)
                    {
                        if (dtpFecha.Value.AddDays(i).Date < lstReingreso[0].fechaingreso.Date)
                        {
                            MessageBox.Show("Error: Alta del empleado, Fecha de Reingreso = " + lstReingreso[0].fechaingreso.Date.ToShortDateString() + "\r\n Fecha de la falta es menor.", "Error");
                            FLAG_FALTAS = true;
                        }
                        else
                            FLAG_FALTAS = false;
                    }

                    if (EsBaja)
                    {
                        if (dtpFecha.Value.AddDays(i).Date > lstBaja[0].fecha.Date)
                        {
                            MessageBox.Show("Error: Alta del empleado, Fecha de Reingreso = " + lstBaja[0].fecha.Date.ToShortDateString() + "\r\n Fecha de la falta es mayor.", "Error");
                            FLAG_FALTAS = true;
                        }
                        else
                            FLAG_FALTAS = false;
                    }

                    if (!FLAG_FALTAS)
                    {
                        try
                        {
                            cnx.Open();
                            existe = (int)ih.existeIncidenciaEnFalta(idTrabajador, dtpFecha.Value.AddDays(i).Date);
                            existeVacacion = (int)vh.existeVacacionEnFalta(idTrabajador, dtpFecha.Value.AddDays(i).Date);
                            cnx.Close();
                        }
                        catch
                        {
                            MessageBox.Show("Error: Al guardar la falta.", "Error");
                            cnx.Dispose();
                            return;
                        }

                        if (existe == 0 && existeVacacion == 0)
                        {
                            Faltas.Core.Faltas falta = new Faltas.Core.Faltas();
                            falta.idtrabajador = idTrabajador;
                            falta.idempresa = GLOBALES.IDEMPRESA;
                            falta.faltas = 1;
                            falta.fechainicio = periodoInicio.Date;
                            falta.fechafin = periodoFin.Date;
                            falta.fecha = dtpFecha.Value.AddDays(i).Date;
                            falta.periodo = periodo;
                            lstFaltas.Add(falta);
                        }
                        else
                            MessageBox.Show("La falta ingresada, se empalma con una incapacidad y/o dia de vacación del trabajador.",
                                "Error");
                    }

                }
            }

            if (lstFaltas.Count != 0)
            {
                SqlBulkCopy bulk = new SqlBulkCopy(cnx);
                fh.bulkCommand = bulk;

                DataTable dtFalta = new DataTable();
                DataRow dtFilaFalta;
                dtFalta.Columns.Add("id", typeof(Int32));
                dtFalta.Columns.Add("idtrabajador", typeof(Int32));
                dtFalta.Columns.Add("idempresa", typeof(Int32));
                dtFalta.Columns.Add("periodo", typeof(Int32));
                dtFalta.Columns.Add("faltas", typeof(Int32));
                dtFalta.Columns.Add("fechainicio", typeof(DateTime));
                dtFalta.Columns.Add("fechafin", typeof(DateTime));
                dtFalta.Columns.Add("fecha", typeof(DateTime));

                for (int i = 0; i < lstFaltas.Count; i++)
                {
                    dtFilaFalta = dtFalta.NewRow();
                    dtFilaFalta["id"] = i + 1;
                    dtFilaFalta["idtrabajador"] = lstFaltas[i].idtrabajador;
                    dtFilaFalta["idempresa"] = lstFaltas[i].idempresa;
                    dtFilaFalta["periodo"] = lstFaltas[i].periodo;
                    dtFilaFalta["faltas"] = lstFaltas[i].faltas;
                    dtFilaFalta["fechainicio"] = lstFaltas[i].fechainicio;
                    dtFilaFalta["fechafin"] = lstFaltas[i].fechafin;
                    dtFilaFalta["fecha"] = lstFaltas[i].fecha;
                    dtFalta.Rows.Add(dtFilaFalta);
                }

                try
                {
                    cnx.Open();
                    fh.bulkFaltas(dtFalta, "tmpFaltas");
                    fh.stpFaltas();
                    cnx.Close();
                    cnx.Dispose();
                    muestraFaltas();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n" + error.Message + "\r\n \r\n Error Bulk Faltas.", "Error");
                }
            }
        }
Пример #18
0
        private void mtxtNoEmpleado_Leave(object sender, EventArgs e)
        {
            int existeNoEmpleado = 0;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            try
            {
                cnx.Open();
                existeNoEmpleado = (int)eh.existeEmpleado(GLOBALES.IDEMPRESA, mtxtNoEmpleado.Text);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: Al obtener la existencia del No. de Empleado." + error.Message, "Error");
                cnx.Dispose();
                return;
            }

            if (existeNoEmpleado != 0)
            {
                MessageBox.Show("El No. de Empleado ya existe. Verifique.");
            }
        }
Пример #19
0
        private void guardar(int tipoGuardar)
        {
            int existe = 0;
            //SE VALIDA SI TODOS LOS CAMPOS HAN SIDO LLENADOS.
            string control = GLOBALES.VALIDAR(this, typeof(TextBox));
            if (!control.Equals(""))
            {
                MessageBox.Show("Falta el campo: " + control, "Información");
                return;
            }

            control = GLOBALES.VALIDAR(this, typeof(MaskedTextBox));
            if (!control.Equals(""))
            {
                MessageBox.Show("Falta el campo: " + control, "Información");
                return;
            }

            if (txtNSS.Text.Length != 11)
            {
                MessageBox.Show("El campo NSS es mayor o meno a 11 dígitos.", "Error");
                return;
            }

            int idtrabajador;

            cnx = new SqlConnection();
            cnx.ConnectionString = cdn;
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            CalculoNomina.Core.NominaHelper nh = new CalculoNomina.Core.NominaHelper();
            nh.Command = cmd;

            Empleados.Core.Empleados existeEmpleado = new Empleados.Core.Empleados();
            existeEmpleado.nss = txtNSS.Text.Trim().Substring(0, 10);
            existeEmpleado.digitoverificador = int.Parse(txtNSS.Text.Trim().Substring(10, 1));
            existeEmpleado.idempresa = GLOBALES.IDEMPRESA;

            int existeNss;
            try
            {
                cnx.Open();
                existeNss = (int)eh.existeEmpleado(existeEmpleado);
                cnx.Close();
            }
            catch
            {
                MessageBox.Show("Error al validar existencia de empleado.", "Error");
                return;
            }

            Empleados.Core.Empleados em = new Empleados.Core.Empleados();
            em.nombres = txtNombre.Text;
            em.paterno = txtApPaterno.Text;
            em.materno = txtApMaterno.Text;
            em.noempleado = mtxtNoEmpleado.Text;
            em.nombrecompleto = txtApPaterno.Text + (string.IsNullOrEmpty(txtApMaterno.Text) ? "" : " " + txtApMaterno.Text) + " " + txtNombre.Text;
            em.fechaingreso = dtpFechaIngreso.Value;
            em.antiguedad = int.Parse(txtAntiguedad.Text);
            em.fechaantiguedad = dtpFechaAntiguedad.Value;
            em.fechanacimiento = dtpFechaNacimiento.Value;
            em.antiguedadmod = int.Parse(txtAntiguedadMod.Text);
            em.edad = int.Parse(txtEdad.Text);
            em.idempresa = GLOBALES.IDEMPRESA;
            em.rfc = txtRFC.Text;
            em.curp = txtCURP.Text;
            em.nss = txtNSS.Text.Trim().Substring(0, 10);
            em.digitoverificador = int.Parse(txtNSS.Text.Trim().Substring(10, 1));

            em.idperiodo = int.Parse(cmbPeriodo.SelectedValue.ToString());
            em.idsalario = int.Parse(cmbZona.SelectedValue.ToString());
            em.tiposalario = int.Parse(cmbTipoSalario.SelectedValue.ToString());
            em.tiporegimen = int.Parse(cmbTipoRegimen.SelectedValue.ToString());

            em.sdi = decimal.Parse(txtSDI.Text);
            em.sd = decimal.Parse(txtSD.Text);
            em.sueldo = decimal.Parse(txtSueldo.Text);

            em.cuenta = mtxtCuentaBancaria.Text;
            em.clabe = mtxtCuentaClabe.Text;
            em.idbancario = mtxtIdBancario.Text;
            em.metodopago = cmbMetodoPago.Text;
            //em.metodopago = int.Parse(cmbMetodoPago.SelectedValue.ToString());

            if (chkObraCivil.Checked)
                em.obracivil = true;
            else
                em.obracivil = false;

            //hh = new Historial.Core.HistorialHelper();
            //hh.Command = cmd;
            //Historial.Core.Historial h = new Historial.Core.Historial();
            //h.idempresa = GLOBALES.IDEMPRESA;
            //h.tipomovimiento = GLOBALES.mALTA;
            //h.valor = decimal.Parse(txtSDI.Text);
            //h.fecha_imss = dtpFechaIngreso.Value;
            //h.fecha_sistema = DateTime.Now;
            //h.motivobaja = 0;
            //h.iddepartamento = int.Parse(cmbDepartamento.SelectedValue.ToString());
            //h.idpuesto = int.Parse(cmbPuesto.SelectedValue.ToString());

            ih = new Imagen.Core.ImagenesHelper();
            ih.Command = cmd;

            Imagen.Core.Imagenes img = null;

            //Empresas.Core.EmpresasHelper empresash = new Empresas.Core.EmpresasHelper();
            //empresash.Command = cmd;
            //Empresas.Core.Empresas empresa = new Empresas.Core.Empresas();
            //empresa.idempresa = GLOBALES.IDEMPRESA;

            try
            {
                if (ImagenAsignada == true)
                {
                    img = new Imagen.Core.Imagenes();
                    img.imagen = GLOBALES.IMAGEN_BYTES(bmp);
                    img.tipopersona = GLOBALES.pEMPLEADO;
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: " + error.Message, "Error");
            }

            switch (_tipoOperacion)
            {
                case 0:
                    try
                    {
                        //Empleados.Core.EmpleadosEstatus ee = new Empleados.Core.EmpleadosEstatus();
                        //ee.estatus = GLOBALES.ACTIVO;
                        //ee.idempresa = GLOBALES.IDEMPRESA;

                        em.estatus = GLOBALES.ACTIVO;
                        em.idusuario = GLOBALES.IDUSUARIO;
                        em.iddepartamento = int.Parse(cmbDepartamento.SelectedValue.ToString());
                        em.idpuesto = int.Parse(cmbPuesto.SelectedValue.ToString());

                        if (existeNss != 0)
                        {
                            MessageBox.Show("El empleado que desea ingresar ya existe actualmente. \r\n \r\n Es necesario realizar un reingreso.", "Error");
                            return;
                        }

                        cnx.Open();
                        eh.insertaEmpleado(em);
                        idtrabajador = (int)eh.obtenerIdTrabajador(em);

                        //h.idtrabajador = idtrabajador;
                        //hh.insertarHistorial(h);

                        //ee.idtrabajador = idtrabajador;
                        //eh.insertaEmpleadoEstatus(ee);

                        //a.idtrabajador = idtrabajador;
                        //a.registropatronal = empresash.obtenerRegistroPatronal(empresa).ToString();
                        //ah.insertaAlta(a);

                        if (ImagenAsignada == true)
                        {
                            img.idpersona = idtrabajador;
                            ih.insertaImagen(img);
                        }

                        cnx.Close();
                        cnx.Dispose();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error al ingresar el empleado. \r\n \r\n Error: " + error.Message);
                    }
                    break;
                case 2:
                    try
                    {
                        em.idtrabajador = _idempleado;
                        em.iddepartamento = idDepto;
                        em.idpuesto = idPuesto;

                        pdh = new Periodos.Core.PeriodosHelper();
                        pdh.Command = cmd;

                        Periodos.Core.Periodos p = new Periodos.Core.Periodos();
                        p.idperiodo = int.Parse(cmbPeriodo.SelectedValue.ToString());
                        int diasPago = 0;
                        try { cnx.Open(); diasPago = (int)pdh.DiasDePago(p); cnx.Close(); }
                        catch { MessageBox.Show("Error: Al obtener los dias de pago.", "Error"); }

                        DateTime dt = dtpFechaIngreso.Value.Date;
                        DateTime periodoInicio, periodoFin;
                        int diasProporcionales = 0;
                        if (diasPago == 7)
                        {
                            while (dt.DayOfWeek != DayOfWeek.Monday) dt = dt.AddDays(-1);
                            periodoInicio = dt;
                            periodoFin = dt.AddDays(6);
                            diasProporcionales = (int)(periodoFin.Date - dtpFechaIngreso.Value.Date).TotalDays + 1;
                        }
                        else
                        {
                            if (dt.Day <= 15)
                            {
                                periodoInicio = new DateTime(dt.Year, dt.Month, 1);
                                periodoFin = new DateTime(dt.Year, dt.Month, 15);
                                diasProporcionales = (int)(periodoFin.Date - dtpFechaIngreso.Value.Date).TotalDays + 1;
                            }
                            else
                            {
                                int diasMes = DateTime.DaysInMonth(dt.Year, dt.Month);
                                int diasNoLaborados = 0;
                                periodoInicio = new DateTime(dt.Year, dt.Month, 16);
                                periodoFin = new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
                                diasNoLaborados = (int)(dtpFechaIngreso.Value.Date - periodoInicio).TotalDays;

                                switch (diasMes)
                                {
                                    case 28:
                                        diasProporcionales = 15 - diasNoLaborados;
                                        break;
                                    case 29:
                                        diasProporcionales = 15 - diasNoLaborados;
                                        break;
                                    case 30:
                                        diasProporcionales = (diasMes - 15) - diasNoLaborados;
                                        break;
                                    case 31:
                                        diasProporcionales = (diasMes - 16) - diasNoLaborados;
                                        break;
                                }
                            }
                        }

                        Altas.Core.AltasHelper ah = new Altas.Core.AltasHelper();
                        ah.Command = cmd;
                        Altas.Core.Altas a = new Altas.Core.Altas();
                        a.idempresa = GLOBALES.IDEMPRESA;
                        a.contrato = 4;
                        a.jornada = 12;
                        a.nss = txtNSS.Text;
                        a.rfc = txtRFC.Text;
                        a.curp = txtCURP.Text;
                        a.paterno = txtApPaterno.Text;
                        a.materno = txtApMaterno.Text;
                        a.nombre = txtNombre.Text;
                        a.fechaingreso = dtpFechaIngreso.Value;
                        a.diasproporcionales = diasProporcionales;
                        a.sdi = decimal.Parse(txtSDI.Text);
                        a.fechanacimiento = dtpFechaNacimiento.Value;
                        a.estado = cmbEstado.Text;
                        a.noestado = int.Parse(cmbEstado.SelectedValue.ToString());
                        a.sexo = ObtieneSexo();
                        a.periodoInicio = periodoInicio;
                        a.periodoFin = periodoFin;

                        cnx.Open();
                        eh.actualizaEmpleado(em);

                        a.idtrabajador = _idempleado;
                        ah.actualizaAlta(a);

                        if (ImagenAsignada == true)
                        {
                            img.idpersona = _idempleado;
                            img.tipopersona = GLOBALES.pEMPLEADO;
                            existe = (int)ih.ExisteImagen(img);
                            if (existe != 0)
                                ih.actualizaImagen(img);
                            else
                                ih.insertaImagen(img);
                        }
                        cnx.Close();
                        cnx.Dispose();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error al actualizar el empleado. \r\n \r\n Error: " + error.Message);
                    }
                    break;
            }

            switch (tipoGuardar)
            {
                case 0:
                    GLOBALES.LIMPIAR(this, typeof(TextBox));
                    GLOBALES.LIMPIAR(this, typeof(MaskedTextBox));
                    GLOBALES.REFRESCAR(this, typeof(ComboBox));
                    break;
                case 1:
                    if (OnNuevoEmpleado != null)
                        OnNuevoEmpleado(_tipoOperacion);
                    this.Dispose();
                    break;
            }
        }
Пример #20
0
        private void frmEmpleados_Load(object sender, EventArgs e)
        {
            CargaComboBox();

            if (GLOBALES.OBRACIVIL)
                chkObraCivil.Visible = true;
            else
                chkObraCivil.Visible = false;

            if (_tipoOperacion == GLOBALES.CONSULTAR || _tipoOperacion == GLOBALES.MODIFICAR)
            {
                object fechaBaja;
                cnx = new SqlConnection();
                cnx.ConnectionString = cdn;
                cmd = new SqlCommand();
                cmd.Connection = cnx;
                eh = new Empleados.Core.EmpleadosHelper();
                eh.Command = cmd;

                Bajas.Core.BajasHelper bh = new Bajas.Core.BajasHelper();
                bh.Command = cmd;

                Bajas.Core.Bajas b = new Bajas.Core.Bajas();
                b.idempresa = GLOBALES.IDEMPRESA;
                b.idtrabajador = _idempleado;

                List<Empleados.Core.Empleados> lstEmpleado;

                Empleados.Core.Empleados em = new Empleados.Core.Empleados();
                em.idtrabajador = _idempleado;

                try
                {
                    cnx.Open();
                    lstEmpleado = eh.obtenerEmpleado(em);
                    fechaBaja = bh.obtenerFechaBaja(b);
                    cnx.Close();
                    cnx.Dispose();

                    if (fechaBaja != null)
                    {
                        dtpFechaBaja.Value = DateTime.Parse(fechaBaja.ToString());
                    }
                    else
                        dtpFechaBaja.Value = new DateTime(1900, 1, 1);

                    for (int i = 0; i < lstEmpleado.Count; i++)
                    {
                        txtNombre.Text = lstEmpleado[i].nombres;
                        txtApPaterno.Text = lstEmpleado[i].paterno;
                        txtApMaterno.Text = lstEmpleado[i].materno;
                        mtxtNoEmpleado.Text = lstEmpleado[i].noempleado;
                        dtpFechaIngreso.Value = DateTime.Parse(lstEmpleado[i].fechaingreso.ToString());
                        dtpFechaAntiguedad.Value = DateTime.Parse(lstEmpleado[i].fechaantiguedad.ToString());
                        dtpFechaNacimiento.Value = DateTime.Parse(lstEmpleado[i].fechanacimiento.ToString());
                        txtAntiguedad.Text = lstEmpleado[i].antiguedad.ToString();
                        txtEdad.Text = lstEmpleado[i].edad.ToString();
                        txtAntiguedadMod.Text = lstEmpleado[i].antiguedadmod.ToString();
                        txtRFC.Text = lstEmpleado[i].rfc;
                        txtCURP.Text = lstEmpleado[i].curp;
                        txtNSS.Text = lstEmpleado[i].nss + lstEmpleado[i].digitoverificador.ToString();

                        cmbDepartamento.SelectedValue = int.Parse(lstEmpleado[i].iddepartamento.ToString());
                        cmbPuesto.SelectedValue = int.Parse(lstEmpleado[i].idpuesto.ToString());
                        cmbPeriodo.SelectedValue = int.Parse(lstEmpleado[i].idperiodo.ToString());
                        cmbZona.SelectedValue = int.Parse(lstEmpleado[i].idsalario.ToString());
                        cmbTipoSalario.SelectedValue = int.Parse(lstEmpleado[i].tiposalario.ToString());
                        cmbTipoRegimen.SelectedValue = int.Parse(lstEmpleado[i].tiporegimen.ToString());

                        txtSueldo.Text = lstEmpleado[i].sueldo.ToString("F6");
                        txtSD.Text = lstEmpleado[i].sd.ToString("F6");
                        txtSDI.Text = lstEmpleado[i].sdi.ToString("F6");

                        mtxtCuentaBancaria.Text = lstEmpleado[i].cuenta.ToString();
                        mtxtCuentaClabe.Text = lstEmpleado[i].clabe.ToString();
                        mtxtIdBancario.Text = lstEmpleado[i].idbancario.ToString();

                        if (lstEmpleado[i].metodopago == "EFECTIVO")
                            cmbMetodoPago.SelectedIndex = 0;
                        if (lstEmpleado[i].metodopago == "CHEQUE")
                            cmbMetodoPago.SelectedIndex = 1;
                        if (lstEmpleado[i].metodopago == "TRANSFERENCIA")
                            cmbMetodoPago.SelectedIndex = 2;

                        departamento = cmbDepartamento.Text;
                        puesto = cmbPuesto.Text;
                        idDepto = int.Parse(lstEmpleado[i].iddepartamento.ToString());
                        idPuesto = int.Parse(lstEmpleado[i].idpuesto.ToString());

                        if (lstEmpleado[i].obracivil)
                            chkObraCivil.Checked = true;
                        else
                            chkObraCivil.Checked = false;
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }

                if (_tipoOperacion == GLOBALES.CONSULTAR)
                {
                    toolTitulo.Text = "Consulta Empleado";
                    GLOBALES.INHABILITAR(this, typeof(TextBox));
                    GLOBALES.INHABILITAR(this, typeof(MaskedTextBox));
                    GLOBALES.INHABILITAR(this, typeof(Button));
                    GLOBALES.INHABILITAR(this, typeof(DateTimePicker));
                    GLOBALES.INHABILITAR(this, typeof(ComboBox));
                    GLOBALES.INHABILITAR(this, typeof(RadioButton));
                    GLOBALES.INHABILITAR(this, typeof(CheckBox));
                    toolGuardarCerrar.Enabled = false;
                    toolGuardarNuevo.Enabled = false;
                }
                else
                {
                    toolTitulo.Text = "Edición Empleado";
                    cmbPeriodo.Enabled = false;
                }
            }
            else
                toolHistorial.Enabled = false;
        }
Пример #21
0
        private void frmListaHistorial_Load(object sender, EventArgs e)
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            eh = new Empleados.Core.EmpleadosHelper();
            hh = new Historial.Core.HistorialHelper();
            dh = new Departamento.Core.DeptoHelper();
            ph = new Puestos.Core.PuestosHelper();

            eh.Command = cmd;
            hh.Command = cmd;
            dh.Command = cmd;
            ph.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = _idempleado;
            Historial.Core.Historial historial = new Historial.Core.Historial();
            historial.idtrabajador = _idempleado;
            Departamento.Core.Depto depto = new Departamento.Core.Depto();
            depto.idempresa = GLOBALES.IDEMPRESA;
            Puestos.Core.Puestos puesto = new Puestos.Core.Puestos();
            puesto.idempresa = GLOBALES.IDEMPRESA;

            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleado(empleado);
                lstHistorial = hh.obtenerHistoriales(historial);
                lstDepto = dh.obtenerDepartamentos(depto);
                lstPuesto = ph.obtenerPuestos(puesto);
                cnx.Close();
                cnx.Dispose();

                var lista = from emp in lstEmpleados join his in lstHistorial on emp.idtrabajador equals his.idtrabajador
                            join d in lstDepto on his.iddepartamento equals d.id
                            join p in lstPuesto on his.idpuesto equals p.idpuesto orderby his.fecha_imss ascending
                         select new
                         {
                             IdTrabajador = emp.idtrabajador,
                             NoEmpleado = emp.noempleado,
                             Nombre = emp.nombrecompleto,
                             Movimiento =
                                his.tipomovimiento == GLOBALES.mALTA ? "ALTA" :
                                his.tipomovimiento == GLOBALES.mMODIFICACIONSALARIO ? "MODIFICACION" :
                                his.tipomovimiento == GLOBALES.mREINGRESO ? "REINGRESO" :
                                his.tipomovimiento == GLOBALES.mBAJA ? "BAJA" :
                                his.tipomovimiento == GLOBALES.mCAMBIODEPARTAMENTO ? "CAMBIO DE DEPARTAMENTO" : "CAMBIO DE PUESTO",
                             SDI = his.valor,
                             FechaAplicacion = his.fecha_imss,
                             FechaSistema = his.fecha_sistema,
                             Depto = d.descripcion,
                             Puesto = p.nombre
                         };
                dgvHistorial.DataSource = lista.ToList();

                for (int i = 0; i < dgvHistorial.Columns.Count; i++)
                {
                    dgvHistorial.AutoResizeColumn(i);
                }
                dgvHistorial.Columns["IdTrabajador"].Visible = false;
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #22
0
        private void lstvDepartamentos_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            idDepartamentos = "";
            for (int i = 0; i < lstvDepartamentos.Items.Count; i++)
            {
                if (lstvDepartamentos.Items[i].Checked)
                {
                    idDepartamentos += lstvDepartamentos.Items[i].Text + ",";
                }
            }

            if (idDepartamentos != "")
            {
                for (int i = 0; i < lstvPeriodos.SelectedItems.Count; i++)
                    fecha = lstvPeriodos.SelectedItems[i].Text;

                if (fecha != "")
                {
                    dgvEmpleados.DataSource = null;
                    dgvEmpleados.Columns.Clear();
                    cnx = new SqlConnection(cdn);
                    cmd = new SqlCommand();
                    cmd.Connection = cnx;

                    Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
                    eh.Command = cmd;

                    lstEmp = new List<Empleados.Core.Empleados>();
                    idDepartamentos = idDepartamentos.Substring(0, idDepartamentos.Length - 1);

                    try
                    {
                        cnx.Open();
                        lstEmp = eh.obtenerEmpleadoPorDepto(GLOBALES.IDEMPRESA, idDepartamentos, DateTime.Parse(fecha).Date, (cmbTipoNomina.Text == "Normal" ? 0 : 2));
                        cnx.Close();
                    }
                    catch
                    {
                        MessageBox.Show("Error: Al obtener el listado de los empleados.", "Error");
                        cnx.Dispose();
                        return;
                    }

                    var empleados = from emp in lstEmp select new { emp.idtrabajador, emp.noempleado, emp.nombrecompleto };
                    dgvEmpleados.DataSource = empleados.ToList();
                    dgvEmpleados.Columns.Add("generado", "Generado");

                    dgvEmpleados.Columns["idtrabajador"].Visible = false;
                    dgvEmpleados.Columns["noempleado"].Width = 60;
                    dgvEmpleados.Columns["nombrecompleto"].Width = 230;
                    dgvEmpleados.Columns["generado"].Width = 150;
                }
            }
            else
                dgvEmpleados.DataSource = null;
        }
Пример #23
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            string rp;
            //SE VALIDA SI TODOS LOS CAMPOS HAN SIDO LLENADOS.
            string control = GLOBALES.VALIDAR(this, typeof(TextBox));
            if (!control.Equals(""))
            {
                MessageBox.Show("Falta el campo: " + control, "Información");
                return;
            }

            control = GLOBALES.VALIDAR(this, typeof(MaskedTextBox));
            if (!control.Equals(""))
            {
                MessageBox.Show("Falta el campo: " + control, "Información");
                return;
            }

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper empleadoh = new Empleados.Core.EmpleadosHelper();
            Historial.Core.HistorialHelper hh = new Historial.Core.HistorialHelper();
            Reingreso.Core.ReingresoHelper rh = new Reingreso.Core.ReingresoHelper();
            Empresas.Core.EmpresasHelper eh = new Empresas.Core.EmpresasHelper();
            Infonavit.Core.InfonavitHelper ih = new Infonavit.Core.InfonavitHelper();

            empleadoh.Command = cmd;
            hh.Command = cmd;
            rh.Command = cmd;
            eh.Command = cmd;
            ih.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            Empleados.Core.EmpleadosEstatus ee = new Empleados.Core.EmpleadosEstatus();
            Historial.Core.Historial historia = new Historial.Core.Historial();
            Reingreso.Core.Reingresos reingreso = new Reingreso.Core.Reingresos();
            Empresas.Core.Empresas empresa = new Empresas.Core.Empresas();

            empleado.idtrabajador = _idempleado;
            empleado.idempresa = lstEmpleado[0].idempresa;
            empleado.fechaingreso = dtpFechaReingreso.Value;
            empleado.fechaantiguedad = dtpFechaAntiguedad.Value;
            empleado.antiguedad = int.Parse(txtAntiguedad.Text);
            empleado.antiguedadmod = int.Parse(txtAntiguedadMod.Text);
            empleado.iddepartamento = int.Parse(cmbDepartamento.SelectedValue.ToString());
            empleado.idpuesto = int.Parse(cmbPuesto.SelectedValue.ToString());
            empleado.idperiodo = int.Parse(cmbPeriodo.SelectedValue.ToString());
            empleado.sueldo = decimal.Parse(txtSueldo.Text);
            empleado.sd = decimal.Parse(txtSalarioDiario.Text);
            empleado.sdi = decimal.Parse(txtSDI.Text);
            empleado.idusuario = GLOBALES.IDUSUARIO;
            empleado.estatus = GLOBALES.ACTIVO;
            empleado.cuenta = mtxtCuentaBancaria.Text;
            empleado.clabe = mtxtCuentaClabe.Text;
            empleado.idbancario = mtxtIdBancario.Text;
            empleado.metodopago = cmbMetodoPago.Text;

            if (chkObraCivil.Checked)
                empleado.obracivil = true;
            else
                empleado.obracivil = false;

            ee.idtrabajador = _idempleado;
            ee.idempresa = GLOBALES.IDEMPRESA;
            ee.estatus = GLOBALES.REINGRESO;

            historia.idtrabajador = _idempleado;
            historia.idempresa = lstEmpleado[0].idempresa;
            historia.valor = decimal.Parse(txtSDI.Text);
            historia.fecha_imss = dtpFechaReingreso.Value;
            historia.fecha_sistema = DateTime.Now;
            historia.motivobaja = 0;
            historia.tipomovimiento = GLOBALES.mREINGRESO;
            historia.iddepartamento = int.Parse(cmbDepartamento.SelectedValue.ToString());
            historia.idpuesto = int.Parse(cmbPuesto.SelectedValue.ToString());

            empresa.idempresa = lstEmpleado[0].idempresa;

            reingreso.idtrabajador = _idempleado;
            reingreso.idempresa = lstEmpleado[0].idempresa;
            reingreso.fechaingreso = dtpFechaReingreso.Value;
            reingreso.sdi = decimal.Parse(txtSDI.Text);
            reingreso.registro = DateTime.Now;

            Periodos.Core.PeriodosHelper pdh = new Periodos.Core.PeriodosHelper();
            pdh.Command = cmd;

            Periodos.Core.Periodos p = new Periodos.Core.Periodos();
            p.idperiodo = int.Parse(cmbPeriodo.SelectedValue.ToString());
            int diasPago = 0;
            try { cnx.Open(); diasPago = (int)pdh.DiasDePago(p); cnx.Close(); }
            catch { MessageBox.Show("Error: Al obtener los dias de pago.", "Error"); }

            DateTime dt = dtpFechaReingreso.Value.Date;
            DateTime periodoInicio, periodoFin;
            int diasProporcionales = 0;
            if (diasPago == 7)
            {
                while (dt.DayOfWeek != DayOfWeek.Monday) dt = dt.AddDays(-1);
                periodoInicio = dt;
                periodoFin = dt.AddDays(6);
                diasProporcionales = (int)(periodoFin.Date - dtpFechaReingreso.Value.Date).TotalDays + 1;
            }
            else
            {
                if (dt.Day <= 15)
                {
                    periodoInicio = new DateTime(dt.Year, dt.Month, 1);
                    periodoFin = new DateTime(dt.Year, dt.Month, 15);
                    diasProporcionales = (int)(periodoFin.Date - dtpFechaReingreso.Value.Date).TotalDays + 1;
                }
                else
                {
                    int diasMes = DateTime.DaysInMonth(dt.Year, dt.Month);
                    int diasNoLaborados = 0;
                    periodoInicio = new DateTime(dt.Year, dt.Month, 16);
                    periodoFin = new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
                    diasNoLaborados = (int)(dtpFechaReingreso.Value.Date - periodoInicio).TotalDays;
                    switch (diasMes)
                    {
                        case 28:
                            diasProporcionales = 15 - diasNoLaborados;
                            break;
                        case 29:
                            diasProporcionales = 15 - diasNoLaborados;
                            break;
                        case 30:
                            diasProporcionales = (diasMes - 15) - diasNoLaborados;
                            break;
                        case 31:
                            diasProporcionales = (diasMes - 16) - diasNoLaborados;
                            break;
                    }
                }
            }

            CalculoNomina.Core.NominaHelper nh = new CalculoNomina.Core.NominaHelper();
            nh.Command = cmd;

            List<CalculoNomina.Core.tmpPagoNomina> lstFechas = new List<CalculoNomina.Core.tmpPagoNomina>();
            bool verificaFechas = false;

            try
            {
                cnx.Open();
                lstFechas = nh.obtenerUltimaNominaTrabajador(GLOBALES.IDEMPRESA, GLOBALES.NORMAL, diasPago, _idempleado);
                cnx.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Error: Al obtener la fecha de la ultima nómina calculada", "Error");
            }

            if (lstFechas.Count != 0)
            {
                if (dtpFechaReingreso.Value.Date <= lstFechas[0].fechainicio.Date || dtpFechaReingreso.Value.Date <= lstFechas[0].fechafin.Date)
                    verificaFechas = false;
                else
                    verificaFechas = true;
                if (!verificaFechas)
                {
                    MessageBox.Show("La fecha de ingreso es invalida. Fecha menor al ultimo periodo calculado, verifique.", "Error");
                    return;
                }
            }

            try {
                cnx.Open();
                empleadoh.reingreso(empleado);
                empleadoh.bajaEmpleado(ee);

                rp = (string)eh.obtenerRegistroPatronal(empresa);

                reingreso.registropatronal = rp;
                reingreso.nss = lstEmpleado[0].nss + lstEmpleado[0].digitoverificador;
                reingreso.diasproporcionales = diasProporcionales;
                reingreso.periodoinicio = periodoInicio;
                reingreso.periodofin = periodoFin;

                rh.insertaReingreso(reingreso);
                hh.insertarHistorial(historia);

                cnx.Close();
                MessageBox.Show("Empleado reingresado con éxito.", "Información");

                if (OnReingreso != null)
                    OnReingreso(GLOBALES.NUEVO);
            }
            catch (Exception error) {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }

            int existeInfonavit = 0;
            try
            {
                cnx.Open();
                existeInfonavit = (int)ih.existeInfonavit(_idempleado);
                cnx.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Error: Al obtener la existencia del Infonavit.\r\n AVISO: INGRESAR O MODIFICAR MANUALMENTE EL CREDITO DE INFONAVIT", "Error");
                cnx.Dispose();
            }

            List<Infonavit.Core.Infonavit> lstInfonavit = new List<Infonavit.Core.Infonavit>();
            if (existeInfonavit != 0)
            {
                try
                {
                    cnx.Open();
                    lstInfonavit = ih.obtenerInfonavitTrabajador(_idempleado);
                    cnx.Close();
                }
                catch (Exception)
                {
                    MessageBox.Show("Error: Al obtener la información de infonavit.\r\n AVISO: INGRESAR O MODIFICAR MANUALMENTE EL CREDITO DE INFONAVIT", "Error");
                    cnx.Dispose();
                }

                try
                {
                    cnx.Open();
                    ih.actualizaEstatusInfonavit(lstInfonavit[0].idinfonavit, _idempleado);
                    cnx.Close();
                    MessageBox.Show("Trabajador cuenta con Infonavit. Crédito: " + lstInfonavit[0].credito, "Información");
                }
                catch (Exception)
                {
                    MessageBox.Show("Error: Al obtener al activar el crédito de infonavit.\r\n AVISO: INGRESAR O MODIFICAR MANUALMENTE EL CREDITO DE INFONAVIT", "Error");
                    cnx.Dispose();
                }
            }

            this.Dispose();
        }
Пример #24
0
        private void ListaEmpleados()
        {
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            bh = new Bajas.Core.BajasHelper();
            ch = new Catalogos.Core.CatalogosHelper();
            eh = new Empleados.Core.EmpleadosHelper();
            bh.Command = cmd;
            ch.Command = cmd;
            eh.Command = cmd;

            Bajas.Core.Bajas baja = new Bajas.Core.Bajas();
            baja.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;

            try
            {
                cnx.Open();
                lstBajas = bh.obtenerBajas(baja);
                lstCatalogos = ch.obtenerCatalogos();
                lstEmpleados = eh.obtenerEmpleadosBaja(empleado);
                cnx.Close();
                cnx.Dispose();

                var baj = from b in lstBajas
                          join c in lstCatalogos on b.motivo equals c.id
                          join t in lstEmpleados on b.idtrabajador equals t.idtrabajador
                          select new
                          {
                              Folio = b.id,
                              Id = b.idtrabajador,
                              NoEmpleado = t.noempleado,
                              RegistroPatronal = b.registropatronal,
                              Nss = b.nss,
                              Nombre = t.nombrecompleto,
                              Motivo = c.descripcion,
                              MValor = c.valor,
                              Baja = b.fecha,
                              Observaciones = b.observaciones
                          };

                dgvBajasSua.DataSource = baj.ToList();

                for (int i = 0; i < dgvBajasSua.Columns.Count; i++)
                {
                    dgvBajasSua.AutoResizeColumn(i);
                }

                dgvBajasSua.Columns["Folio"].Visible = false;
                dgvBajasSua.Columns["Id"].Visible = false;
                dgvBajasSua.Columns["MValor"].Visible = false;
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #25
0
        private void guardar(int tipoGuardar)
        {
            //SE VALIDA SI TODOS LOS CAMPOS HAN SIDO LLENADOS.
            string control = GLOBALES.VALIDAR(this, typeof(TextBox));

            if (!control.Equals(""))
            {
                MessageBox.Show("Falta el campo: " + control, "Información");
                return;
            }

            control = GLOBALES.VALIDAR(this, typeof(MaskedTextBox));
            if (!control.Equals(""))
            {
                MessageBox.Show("Falta el campo: " + control, "Información");
                return;
            }

            cnx = new MySqlConnection();
            cnx.ConnectionString = cdn;
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;
            eh             = new Empleados.Core.EmpleadosHelper();
            eh.Command     = cmd;

            Empleados.Core.Empleados em = new Empleados.Core.Empleados();
            em.nombres           = txtNombre.Text;
            em.paterno           = txtApMaterno.Text;
            em.materno           = txtApMaterno.Text;
            em.nombrecompleto    = txtApPaterno.Text + (string.IsNullOrEmpty(txtApMaterno.Text) ? "" : " " + txtApMaterno.Text) + " " + txtNombre.Text;
            em.fechanacimiento   = dtpFechaNacimiento.Value;
            em.edad              = int.Parse(txtEdad.Text);
            em.idempresa         = GLOBALES.IDEMPRESA;
            em.fechaingreso      = dtpFechaIngreso.Value;
            em.localforaneo      = cmbLocalForaneo.SelectedValue.ToString();
            em.sua               = cmbSua.SelectedValue.ToString();
            em.rfc               = txtRFC.Text;
            em.curp              = txtCURP.Text;
            em.nss               = txtNSS.Text;
            em.digitoverificador = int.Parse(txtDigito.Text);

            switch (_tipoOperacion)
            {
            case 0:
                try
                {
                    em.antiguedad  = 0;
                    em.idcliente   = int.Parse(cmbCliente.SelectedValue.ToString());
                    em.idperiodo   = int.Parse(cmbPeriodo.SelectedValue.ToString());
                    em.tiposalario = cmbTipoSalario.SelectedValue.ToString();
                    em.sdi         = decimal.Parse(txtSDI.Text);
                    em.sd          = decimal.Parse(txtSD.Text);
                    em.sueldo      = decimal.Parse(txtSueldo.Text);
                    em.idinfonavit = 0;
                    em.estatus     = 0;
                    em.idse        = 0;
                    em.modsalario  = 0;
                    em.idplaza     = GLOBALES.IDPLAZA;

                    cnx.Open();
                    eh.insertaEmpleado(em);
                    cnx.Close();
                    cnx.Dispose();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error al ingresar el empleado. \r\n \r\n Error: " + error.Message);
                }
                break;

            case 2:
                try
                {
                    em.idempresa = _idempleado;
                    cnx.Open();
                    eh.actualizaEmpleado(em);
                    cnx.Close();
                    cnx.Dispose();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error al actualizar el empleado. \r\n \r\n Error: " + error.Message);
                }
                break;
            }

            switch (tipoGuardar)
            {
            case 0:
                GLOBALES.LIMPIAR(this, typeof(TextBox));
                GLOBALES.LIMPIAR(this, typeof(MaskedTextBox));
                GLOBALES.REFRESCAR(this, typeof(ComboBox));
                break;

            case 1:
                if (OnNuevoEmpleado != null)
                {
                    OnNuevoEmpleado(_tipoOperacion);
                }
                this.Dispose();
                break;
            }
        }
Пример #26
0
        private void toolEliminar_Click(object sender, EventArgs e)
        {
            int fila = dgvBajasSua.CurrentCell.RowIndex;
            int idPeriodo = 0, diasPeriodo = 0;
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Bajas.Core.BajasHelper bh = new Bajas.Core.BajasHelper();
            bh.Command = cmd;

            CalculoNomina.Core.NominaHelper nh = new CalculoNomina.Core.NominaHelper();
            nh.Command = cmd;

            Periodos.Core.PeriodosHelper ph = new Periodos.Core.PeriodosHelper();
            ph.Command = cmd;

            Periodos.Core.Periodos periodo = new Periodos.Core.Periodos();

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            List<Bajas.Core.Bajas> lstBaja = new List<Bajas.Core.Bajas>();
            List<CalculoNomina.Core.tmpPagoNomina> lstNomina = new List<CalculoNomina.Core.tmpPagoNomina>();

            try
            {
                cnx.Open();
                idPeriodo = int.Parse(eh.obtenerIdPeriodo(int.Parse(dgvBajasSua.Rows[fila].Cells[1].Value.ToString())).ToString());
                periodo.idperiodo = idPeriodo;
                diasPeriodo = int.Parse(ph.DiasDePago(periodo).ToString());
                lstBaja = bh.obtenerBaja(int.Parse(dgvBajasSua.Rows[fila].Cells[0].Value.ToString()));
                lstNomina = nh.obtenerUltimaNominaTrabajador(GLOBALES.IDEMPRESA, int.Parse(dgvBajasSua.Rows[fila].Cells[1].Value.ToString()), diasPeriodo);
                cnx.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Error: Al obtener los datos de la baja.", "Error");
                cnx.Dispose();
                return;
            }

            if (lstNomina.Count != 0)
                if (lstBaja[0].periodoinicio == lstNomina[0].fechainicio && lstBaja[0].periodofin == lstNomina[0].fechafin)
                {
                    MessageBox.Show("La baja pertenece a un periodo cerrado. No se puede eliminar.", "Información");
                    return;
                }

            DialogResult respuesta = MessageBox.Show("¿Quiere eliminar la baja?. \r\n \r\n CUIDADO. Esta acción eliminará permanentemente el registro.", "Confirmación", MessageBoxButtons.YesNo);
            if (respuesta == DialogResult.Yes)
            {
                Historial.Core.HistorialHelper hh = new Historial.Core.HistorialHelper();
                hh.Command = cmd;

                Empleados.Core.EmpleadosEstatus ee = new Empleados.Core.EmpleadosEstatus();
                ee.idtrabajador = int.Parse(dgvBajasSua.Rows[fila].Cells[1].Value.ToString());
                ee.idempresa = GLOBALES.IDEMPRESA;
                ee.estatus = GLOBALES.ACTIVO;

                Bajas.Core.Bajas baja = new Bajas.Core.Bajas();
                baja.idtrabajador = int.Parse(dgvBajasSua.Rows[fila].Cells[1].Value.ToString());
                baja.idempresa = GLOBALES.IDEMPRESA;
                baja.fecha = DateTime.Parse(dgvBajasSua.Rows[fila].Cells[8].Value.ToString()).Date;

                Historial.Core.Historial historial = new Historial.Core.Historial();
                historial.idtrabajador = int.Parse(dgvBajasSua.Rows[fila].Cells[1].Value.ToString());
                historial.idempresa = GLOBALES.IDEMPRESA;
                historial.fecha_imss = DateTime.Parse(dgvBajasSua.Rows[fila].Cells[8].Value.ToString()).Date;

                try
                {
                    cnx.Open();
                    bh.eliminaBaja(baja);
                    eh.bajaEmpleado(ee);
                    eh.actualizaEstatus(int.Parse(dgvBajasSua.Rows[fila].Cells[1].Value.ToString()));
                    cnx.Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: Al eliminar la baja. \r\n" + error.Message, "Error");
                    cnx.Dispose();
                    return;
                }

                try
                {
                    cnx.Open();
                    hh.eliminaHistorial(historial);
                    cnx.Close();
                    cnx.Dispose();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: Al eliminar el movimiento del historial.\r\n" + error.Message, "Error");
                    cnx.Dispose();
                    return;
                }

                MessageBox.Show("Registro eliminado.", "Confirmación");
                ListaEmpleados();
            }
        }
Пример #27
0
        void b_OnBuscar(int id, string nombre)
        {
            idTrabajador = id;

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Puestos.Core.PuestosHelper ph = new Puestos.Core.PuestosHelper();
            ph.Command = cmd;

            Departamento.Core.DeptoHelper dh = new Departamento.Core.DeptoHelper();
            dh.Command = cmd;

            List<Empleados.Core.Empleados> lstEmpleado = new List<Empleados.Core.Empleados>();
            List<Departamento.Core.Depto> lstDepartamento = new List<Departamento.Core.Depto>();
            List<Puestos.Core.Puestos> lstPuesto = new List<Puestos.Core.Puestos>();

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = id;

            Departamento.Core.Depto dpto = new Departamento.Core.Depto();
            dpto.idempresa = GLOBALES.IDEMPRESA;

            Puestos.Core.Puestos puesto = new Puestos.Core.Puestos();
            puesto.idempresa = GLOBALES.IDEMPRESA;

            try {
                cnx.Open();
                lstEmpleado = eh.obtenerEmpleado(empleado);
                lstDepartamento = dh.obtenerDepartamentos(dpto);
                lstPuesto = ph.obtenerPuestos(puesto);
                cnx.Close();
                cnx.Dispose();
            }
            catch
            {
                MessageBox.Show("Error al obtener el empleado.","Error");
            }

            var dato = from emp in lstEmpleado
                       join d in lstDepartamento on emp.iddepartamento equals d.id
                       join p in lstPuesto on emp.idpuesto equals p.idpuesto
                       select new {
                           emp.noempleado,
                           emp.nombrecompleto,
                           emp.sd,
                           d.descripcion,
                           p.nombre,
                           emp.fechaingreso
                       };
            foreach (var i in dato)
            {
                mtxtNoEmpleado.Text = i.noempleado;
                txtNombreCompleto.Text = i.nombrecompleto;
                txtDepartamento.Text = i.descripcion;
                txtPuesto.Text = i.nombre;
                txtSueldo.Text = "$ " + i.sd.ToString("#,##0.00");
                txtFechaIngreso.Text = i.fechaingreso.ToString("dd-MM-yyyy");
            }

            dgvPercepciones.DataSource = null;
            dgvDeducciones.DataSource = null;
            txtPercepciones.Text = "$ 0.00";
            txtDeducciones.Text = "$ 0.00";
            txtNeto.Text = "$ 0.00";

            muestraDatos();
            muestraFaltas();
            muestraIncidencias();
            muestraProgramacion();
            muestraMovimientos();
            muestraInfonavit();
            muestraVacaciones();
        }
Пример #28
0
        private void workAntiguedad_DoWork(object sender, DoWorkEventArgs e)
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            try
            {
                cnx.Open();
                eh.actualizaAntiguedad(GLOBALES.IDEMPRESA);
                cnx.Close();
            }
            catch
            {
                cnx.Dispose();
                return;
            }
        }
Пример #29
0
        private void toolBaja_Click(object sender, EventArgs e)
        {
            int    estatus    = 0;
            string cdn        = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            int    fila       = dgvEmpleados.CurrentCell.RowIndex;
            int    idempleado = int.Parse(dgvEmpleados.Rows[fila].Cells[0].Value.ToString());

            cnx            = new MySqlConnection(cdn);
            cmd            = new MySqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = idempleado;

            LayoutMovimientos.Core.LayoutHelper lh = new LayoutMovimientos.Core.LayoutHelper();
            lh.Command = cmd;
            LayoutMovimientos.Core.LayoutMovimientos lm = new LayoutMovimientos.Core.LayoutMovimientos();
            lm.idtrabajador = idempleado;

            try
            {
                cnx.Open();
                estatus = (int)eh.obtenerEstatus(empleado);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }

            if (estatus.Equals(0))
            {
                DialogResult respuesta = MessageBox.Show("¿Quiere eliminar la trabajador?", "Confirmación", MessageBoxButtons.YesNo);
                if (respuesta == DialogResult.Yes)
                {
                    //eh = new Empleados.Core.EmpleadosHelper();
                    //eh.Command = cmd;

                    try
                    {
                        cnx.Open();
                        eh.bajaEmpleado(empleado);
                        lh.bajaLayoutMovimiento(lm);
                        cnx.Close();
                        cnx.Dispose();
                        ListaEmpleados();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                    }
                }
            }
            else
            {
                MessageBox.Show("El empleado no puede ser eliminado. Ya tiene movimientos registrados.", "Confirmación");
            }
        }
Пример #30
0
        private void ListaEmpleados()
        {
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            ih = new Infonavit.Core.InfonavitHelper();
            eh = new Empleados.Core.EmpleadosHelper();
            ih.Command = cmd;
            eh.Command = cmd;

            Infonavit.Core.suaInfonavit sua = new Infonavit.Core.suaInfonavit();
            sua.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            try
            {
                cnx.Open();
                lstInf = ih.obtenerInfonavit(sua);
                lstEmpleados = eh.obtenerEmpleados(empleado);
                cnx.Close();
                cnx.Dispose();

                var inf = from i in lstInf
                            join t in lstEmpleados on i.idtrabajador equals t.idtrabajador
                            select new
                            {
                                RegistroPatronal = i.registropatronal,
                                Nss = i.nss,
                                Nombre = t.nombrecompleto,
                                Credito = i.credito,
                                Modificacion = i.modificacion,
                                Descuento = i.descuento,
                                Fecha = i.fecha,
                                Valor = i.valor
                            };
                dgvInfSua.DataSource = inf.ToList();

                for (int i = 0; i < dgvInfSua.Columns.Count; i++)
                {
                    dgvInfSua.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #31
0
        private void btnCalcular_Click(object sender, EventArgs e)
        {
            if (idempleado == 0)
            {
                MessageBox.Show("Debe especificar el empleado.", "Información");
                return;
            }

            if (txtSueldo.Text.Length != 0)
            {
                int    DiasDePago   = 0;
                double FactorDePago = 0;
                int    Periodo      = 0;
                cnx = new MySqlConnection();
                cnx.ConnectionString = cdn;
                cmd            = new MySqlCommand();
                cmd.Connection = cnx;

                Periodos.Core.PeriodosHelper   ph = new Periodos.Core.PeriodosHelper();
                Periodos.Core.Periodos         p  = new Periodos.Core.Periodos();
                Factores.Core.FactoresHelper   fh = new Factores.Core.FactoresHelper();
                Factores.Core.Factores         f  = new Factores.Core.Factores();
                Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
                Empleados.Core.Empleados       em = new Empleados.Core.Empleados();

                ph.Command = cmd;
                fh.Command = cmd;
                eh.Command = cmd;

                try
                {
                    em.idtrabajador = idempleado;
                    List <Empleados.Core.Empleados> lstEmpleado = eh.obtenerEmpleado(em);
                    for (int i = 0; i < lstEmpleado.Count; i++)
                    {
                        Periodo = lstEmpleado[i].idperiodo;
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                    this.Dispose();
                }

                p.idperiodo = Periodo;
                f.anio      = 0;

                try
                {
                    cnx.Open();
                    DiasDePago   = (int)ph.DiasDePago(p);
                    FactorDePago = double.Parse(fh.FactorDePago(f).ToString());
                    cnx.Close();
                    cnx.Dispose();

                    txtSD.Text  = (double.Parse(txtSueldo.Text) / DiasDePago).ToString("F4");
                    txtSDI.Text = (double.Parse(txtSD.Text) * FactorDePago).ToString("F4");
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                    this.Dispose();
                }
            }
        }
Пример #32
0
        private void frmBuscar_Load(object sender, EventArgs e)
        {
            dgvCatalogo.RowHeadersVisible = false;

            cnx = new MySqlConnection();
            cmd = new MySqlCommand();
            cnx.ConnectionString = cdn;
            cmd.Connection       = cnx;

            if (_catalogo == GLOBALES.EMPLEADOS)
            {
                eh         = new Empleados.Core.EmpleadosHelper();
                eh.Command = cmd;

                Empleados.Core.Empleados em = new Empleados.Core.Empleados();
                em.idplaza   = GLOBALES.IDPLAZA;
                em.idempresa = GLOBALES.IDEMPRESA;

                try
                {
                    cnx.Open();
                    lstEmpleados = eh.obtenerEmpleados(em);
                    cnx.Close();
                    cnx.Dispose();

                    var empleados = from a in lstEmpleados select new { Id = a.idtrabajador, Nombre = a.nombrecompleto };
                    dgvCatalogo.DataSource = empleados.ToList();

                    for (int i = 0; i < dgvCatalogo.Columns.Count; i++)
                    {
                        dgvCatalogo.AutoResizeColumn(i);
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }
            }
            else if (_catalogo == GLOBALES.CLIENTES)
            {
                ch         = new Clientes.Core.ClientesHelper();
                ch.Command = cmd;

                Clientes.Core.Clientes clientes = new Clientes.Core.Clientes();
                clientes.plaza = GLOBALES.IDPLAZA;

                try
                {
                    cnx.Open();
                    lstClientes = ch.obtenerClientes(clientes);
                    cnx.Close();
                    cnx.Dispose();

                    var cliente = from c in lstClientes select new { Id = c.idcliente, Nombre = c.nombre };
                    dgvCatalogo.DataSource = cliente.ToList();

                    for (int i = 0; i < dgvCatalogo.Columns.Count; i++)
                    {
                        dgvCatalogo.AutoResizeColumn(i);
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }
            }
        }
Пример #33
0
        private void ListaEmpleados()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            Infonavit.Core.InfonavitHelper ih = new Infonavit.Core.InfonavitHelper();
            eh.Command = cmd;
            ih.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            Infonavit.Core.Infonavit inf = new Infonavit.Core.Infonavit();
            inf.idempresa = GLOBALES.IDEMPRESA;

            Catalogos.Core.CatalogosHelper ch = new Catalogos.Core.CatalogosHelper();
            ch.Command = cmd;
            Catalogos.Core.Catalogo cat = new Catalogos.Core.Catalogo();
            cat.grupodescripcion = "ESTATUS INFONAVIT";

            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleados(empleado);
                lstInfonavit = ih.obtenerInfonavits(inf);
                lstCatalogo = ch.obtenerGrupo(cat);
                cnx.Close();
                cnx.Dispose();

                var em = from e in lstEmpleados
                         join i in lstInfonavit on e.idtrabajador equals i.idtrabajador
                         join c in lstCatalogo on i.estatus equals c.id
                         select new
                         {
                             IdTrabajador = e.idtrabajador,
                             NoEmpleado = e.noempleado,
                             Nombre = e.nombrecompleto,
                             Credito = i.credito,
                             Descuento = i.descuento == GLOBALES.dPORCENTAJE ? "PORCENTAJE" :
                             i.descuento == GLOBALES.dVSMDF ? "VSMDF" : "PESOS",
                             Valor = i.valordescuento,
                             Activo = i.activo ? "ACTIVO" : "NO ACTIVO",
                             Estatus = c.descripcion
                         };

                dgvInfonavit.DataSource = em.ToList();

                for (int i = 0; i < dgvInfonavit.Columns.Count; i++)
                {
                    dgvInfonavit.AutoResizeColumn(i);
                }
                dgvInfonavit.Columns["IdTrabajador"].Visible = false;
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #34
0
        private void btnGuardarVP_Click(object sender, EventArgs e)
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Empleados.Core.EmpleadosHelper emph = new Empleados.Core.EmpleadosHelper();
            emph.Command = cmd;

            Vacaciones.Core.VacacionesHelper vh = new Vacaciones.Core.VacacionesHelper();
            vh.Command = cmd;

            Complementos.Core.ComplementoHelper ch = new Complementos.Core.ComplementoHelper();
            ch.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = idTrabajador;

            Complementos.Core.Complemento c = new Complementos.Core.Complemento();
            c.idtrabajador = idTrabajador;
            c.observaciones = txtObservaciones.Text;

            List<Empleados.Core.Empleados> lstEmpleado = new List<Empleados.Core.Empleados>();

            try
            {
                cnx.Open();
                lstEmpleado = emph.obtenerEmpleado(empleado);
                cnx.Close();
            }
            catch
            {
                MessageBox.Show("Error: Al obtener la antigüedad del empleado.", "Error");
                cnx.Dispose();
                return;
            }

            Vacaciones.Core.DiasDerecho dd = new Vacaciones.Core.DiasDerecho();
            dd.anio = lstEmpleado[0].antiguedadmod;

            int dias = 0;
            try
            {
                cnx.Open();
                dias = (int)vh.diasDerecho(dd);
                cnx.Close();
            }
            catch
            {
                MessageBox.Show("Error: Al obtener los dias por derecho del empleado.", "Error");
                cnx.Dispose();
                return;
            }

            int existePrima = 0;
            int existeVacacion = 0;

            if (cmbConceptoVacaciones.SelectedIndex == 0) // PRIMA VACACIONAL Y VACACIONES
            {
                Vacaciones.Core.VacacionesPrima vp = new Vacaciones.Core.VacacionesPrima();
                vp.idtrabajador = idTrabajador;
                vp.periodoinicio = _inicioPeriodo;
                vp.periodofin = _finPeriodo;
                vp.vacacionesprima = "P";

                try
                {
                    cnx.Open();
                    existePrima = (int)vh.existeVacacionesPrima(vp);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: Al obtener la existencia de prima vacacional del empleado.", "Error");
                    cnx.Dispose();
                    return;
                }

                vp = new Vacaciones.Core.VacacionesPrima();
                vp.idtrabajador = idTrabajador;
                vp.periodoinicio = _inicioPeriodo;
                vp.periodofin = _finPeriodo;
                vp.vacacionesprima = "V";

                try
                {
                    cnx.Open();
                    existeVacacion = (int)vh.existeVacacionesPrima(vp);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: Al obtener la existencia de vacaciones del empleado.", "Error");
                    cnx.Dispose();
                    return;
                }

                //VALIDACION DE EXISTENCIA DE PRIMA VACACIONAL Y VACACIONES
                if (existePrima != 0 || existeVacacion != 0)
                {
                    MessageBox.Show("Error: Los datos a ingresar ya existen y/o existe la Prima Vacaciona o Vacaciones.", "Error");
                    cnx.Dispose();
                    return;
                }
                else
                {
                    Faltas.Core.FaltasHelper fh = new Faltas.Core.FaltasHelper();
                    fh.Command = cmd;

                    Faltas.Core.Faltas falta = new Faltas.Core.Faltas();
                    falta.idempresa = GLOBALES.IDEMPRESA;
                    falta.idtrabajador = idTrabajador;
                    falta.fechainicio = _inicioPeriodo.Date;
                    falta.fechafin = _finPeriodo.Date;

                    int existeFaltas = 0;
                    try
                    {
                        cnx.Open();
                        existeFaltas = (int)fh.existeFalta(falta);
                        cnx.Close();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error: Al obtener las faltas del trabajador. \r\n" + error.Message, "Error");
                        cnx.Dispose();
                        return;
                    }

                    int diasPagoReales = int.Parse(txtDiasPagoPV.Text) + existeFaltas;
                    if (diasPagoReales > _periodo)
                    {
                        diasPagoReales = _periodo - existeFaltas;
                        MessageBox.Show("Existen faltas del trabajador, se ajustaron las vacaciones a: " + diasPagoReales.ToString() + " dia(s).", "Información");
                    }
                    else
                    {
                        diasPagoReales = int.Parse(txtDiasPagoPV.Text);
                    }

                    vp = new Vacaciones.Core.VacacionesPrima();
                    vp.idtrabajador = idTrabajador;
                    vp.idempresa = GLOBALES.IDEMPRESA;
                    vp.periodoinicio = _inicioPeriodo;
                    vp.periodofin = _finPeriodo;
                    vp.diasderecho = dias;
                    vp.diaspago = diasPagoReales;
                    vp.diaspendientes = dias - diasPagoReales;
                    vp.fechapago = DateTime.Now.Date;
                    vp.fechainicio = DateTime.Now.Date;
                    vp.fechafin = DateTime.Now.Date;
                    vp.vacacionesprima = "P";

                    try
                    {
                        cnx.Open();
                        vh.insertaVacacion(vp);
                        cnx.Close();
                    }
                    catch
                    {
                        MessageBox.Show("Error: Al ingresar el registro de prima vacacional.", "Error");
                        cnx.Dispose();
                        return;
                    }

                    diasPagoReales = int.Parse(txtDiasPagoV.Text) + existeFaltas;
                    if (diasPagoReales > _periodo)
                    {
                        diasPagoReales = _periodo - existeFaltas;
                        MessageBox.Show("Existen faltas del trabajador, se ajustaron las vacaciones a: " + diasPagoReales.ToString() + " dia(s).", "Información");
                    }
                    else
                    {
                        diasPagoReales = int.Parse(txtDiasPagoV.Text);
                    }

                    vp = new Vacaciones.Core.VacacionesPrima();
                    vp.idtrabajador = idTrabajador;
                    vp.idempresa = GLOBALES.IDEMPRESA;
                    vp.periodoinicio = _inicioPeriodo;
                    vp.periodofin = _finPeriodo;
                    vp.diasderecho = dias;
                    vp.diaspago = diasPagoReales;
                    vp.diaspendientes = dias - diasPagoReales;
                    vp.fechapago = DateTime.Now.Date;
                    vp.fechainicio = dtpFechaInicioVacaciones.Value.Date;
                    vp.fechafin = dtpFechaInicioVacaciones.Value.AddDays(diasPagoReales - 1);
                    vp.vacacionesprima = "V";

                    try
                    {
                        cnx.Open();
                        vh.insertaVacacion(vp);
                        cnx.Close();
                        cnx.Dispose();
                        muestraVacaciones();
                    }
                    catch
                    {
                        MessageBox.Show("Error: Al ingresar el registro de prima vacacional.", "Error");
                        cnx.Dispose();
                        return;
                    }
                }
            }
            else // SOLO PRIMA VACACIONAL
            {
                Vacaciones.Core.VacacionesPrima vp = new Vacaciones.Core.VacacionesPrima();
                vp.idtrabajador = idTrabajador;
                vp.periodoinicio = _inicioPeriodo;
                vp.periodofin = _finPeriodo;
                vp.vacacionesprima = "P";

                try
                {
                    cnx.Open();
                    existePrima = (int)vh.existeVacacionesPrima(vp);
                    cnx.Close();
                }
                catch
                {
                    MessageBox.Show("Error: Al obtener la existencia de vacaciones del empleado.", "Error");
                    cnx.Dispose();
                    return;
                }

                //VALIDACION DE EXISTENCIA DE PRIMA VACACIONAL
                if (existePrima != 0)
                {
                    MessageBox.Show("Error: Los datos a ingresar ya existen.", "Error");
                    cnx.Dispose();
                    return;
                }
                else
                {
                    Faltas.Core.FaltasHelper fh = new Faltas.Core.FaltasHelper();
                    fh.Command = cmd;

                    Faltas.Core.Faltas falta = new Faltas.Core.Faltas();
                    falta.idempresa = GLOBALES.IDEMPRESA;
                    falta.idtrabajador = idTrabajador;
                    falta.fechainicio = _inicioPeriodo.Date;
                    falta.fechafin = _finPeriodo.Date;

                    int existeFaltas = 0;
                    try
                    {
                        cnx.Open();
                        existeFaltas = (int)fh.existeFalta(falta);
                        cnx.Close();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error: Al obtener las faltas del trabajador. \r\n" + error.Message, "Error");
                        cnx.Dispose();
                        return;
                    }

                    int diasPagoReales = int.Parse(txtDiasPagoPV.Text) + existeFaltas;
                    if (diasPagoReales > _periodo)
                    {
                        diasPagoReales = _periodo - existeFaltas;
                        MessageBox.Show("Existen faltas del trabajador, se ajustaron las vacaciones a: " + diasPagoReales.ToString() + " dia(s).", "Información");
                    }
                    else
                    {
                        diasPagoReales = int.Parse(txtDiasPagoPV.Text);
                    }

                    vp = new Vacaciones.Core.VacacionesPrima();
                    vp.idtrabajador = idTrabajador;
                    vp.idempresa = GLOBALES.IDEMPRESA;
                    vp.periodoinicio = _inicioPeriodo;
                    vp.periodofin = _finPeriodo;
                    vp.diasderecho = dias;
                    vp.diaspago = diasPagoReales;
                    vp.diaspendientes = dias - diasPagoReales;
                    vp.fechapago = DateTime.Now.Date;
                    vp.fechainicio = DateTime.Now.Date;
                    vp.fechafin = DateTime.Now.Date;
                    vp.vacacionesprima = "P";

                    try
                    {
                        cnx.Open();
                        vh.insertaVacacion(vp);
                        cnx.Close();
                        cnx.Dispose();
                        muestraVacaciones();
                    }
                    catch
                    {
                        MessageBox.Show("Error: Al ingresar el registro de prima vacacional.", "Error");
                        cnx.Dispose();
                        return;
                    }
                }
            }
        }
Пример #35
0
        private void ListaEmpleados()
        {
            string cdn = ConfigurationManager.ConnectionStrings["cdnNomina"].ConnectionString;
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            rh = new Reingreso.Core.ReingresoHelper();
            eh = new Empleados.Core.EmpleadosHelper();
            rh.Command = cmd;
            eh.Command = cmd;

            Reingreso.Core.Reingresos reingreso = new Reingreso.Core.Reingresos();
            reingreso.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            try
            {
                cnx.Open();
                lstReingreso = rh.obtenerReingresos(reingreso);
                lstEmpleados = eh.obtenerEmpleados(empleado);
                cnx.Close();
                cnx.Dispose();

                var rein = from r in lstReingreso
                            join t in lstEmpleados on r.idtrabajador equals t.idtrabajador
                            select new
                            {
                                RegistroPatronal = r.registropatronal,
                                Nss = r.nss,
                                Nombre = t.nombrecompleto,
                                Reingreso = r.fechaingreso,
                                Integrado = r.sdi
                            };
                dgvReingresoSua.DataSource = rein.ToList();

                for (int i = 0; i < dgvReingresoSua.Columns.Count; i++)
                {
                    dgvReingresoSua.AutoResizeColumn(i);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #36
0
        private void muestraMovimientos()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Movimientos.Core.MovimientosHelper mh = new Movimientos.Core.MovimientosHelper();
            mh.Command = cmd;

            Conceptos.Core.ConceptosHelper ch = new Conceptos.Core.ConceptosHelper();
            ch.Command = cmd;

            Empleados.Core.EmpleadosHelper emph = new Empleados.Core.EmpleadosHelper();
            emph.Command = cmd;

            Movimientos.Core.Movimientos m = new Movimientos.Core.Movimientos();
            m.idtrabajador = idTrabajador;

            Conceptos.Core.Conceptos c = new Conceptos.Core.Conceptos();
            c.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = idTrabajador;

            List<Movimientos.Core.Movimientos> lstMovimientos = new List<Movimientos.Core.Movimientos>();
            List<Conceptos.Core.Conceptos> lstConceptos = new List<Conceptos.Core.Conceptos>();
            List<Empleados.Core.Empleados> lstEmpleado = new List<Empleados.Core.Empleados>();

            try
            {
                cnx.Open();
                lstMovimientos = mh.obtenerMovimientosTrabajador(m);
                lstConceptos = ch.obtenerConceptos(c, _periodo);
                lstEmpleado = emph.obtenerEmpleado(empleado);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: Al obtener los Movimientos. (Función Muestra Movimientos.) \r\n \r\n" + error.Message, "Error");
            }

            var prog = from mov in lstMovimientos
                       join co in lstConceptos on mov.idconcepto equals co.id
                       join em in lstEmpleado on mov.idtrabajador equals em.idtrabajador
                       select new
                       {
                           mov.id,
                           mov.idtrabajador,
                           em.noempleado,
                           em.nombrecompleto,
                           co.concepto,
                           mov.cantidad,
                           mov.fechainicio,
                           mov.fechafin
                       };

            dgvMovimientos.Columns["idm"].DataPropertyName = "id";
            dgvMovimientos.Columns["idtrabajadorm"].DataPropertyName = "idtrabajador";
            dgvMovimientos.Columns["noempleadom"].DataPropertyName = "noempleado";
            dgvMovimientos.Columns["nombrem"].DataPropertyName = "nombrecompleto";
            dgvMovimientos.Columns["conceptom"].DataPropertyName = "concepto";
            dgvMovimientos.Columns["cantidadm"].DataPropertyName = "cantidad";
            dgvMovimientos.Columns["periodoiniciom"].DataPropertyName = "fechainicio";
            dgvMovimientos.Columns["periodofinm"].DataPropertyName = "fechafin";
            dgvMovimientos.DataSource = prog.ToList();

            DataGridViewCellStyle estilo = new DataGridViewCellStyle();
            estilo.Alignment = DataGridViewContentAlignment.MiddleRight;
            estilo.Format = "C2";

            dgvProgramacion.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgvProgramacion.Columns[5].DefaultCellStyle = estilo;
        }
Пример #37
0
        private void frmInfonavit_Load(object sender, EventArgs e)
        {
            cargaCombo();
            if (_tipoOperacion == GLOBALES.CONSULTAR || _tipoOperacion == GLOBALES.MODIFICAR)
            {
                cnx = new SqlConnection();
                cnx.ConnectionString = cdn;
                cmd = new SqlCommand();
                cmd.Connection = cnx;
                ih = new Infonavit.Core.InfonavitHelper();
                ih.Command = cmd;

                eh = new Empleados.Core.EmpleadosHelper();
                eh.Command = cmd;

                Departamento.Core.DeptoHelper dh = new Departamento.Core.DeptoHelper();
                dh.Command = cmd;

                List<Infonavit.Core.Infonavit> lstInfonavit;
                List<Departamento.Core.Depto> lstDepartamento = new List<Departamento.Core.Depto>();
                List<Empleados.Core.Empleados> lstEmpleado = new List<Empleados.Core.Empleados>();

                Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
                empleado.idtrabajador = _idEmpleado;

                Departamento.Core.Depto dpto = new Departamento.Core.Depto();
                dpto.idempresa = GLOBALES.IDEMPRESA;

                Infonavit.Core.Infonavit i = new Infonavit.Core.Infonavit();
                i.idtrabajador = _idEmpleado;
                i.activo = _estatusInfonavit;

                try
                {
                    cnx.Open();
                    Periodo = (int)eh.obtenerDiasPeriodo(_idEmpleado);
                    lstEmpleado = eh.obtenerEmpleado(empleado);
                    lstDepartamento = dh.obtenerDepartamentos(dpto);
                    cnx.Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error al obtener los dias del periodo. \r\n \r\n La ventana se cerrará. \r\n \r\n" + error.Message, "Error");
                    cnx.Dispose();
                    this.Dispose();
                }

                var dato = from emp in lstEmpleado
                           join d in lstDepartamento on emp.iddepartamento equals d.id
                           select new
                           {
                               emp.noempleado,
                               emp.nombrecompleto,
                               d.descripcion
                           };
                foreach (var inf in dato)
                {
                    mtxtNoEmpleado.Text = inf.noempleado;
                    txtDepartamento.Text = inf.descripcion;
                }

                try
                {
                    cnx.Open();
                    lstInfonavit = ih.obtenerInfonavit(i);
                    Periodo = (int)eh.obtenerDiasPeriodo(_idEmpleado);
                    cnx.Close();
                    cnx.Dispose();

                    for (int j = 0; j < lstInfonavit.Count; j++)
                    {
                        IdInfonavit = int.Parse(lstInfonavit[j].idinfonavit.ToString());
                        txtNumeroCredito.Text = lstInfonavit[j].credito;
                        txtValor.Text = lstInfonavit[j].valordescuento.ToString();
                        if (lstInfonavit[j].activo)
                            chkInactivo.Checked = false;
                        else
                            chkInactivo.Checked = true;
                        txtDescripcion.Text = lstInfonavit[j].descripcion;
                        dtpFechaAplicacion.Value = lstInfonavit[j].fecha;
                        cmbEstatusInfonavit.SelectedValue = lstInfonavit[j].estatus;
                        //dtpInicioPeriodo.Value = lstInfonavit[j].inicio.AddDays(1);
                        //dtpFinPeriodo.Value = lstInfonavit[j].fin;

                        switch (lstInfonavit[j].descuento)
                        {
                                //Porcentaje
                            case 1:
                                rbtnPorcentaje.Checked = true;
                                break;
                            case 2:
                                rbtnPesos.Checked = true;
                                if (Periodo == 7)
                                    txtValor.Text = ((lstInfonavit[j].valordescuento * decimal.Parse((30.4).ToString())) / Periodo).ToString();
                                else
                                    txtValor.Text = (lstInfonavit[j].valordescuento * 2).ToString();
                                break;
                            case 3:
                                rbtnVsmdf.Checked = true;
                                txtValor.Text = lstInfonavit[j].valordescuento.ToString();
                                break;
                        }
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }

                if (_tipoOperacion == GLOBALES.CONSULTAR)
                {
                    toolVentana.Text = "Consulta del Crédito";
                    GLOBALES.INHABILITAR(this, typeof(TextBox));
                    GLOBALES.INHABILITAR(this, typeof(RadioButton));
                    GLOBALES.INHABILITAR(this, typeof(CheckBox));
                    GLOBALES.INHABILITAR(this, typeof(DateTimePicker));
                    GLOBALES.INHABILITAR(this, typeof(MaskedTextBox));
                    GLOBALES.INHABILITAR(this, typeof(ComboBox));
                    toolGuardar.Enabled = false;
                    toolBuscar.Enabled = false;
                }
                else
                {
                    toolVentana.Text = "Edición del Crédito";
                    lblEmpleado.Text = _nombreEmpleado;
                    toolBuscar.Enabled = false;
                    //obtenerPeriodoActual();
                }

                if (_modificar == 1)
                {
                    //dtpInicioPeriodo.Enabled = true;
                }
            }
        }
Пример #38
0
        private void muestraProgramacion()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            ProgramacionConcepto.Core.ProgramacionHelper pch = new ProgramacionConcepto.Core.ProgramacionHelper();
            pch.Command = cmd;

            Conceptos.Core.ConceptosHelper ch = new Conceptos.Core.ConceptosHelper();
            ch.Command = cmd;

            Empleados.Core.EmpleadosHelper emph = new Empleados.Core.EmpleadosHelper();
            emph.Command = cmd;

            ProgramacionConcepto.Core.ProgramacionConcepto pc = new ProgramacionConcepto.Core.ProgramacionConcepto();
            pc.idtrabajador = idTrabajador;

            Conceptos.Core.Conceptos c = new Conceptos.Core.Conceptos();
            c.idempresa = GLOBALES.IDEMPRESA;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idtrabajador = idTrabajador;

            List<ProgramacionConcepto.Core.ProgramacionConcepto> lstProgramacionConcepto = new List<ProgramacionConcepto.Core.ProgramacionConcepto>();
            List<Conceptos.Core.Conceptos> lstConceptos = new List<Conceptos.Core.Conceptos>();
            List<Empleados.Core.Empleados> lstEmpleado = new List<Empleados.Core.Empleados>();

            try
            {
                cnx.Open();
                lstProgramacionConcepto = pch.obtenerProgramacion(pc);
                lstConceptos = ch.obtenerConceptos(c, _periodo);
                lstEmpleado = emph.obtenerEmpleado(empleado);
                cnx.Close();
                cnx.Dispose();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: Al obtener las Programaciones. (Función Muestra Programación.)\r\n \r\n" + error.Message, "Error");
            }

            var prog = from p in lstProgramacionConcepto
                       join co in lstConceptos on p.idconcepto equals co.id
                       join em in lstEmpleado on p.idtrabajador equals em.idtrabajador
                       select new {
                           p.idprogramacion,
                           p.idtrabajador,
                           co.id,
                           em.noempleado,
                           em.nombrecompleto,
                           co.concepto,
                           p.cantidad,
                           p.fechafin
                       };

            dgvProgramacion.Columns["idpc"].DataPropertyName = "idprogramacion";
            dgvProgramacion.Columns["idtrabajadorpc"].DataPropertyName = "idtrabajador";
            dgvProgramacion.Columns["idconceptopc"].DataPropertyName = "id";
            dgvProgramacion.Columns["noempleadopc"].DataPropertyName = "noempleado";
            dgvProgramacion.Columns["nombrepc"].DataPropertyName = "nombrecompleto";
            dgvProgramacion.Columns["conceptopc"].DataPropertyName = "concepto";
            dgvProgramacion.Columns["cantidadpc"].DataPropertyName = "cantidad";
            dgvProgramacion.Columns["fechafinpc"].DataPropertyName = "fechafin";
            dgvProgramacion.DataSource = prog.ToList();

            DataGridViewCellStyle estilo = new DataGridViewCellStyle();
            estilo.Alignment = DataGridViewContentAlignment.MiddleRight;
            estilo.Format = "C2";

            dgvProgramacion.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgvProgramacion.Columns[5].DefaultCellStyle = estilo;
        }
Пример #39
0
        private void frmReingresoEmpleado_Load(object sender, EventArgs e)
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Departamento.Core.DeptoHelper dh = new Departamento.Core.DeptoHelper();
            Puestos.Core.PuestosHelper ph = new Puestos.Core.PuestosHelper();
            Periodos.Core.PeriodosHelper periodoh = new Periodos.Core.PeriodosHelper();
            Factores.Core.FactoresHelper fh = new Factores.Core.FactoresHelper();
            Empleados.Core.EmpleadosHelper emph = new Empleados.Core.EmpleadosHelper();

            emph.Command = cmd;
            dh.Command = cmd;
            ph.Command = cmd;
            periodoh.Command = cmd;
            fh.Command = cmd;

            Departamento.Core.Depto depto = new Departamento.Core.Depto();
            Puestos.Core.Puestos puesto = new Puestos.Core.Puestos();
            Periodos.Core.Periodos periodo = new Periodos.Core.Periodos();
            Factores.Core.Factores factor = new Factores.Core.Factores();
            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();

            empleado.idtrabajador = _idempleado;
            depto.idempresa = GLOBALES.IDEMPRESA;
            puesto.idempresa = GLOBALES.IDEMPRESA;
            periodo.idempresa = GLOBALES.IDEMPRESA;

            List<Departamento.Core.Depto> lstDepto = new List<Departamento.Core.Depto>();
            List<Puestos.Core.Puestos> lstPuesto = new List<Puestos.Core.Puestos>();
            List<Periodos.Core.Periodos> lstPeriodo = new List<Periodos.Core.Periodos>();
            lstEmpleado = new List<Empleados.Core.Empleados>();

            try {
                cnx.Open();
                lstDepto = dh.obtenerDepartamentos(depto);
                lstPuesto = ph.obtenerPuestos(puesto);
                lstPeriodo = periodoh.obtenerPeriodos(periodo);
                lstEmpleado = emph.obtenerEmpleado(empleado);
                cnx.Close();
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
            }

            cmbDepartamento.DataSource = lstDepto.ToList();
            cmbDepartamento.DisplayMember = "descripcion";
            cmbDepartamento.ValueMember = "id";

            cmbPuesto.DataSource = lstPuesto.ToList();
            cmbPuesto.DisplayMember = "nombre";
            cmbPuesto.ValueMember = "idpuesto";

            cmbPeriodo.DataSource = lstPeriodo.ToList();
            cmbPeriodo.DisplayMember = "pago";
            cmbPeriodo.ValueMember = "idperiodo";

            txtNombreCompleto.Text = _nombreEmpleado;
            mtxtNoEmpleado.Text = lstEmpleado[0].noempleado;
            cmbMetodoPago.SelectedIndex = 2;
            mtxtCuentaBancaria.Text = lstEmpleado[0].cuenta;
            mtxtCuentaClabe.Text = lstEmpleado[0].clabe;
            mtxtIdBancario.Text = lstEmpleado[0].idbancario;

            if (GLOBALES.OBRACIVIL)
                chkObraCivil.Visible = true;
            else
                chkObraCivil.Visible = false;
        }
Пример #40
0
        private void toolCalcular_Click(object sender, EventArgs e)
        {
            int existeConcepto = 0;
            int estatus = 0;
            int existeAltaReingreso = 0;
            //string noConceptosPercepciones = "", noConceptosDeducciones = "";
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            List<CalculoNomina.Core.Nomina> lstConceptosPercepciones = new List<CalculoNomina.Core.Nomina>();
            List<CalculoNomina.Core.Nomina> lstConceptosDeducciones = new List<CalculoNomina.Core.Nomina>();

            List<CalculoNomina.Core.Nomina> lstConceptosPercepcionesModificados = new List<CalculoNomina.Core.Nomina>();
            List<CalculoNomina.Core.Nomina> lstConceptosDeduccionesModificados = new List<CalculoNomina.Core.Nomina>();

            CalculoNomina.Core.NominaHelper nh = new CalculoNomina.Core.NominaHelper();
            nh.Command = cmd;

            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            eh.Command = cmd;

            Altas.Core.AltasHelper ah = new Altas.Core.AltasHelper();
            ah.Command = cmd;

            Reingreso.Core.ReingresoHelper rh = new Reingreso.Core.ReingresoHelper();
            rh.Command = cmd;

            if (_periodo == 7)
            {
                periodoInicioPosterior = _finPeriodo.AddDays(1);
                periodoFinPosterior = _finPeriodo.AddDays(7);
            }
            else
            {
                periodoInicioPosterior = _finPeriodo.AddDays(1);

                if (periodoInicioPosterior.Day <= 15)
                    periodoFinPosterior = _finPeriodo.AddDays(15);
                else
                    periodoFinPosterior = new DateTime(periodoInicioPosterior.Year, periodoInicioPosterior.Month,
                        DateTime.DaysInMonth(periodoInicioPosterior.Year, periodoInicioPosterior.Month));
            }

            try
            {
                cnx.Open();
                estatus = int.Parse(eh.obtenerEstatus(idTrabajador).ToString());
                cnx.Close();

                if (estatus == 0)
                {
                    cnx.Open();
                    nh.eliminaPreNomina(idTrabajador);
                    cnx.Close();
                 }
                else
                {

                    cnx.Open();
                    existeAltaReingreso = ah.existeAlta(GLOBALES.IDEMPRESA, idTrabajador, periodoInicioPosterior, periodoFinPosterior);
                    cnx.Close();

                    if (existeAltaReingreso != 0)
                    {
                        cnx.Open();
                        nh.eliminaPreNomina(idTrabajador);
                        cnx.Close();
                        MessageBox.Show("INFORMACION:\r\n\r\nEl trabajador a calcular fue dado de alta con fecha posterior al calculo actual.\r\nNo se calcula el trabajador.", "Información");
                        return;
                    }

                    cnx.Open();
                    existeAltaReingreso = rh.existeReingreso(GLOBALES.IDEMPRESA, idTrabajador, periodoInicioPosterior, periodoFinPosterior);
                    cnx.Close();

                    if (existeAltaReingreso != 0)
                    {
                        cnx.Open();
                        nh.eliminaPreNomina(idTrabajador);
                        cnx.Close();
                        MessageBox.Show("INFORMACION:\r\n\r\nEl trabajador a calcular fue dado de alta con fecha posterior al calculo actual.\r\nNo se calcula el trabajador.", "Información");
                        return;
                    }
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Error al verificar el estatus del trabajador(ID): " + idTrabajador + "\r\n\r\n" + error.Message, "Error");
                cnx.Close();
            }

            #region CONCEPTOS Y FORMULAS DEL TRABAJADOR
            try
            {
                /*************************************************************
                    * Se obtienen los conceptos con el campo modificado en 1
                    * de la tabla tmpPagoNomina con el SP stp_DatosNominaRecalculoTrabajador
                    *************************************************************/
                //cnx.Open();
                //lstConceptosPercepcionesModificados = nh.conceptosNominaTrabajador(GLOBALES.IDEMPRESA, "P", idTrabajador,
                //    _tipoNormalEspecial, _inicioPeriodo.Date, _finPeriodo.Date);
                //lstConceptosDeduccionesModificados = nh.conceptosNominaTrabajador(GLOBALES.IDEMPRESA, "D", idTrabajador,
                //    _tipoNormalEspecial, _inicioPeriodo.Date, _finPeriodo.Date);
                //cnx.Close();
                /***************** TERMINA *****************************/

                /*********************************************************
                    * Se verifica si las listas de los conceptos modificados
                    * son diferentes de 0, si son diferentes, se acumulan en la varible
                    * noConceptosPercepciones y noConceptosDeducciones
                    *********************************************************/
                //if (lstConceptosPercepcionesModificados.Count != 0)
                //{
                //    for (int i = 0; i < lstConceptosPercepcionesModificados.Count; i++)
                //        if (lstConceptosPercepcionesModificados[i].modificado)
                //            noConceptosPercepciones += lstConceptosPercepcionesModificados[i].noconcepto + ",";
                //    if (noConceptosPercepciones != "")
                //        noConceptosPercepciones = noConceptosPercepciones.Substring(0, noConceptosPercepciones.Length - 1);
                //}
                //else
                //    noConceptosPercepciones = "";

                //if (lstConceptosDeduccionesModificados.Count != 0)
                //{
                //    for (int i = 0; i < lstConceptosDeduccionesModificados.Count; i++)
                //        if (lstConceptosDeduccionesModificados[i].modificado)
                //            noConceptosDeducciones += lstConceptosDeduccionesModificados[i].noconcepto + ",";
                //    if (noConceptosDeducciones != "")
                //        noConceptosDeducciones = noConceptosDeducciones.Substring(0, noConceptosDeducciones.Length - 1);
                //}
                //else
                //    noConceptosDeducciones = "";
                /************************TERMINA***************************/

                /*****************************************************************
                    * Se llenan las listas con los conceptos que no estan modificados
                    * con el SP stp_DatosNominaTrabajador para el calculo.
                    *****************************************************************/
                cnx.Open();
                nh.eliminaNominaTrabajador(idTrabajador, _inicioPeriodo, _finPeriodo, _tipoNormalEspecial);
                lstConceptosPercepciones = nh.conceptosNominaTrabajador(GLOBALES.IDEMPRESA, "P", idTrabajador, _inicioPeriodo, _finPeriodo, _periodo);
                lstConceptosDeducciones = nh.conceptosNominaTrabajador(GLOBALES.IDEMPRESA, "D", idTrabajador, _inicioPeriodo, _finPeriodo, _periodo);
                cnx.Close();
                /**************************TERMINA*********************************/
            }
            catch
            {
                MessageBox.Show("Error: Al Obtener los conceptos del trabajador.\r\n \r\n La ventan se cerrara.", "Error");
                this.Dispose();
            }
            #endregion

            #region CALCULO DE PERCEPCIONES
            List<CalculoNomina.Core.tmpPagoNomina> lstPercepciones = new List<CalculoNomina.Core.tmpPagoNomina>();
            lstPercepciones = CALCULO.PERCEPCIONES(lstConceptosPercepciones, _inicioPeriodo.Date, _finPeriodo.Date, _tipoNormalEspecial);
            #endregion

            #region BULK DATOS PERCEPCIONES
            BulkData(lstPercepciones);
            #endregion

            #region OBTENCION DE PERCEPCIONES
            lstPercepciones = new List<CalculoNomina.Core.tmpPagoNomina>();
            CalculoNomina.Core.tmpPagoNomina per = new CalculoNomina.Core.tmpPagoNomina();
            per.idempresa = GLOBALES.IDEMPRESA;
            per.idtrabajador = idTrabajador;
            per.fechainicio = _inicioPeriodo.Date;
            per.fechafin = _finPeriodo.Date;
            per.tipoconcepto = "P";
            per.tiponomina = _tipoNormalEspecial;
            cnx = new SqlConnection(cdn);
            cnx.Open();
            lstPercepciones = nh.obtenerPercepcionesTrabajador(per);
            cnx.Close();
            #endregion

            #region CALCULO DE DEDUCCIONES
            List<CalculoNomina.Core.tmpPagoNomina> lstDeducciones = new List<CalculoNomina.Core.tmpPagoNomina>();
            lstDeducciones = CALCULO.DEDUCCIONES(lstConceptosDeducciones, lstPercepciones, _inicioPeriodo.Date, _finPeriodo.Date, _tipoNormalEspecial);
            #endregion

            #region BULK DATOS DEDUCCIONES
            BulkData(lstDeducciones);
            #endregion

            #region PROGRAMACION DE MOVIMIENTOS
            List<CalculoNomina.Core.tmpPagoNomina> lstOtrasDeducciones = new List<CalculoNomina.Core.tmpPagoNomina>();

            decimal percepciones = lstPercepciones.Where(f => f.tipoconcepto == "P").Sum(f => f.cantidad);

            if (percepciones != 0)
            {
                cnx = new SqlConnection(cdn);
                cmd = new SqlCommand();
                cmd.Connection = cnx;

                int existe = 0;
                ProgramacionConcepto.Core.ProgramacionHelper pch = new ProgramacionConcepto.Core.ProgramacionHelper();
                pch.Command = cmd;

                ProgramacionConcepto.Core.ProgramacionConcepto programacion = new ProgramacionConcepto.Core.ProgramacionConcepto();
                programacion.idtrabajador = idTrabajador;

                List<ProgramacionConcepto.Core.ProgramacionConcepto> lstProgramacion = new List<ProgramacionConcepto.Core.ProgramacionConcepto>();

                try
                {
                    cnx.Open();
                    existe = (int)pch.existeProgramacion(programacion);
                    cnx.Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
                    cnx.Dispose();
                }

                if (existe != 0)
                {
                    try
                    {
                        cnx.Open();
                        lstProgramacion = pch.obtenerProgramacion(programacion);
                        cnx.Close();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
                        cnx.Dispose();
                    }

                    for (int i = 0; i < lstProgramacion.Count; i++)
                    {
                        if (_finPeriodo.Date <= lstProgramacion[i].fechafin)
                        {
                            Conceptos.Core.ConceptosHelper ch = new Conceptos.Core.ConceptosHelper();
                            ch.Command = cmd;
                            Conceptos.Core.Conceptos concepto = new Conceptos.Core.Conceptos();
                            concepto.id = lstProgramacion[i].idconcepto;
                            List<Conceptos.Core.Conceptos> lstNoConcepto = new List<Conceptos.Core.Conceptos>();
                            try
                            {
                                cnx.Open();
                                lstNoConcepto = ch.obtenerConcepto(concepto);
                                cnx.Close();
                            }
                            catch (Exception error) { MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error"); }

                            CalculoNomina.Core.tmpPagoNomina pne = new CalculoNomina.Core.tmpPagoNomina();
                            pne.idempresa = GLOBALES.IDEMPRESA;
                            pne.idtrabajador = idTrabajador;
                            pne.fechainicio = _inicioPeriodo.Date;
                            pne.fechafin = _finPeriodo.Date;
                            pne.noconcepto = lstNoConcepto[0].noconcepto;

                            nh = new CalculoNomina.Core.NominaHelper();
                            nh.Command = cmd;
                            try
                            {
                                cnx.Open();
                                existeConcepto = (int)nh.existeConcepto(pne);
                                cnx.Close();
                            }
                            catch (Exception error)
                            {
                                MessageBox.Show("Error al obtener la existencia del concepto." + error.Message + "\r\n" + error.Source, "Error");
                                cnx.Dispose();
                            }

                            CalculoNomina.Core.tmpPagoNomina vn = new CalculoNomina.Core.tmpPagoNomina();
                            vn.idtrabajador = idTrabajador;
                            vn.idempresa = GLOBALES.IDEMPRESA;
                            vn.idconcepto = lstProgramacion[i].idconcepto;
                            vn.noconcepto = lstNoConcepto[0].noconcepto;
                            vn.tipoconcepto = lstNoConcepto[0].tipoconcepto;
                            vn.fechainicio = _inicioPeriodo.Date;
                            vn.fechafin = _finPeriodo.Date;
                            vn.exento = 0;
                            vn.gravado = 0;
                            vn.cantidad = lstProgramacion[i].cantidad;
                            vn.guardada = true;
                            vn.tiponomina = _tipoNormalEspecial;
                            vn.modificado = false;

                            if (lstNoConcepto[0].gravado && !lstNoConcepto[0].exento)
                            {
                                vn.gravado = lstProgramacion[i].cantidad;
                                vn.exento = 0;
                            }

                            if (lstNoConcepto[0].gravado && lstNoConcepto[0].exento)
                            {
                                CalculoFormula formulaExcento = new CalculoFormula(idTrabajador, _inicioPeriodo.Date, _finPeriodo.Date, lstNoConcepto[0].formulaexento);
                                vn.exento = decimal.Parse(formulaExcento.calcularFormula().ToString());
                                if (vn.cantidad <= vn.exento)
                                {
                                    vn.exento = vn.cantidad;
                                    vn.gravado = 0;
                                }
                                else
                                {
                                    vn.gravado = vn.cantidad - vn.exento;
                                }
                            }

                            if (existeConcepto == 0)
                            {
                                lstOtrasDeducciones.Add(vn);
                            }
                            else
                            {
                                try
                                {
                                    cnx.Open();
                                    nh.actualizaConceptoModificado(vn);
                                    cnx.Close();
                                }
                                catch
                                {
                                    MessageBox.Show("Error al actualizar el concepto.", "Error");
                                    cnx.Dispose();
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                decimal vacacion = lstPercepciones.Where(f => f.noconcepto == 7).Sum(f => f.cantidad);
                if (vacacion != 0)
                {
                    cnx = new SqlConnection(cdn);
                    cmd = new SqlCommand();
                    cmd.Connection = cnx;

                    int existe = 0;
                    ProgramacionConcepto.Core.ProgramacionHelper pch = new ProgramacionConcepto.Core.ProgramacionHelper();
                    pch.Command = cmd;

                    ProgramacionConcepto.Core.ProgramacionConcepto programacion = new ProgramacionConcepto.Core.ProgramacionConcepto();
                    programacion.idtrabajador = idTrabajador;

                    List<ProgramacionConcepto.Core.ProgramacionConcepto> lstProgramacion = new List<ProgramacionConcepto.Core.ProgramacionConcepto>();

                    try
                    {
                        cnx.Open();
                        existe = (int)pch.existeProgramacion(programacion);
                        cnx.Close();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
                        cnx.Dispose();
                    }

                    if (existe != 0)
                    {
                        try
                        {
                            cnx.Open();
                            lstProgramacion = pch.obtenerProgramacion(programacion);
                            cnx.Close();
                        }
                        catch (Exception error)
                        {
                            MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
                            cnx.Dispose();
                        }

                        for (int i = 0; i < lstProgramacion.Count; i++)
                        {
                            if (_finPeriodo.Date <= lstProgramacion[i].fechafin)
                            {
                                Conceptos.Core.ConceptosHelper ch = new Conceptos.Core.ConceptosHelper();
                                ch.Command = cmd;
                                Conceptos.Core.Conceptos concepto = new Conceptos.Core.Conceptos();
                                concepto.id = lstProgramacion[i].idconcepto;
                                List<Conceptos.Core.Conceptos> lstNoConcepto = new List<Conceptos.Core.Conceptos>();
                                try
                                {
                                    cnx.Open();
                                    lstNoConcepto = ch.obtenerConcepto(concepto);
                                    cnx.Close();
                                }
                                catch (Exception error) { MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error"); }

                                CalculoNomina.Core.tmpPagoNomina pne = new CalculoNomina.Core.tmpPagoNomina();
                                pne.idempresa = GLOBALES.IDEMPRESA;
                                pne.idtrabajador = idTrabajador;
                                pne.fechainicio = _inicioPeriodo.Date;
                                pne.fechafin = _finPeriodo.Date;
                                pne.noconcepto = lstNoConcepto[0].noconcepto;

                                try
                                {
                                    cnx.Open();
                                    existeConcepto = (int)nh.existeConcepto(pne);
                                    cnx.Close();
                                }
                                catch
                                {
                                    MessageBox.Show("Error al obtener la existencia del concepto.", "Error");
                                    cnx.Dispose();
                                }

                                CalculoNomina.Core.tmpPagoNomina vn = new CalculoNomina.Core.tmpPagoNomina();
                                vn.idtrabajador = idTrabajador;
                                vn.idempresa = GLOBALES.IDEMPRESA;
                                vn.idconcepto = lstProgramacion[i].idconcepto;
                                vn.noconcepto = lstNoConcepto[0].noconcepto;
                                vn.tipoconcepto = lstNoConcepto[0].tipoconcepto;
                                vn.fechainicio = _inicioPeriodo.Date;
                                vn.fechafin = _finPeriodo.Date;
                                vn.exento = 0;
                                vn.gravado = 0;
                                vn.cantidad = lstProgramacion[i].cantidad;
                                vn.guardada = true;
                                vn.tiponomina = _tipoNormalEspecial;
                                vn.modificado = false;

                                if (lstNoConcepto[0].gravado && !lstNoConcepto[0].exento)
                                {
                                    vn.gravado = lstProgramacion[i].cantidad;
                                    vn.exento = 0;
                                }

                                if (lstNoConcepto[0].gravado && lstNoConcepto[0].exento)
                                {
                                    CalculoFormula formulaExcento = new CalculoFormula(idTrabajador, _inicioPeriodo.Date, _finPeriodo.Date, lstNoConcepto[0].formulaexento);
                                    vn.exento = decimal.Parse(formulaExcento.calcularFormula().ToString());
                                    if (vn.cantidad <= vn.exento)
                                    {
                                        vn.exento = vn.cantidad;
                                        vn.gravado = 0;
                                    }
                                    else
                                    {
                                        vn.gravado = vn.cantidad - vn.exento;
                                    }
                                }

                                if (existeConcepto == 0)
                                {
                                    lstOtrasDeducciones.Add(vn);
                                }
                                else
                                {
                                    try
                                    {
                                        cnx.Open();
                                        nh.actualizaConceptoModificado(vn);
                                        cnx.Close();
                                    }
                                    catch
                                    {
                                        MessageBox.Show("Error al actualizar el concepto.", "Error");
                                        cnx.Dispose();
                                    }
                                }
                            }
                        }
                    }
                }
            }
            #endregion

            #region MOVIMIENTOS

            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;

            Movimientos.Core.MovimientosHelper mh = new Movimientos.Core.MovimientosHelper();
            mh.Command = cmd;
            nh = new CalculoNomina.Core.NominaHelper();
            nh.Command = cmd;

            percepciones = lstPercepciones.Where(f => f.tipoconcepto == "P").Sum(f => f.cantidad);

            if (percepciones != 0)
            {
                int existe = 0;
                Movimientos.Core.Movimientos mov = new Movimientos.Core.Movimientos();
                mov.idtrabajador = idTrabajador;
                mov.fechainicio = _inicioPeriodo.Date;
                mov.fechafin = _finPeriodo.Date;

                List<Movimientos.Core.Movimientos> lstMovimiento = new List<Movimientos.Core.Movimientos>();

                try
                {
                    cnx.Open();
                    existe = (int)mh.existeMovimiento(mov);
                    cnx.Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
                    cnx.Dispose();
                }

                if (existe != 0)
                {
                    try
                    {
                        cnx.Open();
                        lstMovimiento = mh.obtenerMovimiento(mov);
                        cnx.Close();
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error");
                        cnx.Dispose();
                    }

                    for (int i = 0; i < lstMovimiento.Count; i++)
                    {
                        Conceptos.Core.ConceptosHelper ch = new Conceptos.Core.ConceptosHelper();
                        ch.Command = cmd;
                        Conceptos.Core.Conceptos concepto = new Conceptos.Core.Conceptos();
                        concepto.id = lstMovimiento[i].idconcepto;
                        List<Conceptos.Core.Conceptos> lstNoConcepto = new List<Conceptos.Core.Conceptos>();
                        try
                        {
                            cnx.Open();
                            lstNoConcepto = ch.obtenerConcepto(concepto);
                            cnx.Close();
                        }
                        catch (Exception error) { MessageBox.Show("Error: \r\n \r\n" + error.Message, "Error"); }

                        CalculoNomina.Core.tmpPagoNomina vn = new CalculoNomina.Core.tmpPagoNomina();
                        vn.idtrabajador = idTrabajador;
                        vn.idempresa = GLOBALES.IDEMPRESA;
                        vn.idconcepto = lstMovimiento[i].idconcepto;
                        vn.noconcepto = lstNoConcepto[0].noconcepto;
                        vn.tipoconcepto = lstNoConcepto[0].tipoconcepto;
                        vn.fechainicio = _inicioPeriodo.Date;
                        vn.fechafin = _finPeriodo.Date;
                        vn.exento = 0;
                        vn.gravado = 0;
                        vn.cantidad = lstMovimiento[i].cantidad;
                        vn.guardada = true;
                        vn.tiponomina = _tipoNormalEspecial;
                        vn.modificado = false;

                        if (lstNoConcepto[0].gravado && !lstNoConcepto[0].exento)
                        {
                            vn.gravado = lstMovimiento[i].cantidad;
                            vn.exento = 0;
                        }

                        if (lstNoConcepto[0].gravado && lstNoConcepto[0].exento)
                        {
                            CalculoFormula formulaExcento = new CalculoFormula(idTrabajador, _inicioPeriodo.Date, _finPeriodo.Date, lstNoConcepto[0].formulaexento);
                            vn.exento = decimal.Parse(formulaExcento.calcularFormula().ToString());
                            if (vn.cantidad <= vn.exento)
                            {
                                vn.exento = vn.cantidad;
                                vn.gravado = 0;
                            }
                            else
                            {
                                vn.gravado = vn.cantidad - vn.exento;
                            }
                        }

                        if (!lstNoConcepto[0].gravado && lstNoConcepto[0].exento)
                        {
                            vn.gravado = 0;
                            vn.exento = lstMovimiento[i].cantidad;
                        }

                        try
                        {
                            cnx.Open();
                            existe = (int)nh.existeConcepto(vn);
                            cnx.Close();
                        }
                        catch (Exception error)
                        {
                            MessageBox.Show("Error: Al verificar existencia de los movimientos. \r\n" + error.Message, "Error");
                        }

                        if (existe == 0)
                        {
                            lstOtrasDeducciones.Add(vn);
                        }
                        else
                        {
                            try
                            {
                                cnx.Open();
                                nh.actualizaConcepto(vn);
                                cnx.Close();
                            }
                            catch (Exception error)
                            {
                                MessageBox.Show("Error: Al actualizar los movimientos. " +  error.Message, "Error");
                            }

                        }
                    }
                }
            }
            #endregion

            #region BULK DATOS PROGRAMACION DE MOVIMIENTOS
            BulkData(lstOtrasDeducciones);
            #endregion

            #region MOSTRAR DATOS
            muestraDatos();
            #endregion

            #region PERIODO
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            nh = new CalculoNomina.Core.NominaHelper();
            nh.Command = cmd;
            int noPeriodo = 0;
            try
            {
                if (_tipoNormalEspecial == GLOBALES.NORMAL)
                {
                    cnx.Open();
                    noPeriodo = int.Parse(nh.obtenerNoPeriodo(_periodo, _inicioPeriodo).ToString());
                    nh.actualizarNoPeriodo(GLOBALES.IDEMPRESA, _inicioPeriodo.Date, _finPeriodo.Date, noPeriodo);
                    cnx.Close();
                }
                else if (_tipoNormalEspecial == GLOBALES.EXTRAORDINARIO_NORMAL)
                {
                    cnx.Open();
                    noPeriodo = (int)(nh.obtenerNoPeriodoExtraordinario(GLOBALES.IDEMPRESA, _tipoNormalEspecial));
                    noPeriodo = noPeriodo + 1;
                    nh.actualizarNoPeriodo(GLOBALES.IDEMPRESA, _inicioPeriodo.Date, _finPeriodo.Date, noPeriodo);
                    cnx.Close();
                }

            }
            catch (Exception)
            {
                MessageBox.Show("Error: Al actualizar el No. de Periodo", "Error");
                cnx.Dispose();
                return;
            }
            #endregion
        }
Пример #41
0
        private void ListaEmpleados()
        {
            cnx = new SqlConnection(cdn);
            cmd = new SqlCommand();
            cmd.Connection = cnx;
            Empleados.Core.EmpleadosHelper eh = new Empleados.Core.EmpleadosHelper();
            Expediente.Core.ExpedienteHelper exph = new Expediente.Core.ExpedienteHelper();
            eh.Command = cmd;
            exph.Command = cmd;

            Empleados.Core.Empleados empleado = new Empleados.Core.Empleados();
            empleado.idempresa = GLOBALES.IDEMPRESA;
            empleado.estatus = GLOBALES.ACTIVO;

            Expediente.Core.Expediente expediente = new Expediente.Core.Expediente();
            expediente.idempresa = GLOBALES.IDEMPRESA;

            try
            {
                cnx.Open();
                lstEmpleados = eh.obtenerEmpleados(empleado);
                lstExpediente = exph.obtenerExpedientes(expediente);
                cnx.Close();
                cnx.Dispose();

                var em = from e in lstEmpleados join ex in lstExpediente on e.idtrabajador equals ex.idtrabajador
                         select new
                         {
                             IdTrabajador = e.idtrabajador,
                             NoEmpleado = e.noempleado,
                             Nombre = e.nombrecompleto,
                             Estatus = ((int)ex.estatus) == 0 ? "SIN EXPEDIENTE" :
                             ((int)ex.estatus > 0 && (int)ex.estatus < 14) ? "EXPEDIENTE SIN COMPLETAR" : "COMPLETO"
                         };

                dgvExpedientes.DataSource = em.ToList();

                for (int i = 0; i < dgvExpedientes.Columns.Count; i++)
                {
                    dgvExpedientes.AutoResizeColumn(i);
                }
                dgvExpedientes.Columns["IdTrabajador"].Visible = false;
            }
            catch (Exception error)
            {
                MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
            }
        }
Пример #42
0
        private void frmEmpleados_Load(object sender, EventArgs e)
        {
            CargaComboBox();
            /// _tipoOperacion CONSULTA = 1, EDICION = 2
            if (_tipoOperacion == GLOBALES.CONSULTAR || _tipoOperacion == GLOBALES.MODIFICAR)
            {
                cnx = new MySqlConnection();
                cnx.ConnectionString = cdn;
                cmd            = new MySqlCommand();
                cmd.Connection = cnx;
                eh             = new Empleados.Core.EmpleadosHelper();
                eh.Command     = cmd;

                List <Empleados.Core.Empleados> lstEmpleado;

                Empleados.Core.Empleados em = new Empleados.Core.Empleados();
                em.idtrabajador = _idempleado;

                try
                {
                    cnx.Open();
                    lstEmpleado = eh.obtenerEmpleado(em);
                    cnx.Close();
                    cnx.Dispose();

                    for (int i = 0; i < lstEmpleado.Count; i++)
                    {
                        txtNombre.Text                = lstEmpleado[i].nombres;
                        txtApPaterno.Text             = lstEmpleado[i].paterno;
                        txtApMaterno.Text             = lstEmpleado[i].materno;
                        dtpFechaNacimiento.Value      = DateTime.Parse(lstEmpleado[i].fechanacimiento.ToString());
                        txtEdad.Text                  = lstEmpleado[i].edad.ToString();
                        dtpFechaIngreso.Value         = lstEmpleado[i].fechaingreso;
                        cmbLocalForaneo.SelectedValue = lstEmpleado[i].localforaneo;
                        cmbSua.SelectedValue          = lstEmpleado[i].sua;
                        txtRFC.Text    = lstEmpleado[i].rfc;
                        txtCURP.Text   = lstEmpleado[i].curp;
                        txtNSS.Text    = lstEmpleado[i].nss;
                        txtDigito.Text = lstEmpleado[i].digitoverificador.ToString();

                        lblCliente.Visible = false;
                        lblPeriodo.Visible = false;
                        cmbCliente.Visible = false;
                        cmbPeriodo.Visible = false;

                        lblSalario.Visible     = false;
                        lblTipoSalario.Visible = false;
                        lblSueldo.Visible      = false;
                        lblSD.Visible          = false;
                        lblSDI.Visible         = false;
                        cmbTipoSalario.Visible = false;
                        txtSueldo.Visible      = false;
                        txtSD.Visible          = false;
                        txtSDI.Visible         = false;
                        btnCalcular.Visible    = false;
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show("Error: \r\n \r\n " + error.Message, "Error");
                }

                if (_tipoOperacion == GLOBALES.CONSULTAR)
                {
                    toolTitulo.Text = "Consulta Empleado";
                    GLOBALES.INHABILITAR(this, typeof(TextBox));
                    GLOBALES.INHABILITAR(this, typeof(MaskedTextBox));
                    GLOBALES.INHABILITAR(this, typeof(Button));
                    GLOBALES.INHABILITAR(this, typeof(DateTimePicker));
                    GLOBALES.INHABILITAR(this, typeof(ComboBox));
                }
                else
                {
                    toolTitulo.Text = "Edición Empleado";
                }
            }
        }