Exemplo n.º 1
0
        private void cmdProcesar_Click_1(object sender, EventArgs e)
        {
            try
            {
                if (checkTodos.Checked)
                {
                    oRo_Rol_Detalle_Bus.Eliminar_proceso(_idEmpresa, _idNomina, _idNominaLiqui, _idPeriodo);
                }

                bool B_validaEstado = false;
                if (pu_ValidarPeriodo())
                {
                    foreach (var item in oLstRo_Empleado_Info)
                    {
                        if (item.em_status == "EST_VAC" || item.em_status == "EST_SUB")
                        {
                            B_validaEstado = true;
                        }
                    }

                    if (B_validaEstado)
                    {
                        if (MessageBox.Show("Existen empleados en estado de vacaciones o en subsidio ¿Desea Revisar?", "ATENCION", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                        }
                        else
                        {
                            pu_ProcesarSeleccionados();
                        }
                    }
                    else
                    {
                        pu_ProcesarSeleccionados();
                    }
                }
                else
                {
                    MessageBox.Show("El Período está Cerrado no puede continuar con el proceso, revise por favor", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }



                // arregalndo el estado del empleado

                foreach (var item in oLstRo_Empleado_Info.Where(v => v.em_status == "EST_VAC" || v.em_status == "EST_SUB"))
                {
                    int dias = 0;
                    if (item.em_status == "EST_VAC")
                    {
                        ro_SolicitudVacaciones_Bus bus_vacaciones = new ro_SolicitudVacaciones_Bus();
                        dias = bus_vacaciones.Get_si_estaVacaciones(item.IdEmpresa, item.IdNomina_Tipo, Convert.ToInt32(item.IdEmpleado), oRo_PeriodoInfo.pe_FechaIni, oRo_PeriodoInfo.pe_FechaFin);
                        if (dias == 0)
                        {
                            BusEmpleado.Modificar_Estado(item.IdEmpresa, Convert.ToInt32(item.IdEmpleado), "EST_ACT");
                        }
                    }

                    if (item.em_status == "EST_SUB")
                    {
                        ro_permiso_x_empleado_Bus bus_permiso = new ro_permiso_x_empleado_Bus();
                        dias = bus_permiso.Get_Dias_Permiso(item.IdEmpresa, item.IdNomina_Tipo, Convert.ToInt32(item.IdEmpleado), oRo_PeriodoInfo.pe_FechaIni, oRo_PeriodoInfo.pe_FechaFin);

                        if (dias == 0)
                        {
                            BusEmpleado.Modificar_Estado(item.IdEmpresa, Convert.ToInt32(item.IdEmpleado), "EST_ACT");
                        }
                    }
                }

                B_validaEstado = false;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }