Пример #1
0
 public Boolean AnularDB(ro_Empleado_Novedad_Info info)
 {
     try
     {
         using (EntitiesRoles context = new EntitiesRoles())
         {
             var contact = context.ro_empleado_Novedad.First(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdNovedad == info.IdNovedad && minfo.IdEmpleado == info.IdEmpleado);
             contact.Estado          = "I";
             contact.MotiAnula       = info.MotiAnula;
             contact.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
             contact.Fecha_UltAnu    = info.Fecha_UltAnu;
             context.SaveChanges();
         }
         return(true);
     }
     catch (Exception ex)
     {
         string arreglo = ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
         mensaje = ex.InnerException + " " + ex.Message;
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
         throw new Exception(ex.InnerException.ToString());
     }
 }
Пример #2
0
        public Boolean ModificarDB(ro_Empleado_Novedad_Info ro_info)
        {
            try
            {
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    ro_empleado_Novedad contact = context.ro_empleado_Novedad.FirstOrDefault(var => var.IdEmpresa == ro_info.IdEmpresa &&
                                                                                             var.IdEmpleado == ro_info.IdEmpleado && var.IdNovedad == ro_info.IdNovedad);

                    if (contact != null)
                    {
                        contact.Estado          = ro_info.Estado;
                        contact.Fecha           = ro_info.Fecha;
                        contact.TotalValor      = ro_info.TotalValor;
                        contact.Fecha_UltMod    = ro_info.Fecha_UltMod;
                        contact.IdUsuarioUltMod = ro_info.IdUsuarioUltMod;
                        contact.Fecha_UltAnu    = ro_info.Fecha_UltAnu;
                        contact.IdUsuarioUltAnu = ro_info.IdUsuarioUltAnu;
                        context.SaveChanges();
                    }
                }

                mensaje = "Se ha procedido a actualizar la novedad # " + ro_info.IdNovedad;
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #3
0
        private void pu_AgregarMensajeLog(List <ro_Rol_Detalle_Info> oListRo_Rol_Detalle_Info)
        {
            try
            {
                decimal idNovedad = 0;
                listaNovedadSaldoNeg     = new BindingList <ro_Empleado_Novedad_Info>();
                oListRo_Rol_Detalle_Info = oListRo_Rol_Detalle_Info.Where(a => a.Observacion.Length > 0).ToList();
                listaNovedadSaldoNeg     = new BindingList <ro_Empleado_Novedad_Info>();

                foreach (ro_Rol_Detalle_Info info in oListRo_Rol_Detalle_Info)
                {
                    if (info.Observacion.Length > 0)
                    {
                        ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();



                        info_novedad.IdEmpresa  = param.IdEmpresa;
                        info_novedad.IdEmpleado = info.IdEmpleado;
                        info_novedad.TotalValor = info.Valor;
                        listaNovedadSaldoNeg.Add(info_novedad);
                    }
                }


                gridControl_Saldo_Neg.DataSource = listaNovedadSaldoNeg;
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
        void pu_AbrirNovedad()
        {
            try
            {
                ro_Empleado_Novedad_Info cab    = new ro_Empleado_Novedad_Info();
                ro_periodo_Info          period = new ro_periodo_Info();


                if (_idPeriodo != null)
                {
                    cab.Fecha = period.pe_FechaIni;
                }
                cab.IdEmpleado         = Info.IdEmpleado;
                cab.IdNomina_Tipo      = _idNominaTipo;
                cab.IdNomina_TipoLiqui = _idNominaTipoLiqui;

                frmRo_Empleado_Novedad_Mant frm = new frmRo_Empleado_Novedad_Mant();
                frm.set_Accion(Cl_Enumeradores.eTipo_action.grabar);
                frm.setCab(cab);
                frm.ShowDialog();


                //this.CargaEmpSalNeg();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Пример #5
0
        public Boolean ModificarDB(ro_Empleado_Novedad_Info ro_info, ref string mensaje, decimal idTransaccion)
        {
            try
            {
                using (EntitiesRoles context = new EntitiesRoles()){
                    ro_empleado_Novedad contact = context.ro_empleado_Novedad.FirstOrDefault(var => var.IdEmpresa == ro_info.IdEmpresa &&
                                                                                             var.IdEmpleado == ro_info.IdEmpleado && var.IdNovedad == ro_info.IdNovedad);


                    if (contact != null)
                    {
                        contact.Estado          = ro_info.Estado;
                        contact.Fecha           = ro_info.Fecha;
                        contact.Fecha_UltMod    = ro_info.Fecha_UltMod;
                        contact.IdUsuarioUltMod = ro_info.IdUsuarioUltMod;

                        contact.Fecha_UltAnu    = ro_info.Fecha_UltAnu;
                        contact.IdUsuarioUltAnu = ro_info.IdUsuarioUltAnu;

                        double totalvalor = 0;

                        foreach (var item in ro_info.LstDetalle)
                        {
                            totalvalor = totalvalor + item.Valor;
                        }

                        contact.TotalValor = totalvalor;
                        context.SaveChanges();
                    }
                    else
                    {
                        //CREA UN NUEVO REGISTRO

                        decimal idNovedad = ro_info.IdNovedad;
                        if (GrabarDB(ro_info, ref mensaje, ref idNovedad, ref idTransaccion))
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }

                mensaje = "Se ha procedido a actualizar la novedad # " + ro_info.IdNovedad;
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #6
0
        private ro_Empleado_Novedad_Info Get_Novedad(ro_descuento_no_planificados_Info info)
        {
            try
            {
                int secuencia = 0;
                ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();

                info_novedad.IdEmpresa     = info.IdEmpresa;
                info_novedad.IdEmpleado    = info.IdEmpleado;
                info_novedad.IdNomina_Tipo = info.IdNomina_Tipo;
                if (info.lista.Count() > 0)
                {
                    info_novedad.IdNomina_TipoLiqui = info.lista.FirstOrDefault().IdNomina_Tipo_Liq;
                }
                if (info.IdNovedad != null)
                {
                    info_novedad.IdNovedad = Convert.ToDecimal(info.IdNovedad);
                }
                info_novedad.IdUsuario        = info.IdUsuario;
                info_novedad.Fecha            = info.Fecha_Incidente;
                info_novedad.Fecha_Transac    = DateTime.Now;
                info_novedad.TotalValor       = info.Valor;
                info_novedad.Fecha_PrimerPago = info.Fecha_Incidente;
                info_novedad.NumCoutas        = info.lista.Count();
                info_novedad.Estado           = "A";

                foreach (var item in info.lista)
                {
                    ro_Empleado_Novedad_Det_Info info_det = new ro_Empleado_Novedad_Det_Info();
                    secuencia++;
                    info_det.IdEmpresa     = item.IdEmpresa;
                    info_det.IdNomina      = item.IdNomina_Tipo;
                    info_det.IdNominaLiqui = item.IdNomina_Tipo_Liq;
                    info_det.IdEmpleado    = item.IdEmpleado;
                    info_det.IdNovedad     = info_novedad.IdNovedad;
                    info_det.IdRubro       = item.IdRubro;
                    info_det.FechaPago     = item.Fecha_Descuento;
                    info_det.EstadoCobro   = "PEN";
                    info_det.Valor         = item.Valor;
                    info_det.Observacion   = info.Observacion;
                    info_det.Estado        = "A";
                    info_det.Secuencia     = secuencia;
                    info_novedad.LstDetalle.Add(info_det);
                }



                return(info_novedad);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }
        private List <ro_Empleado_Novedad_Info> Get_Novedades(List <ro_fectividad_x_empleado_Adm_x_periodo_Det_Info> lista)
        {
            try
            {
                List <ro_Empleado_Novedad_Info> listado_novedades = new List <ro_Empleado_Novedad_Info>();

                foreach (var item in lista)
                {
                    if (item.valor_ganado > 0)
                    {
                        ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                        info_novedad.IdEmpresa          = item.IdEmpresa;
                        info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = item.IdNomina_Tipo_Liq;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.Fecha            = item.fechaPago;
                        info_novedad.TotalValor       = Convert.ToDouble(item.valor_ganado);
                        info_novedad.Fecha_PrimerPago = DateTime.Now;
                        info_novedad.NumCoutas        = 1;
                        info_novedad.IdUsuario        = param.IdUsuario;
                        info_novedad.Fecha_Transac    = DateTime.Now;
                        info_novedad.Estado           = "A";
                        info_novedad.IdCalendario     = item.IdPeriodo.ToString();


                        // detalle de la novedad

                        ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                        info_detalle.IdEmpresa      = item.IdEmpresa;
                        info_detalle.IdEmpleado     = item.IdEmpleado;
                        info_detalle.Secuencia      = 1;
                        info_detalle.IdRol          = null;
                        info_detalle.IdRubro        = item.IdRubro;
                        info_detalle.FechaPago      = item.fechaPago;
                        info_detalle.Valor          = Convert.ToDouble(item.valor_ganado);
                        info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                        info_detalle.EstadoCobro    = "PEN";
                        info_detalle.Estado         = "A";
                        info_detalle.IdCalendario   = item.IdPeriodo.ToString();
                        info_novedad.InfoNovedadDet = info_detalle;
                        listado_novedades.Add(info_novedad);
                    }
                }

                return(listado_novedades);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }
 private void gridView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
 {
     try
     {
         Info_CabNovedad = new ro_Empleado_Novedad_Info();
         Info_CabNovedad = gridView.GetFocusedRow() as ro_Empleado_Novedad_Info;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
         Log_Error_bus.Log_Error(ex.ToString());
     }
 }
Пример #9
0
        public bool Guardar_DB(ro_Remplazo_x_emplado_Info info, ref int Id_Remplazo, ref decimal id_novedad)
        {
            try
            {
                decimal iddiario = 0;
                decimal idop     = 0;
                if (data.Guardar_DB(info, ref Id_Remplazo))
                {
                    if (info.Descuenta_rol == true)
                    {
                        ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                        info_novedad = Get_novedad_info(info);
                        if (novedad_bus.GrabarDB(info_novedad, ref id_novedad, ref error))
                        {
                            info_novedad.InfoNovedadDet.IdNovedad = id_novedad;
                            info_novedad.InfoNovedadDet.IdEmpresa = info.IdEmpresa;
                            if (novedad_det_bus.GrabarDB(info_novedad.InfoNovedadDet, ref error))
                            {
                                info.IdNovedad   = id_novedad;
                                info.Id_remplazo = Id_Remplazo;
                                Modificar_DB_IdNovedad(info);
                            }
                        }
                    }

                    GetOrdenPao(info);
                    GetAsientoContable(info);
                    if (bus_ct.GrabarDB(infocont, ref iddiario, ref mensaje))
                    {
                        foreach (var item in CabOP.Detalle)
                        {
                            item.IdTipoCbte_cxp = infocont.IdTipoCbte;
                            item.IdCbteCble_cxp = iddiario;
                        }

                        if (bus_op.GuardaDB(CabOP, ref idop, ref mensaje))
                        {
                        }
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }
Пример #10
0
        public bool Modificar_DB(ro_Remplazo_x_emplado_Info info)
        {
            try
            {
                decimal id_novedad = 0;
                ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();

                if (data.Modificar_DB(info))
                {
                    if (info.Descuenta_rol == true)
                    {
                        info_novedad = Get_novedad_info(info);
                        if (info.IdNovedad != null && info.IdNovedad > 0)// si existe novedad creada
                        {
                            if (novedad_bus.ModificarDB(info_novedad))
                            {
                                info_novedad.InfoNovedadDet.IdNovedad = info_novedad.IdNovedad;
                                if (novedad_det_bus.ModificarDB(info_novedad.InfoNovedadDet, ref error))
                                {
                                }
                            }
                        }
                        else// si se actualizo el registro y no existe novedad de descuento
                        {
                            info_novedad = Get_novedad_info(info);
                            if (novedad_bus.GrabarDB(info_novedad, ref id_novedad, ref error))
                            {
                                info_novedad.InfoNovedadDet.IdNovedad = id_novedad;
                                info_novedad.InfoNovedadDet.IdEmpresa = info.IdEmpresa;
                                if (novedad_det_bus.GrabarDB(info_novedad.InfoNovedadDet, ref error))
                                {
                                    info.IdNovedad = id_novedad;
                                    Modificar_DB_IdNovedad(info);
                                }
                            }
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }
Пример #11
0
 public Boolean ModificarDB(ro_Empleado_Novedad_Info ro_info)
 {
     try
     {
         return(oData.ModificarDB(ro_info));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "EliminarBD", ex.Message), ex)
               {
                   EntityType = typeof(ro_Empleado_Novedad_Bus)
               };
     }
 }
Пример #12
0
 public Boolean GrabarDB(ro_Empleado_Novedad_Info ro_info, ref string mensaje, ref decimal idNovedad, ref decimal idTransaccion)
 {
     try
     {
         return(oData.GrabarDB(ro_info, ref mensaje, ref idNovedad, ref idTransaccion));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex)
               {
                   EntityType = typeof(ro_Empleado_Novedad_Bus)
               };
     }
 }
Пример #13
0
 public ro_Empleado_Novedad_Info Get_novedad_info(ro_Remplazo_x_emplado_Info info)
 {
     try
     {
         ro_Empleado_Novedad_Info novedad_info = new ro_Empleado_Novedad_Info();
         novedad_info.IdEmpresa          = info.IdEmpresa;
         novedad_info.IdEmpleado         = info.IdEmpleado;
         novedad_info.IdNomina_Tipo      = (int)info.IdNomina_Tipo;
         novedad_info.Fecha              = (DateTime)info.Fecha_descuenta_rol;
         novedad_info.TotalValor         = info.Total_pagar_remplazo;
         novedad_info.Fecha_PrimerPago   = (DateTime)info.Fecha_descuenta_rol;
         novedad_info.NumCoutas          = 1;
         novedad_info.Fecha_Transac      = DateTime.Now;
         novedad_info.IdUsuario          = info.IdUsuario;
         novedad_info.Estado             = "A";
         novedad_info.IdCalendario       = info.IdPeriodo.ToString();
         novedad_info.IdNomina_Tipo      = (int)info.IdNomina_Tipo;
         novedad_info.IdNomina_TipoLiqui = (int)info.IdNomina_TipoLiqui;
         novedad_info.IdUsuario          = info.IdUsuario;
         if (info.IdNovedad != null)
         {
             novedad_info.IdNovedad = (decimal)info.IdNovedad;
         }
         // creo el detalle de la novedad.
         ro_Empleado_Novedad_Det_Info Novedad_detalle_info = new ro_Empleado_Novedad_Det_Info();
         Novedad_detalle_info.IdEmpleado   = info.IdEmpresa;
         Novedad_detalle_info.IdEmpleado   = info.IdEmpleado;
         Novedad_detalle_info.Secuencia    = 1;
         Novedad_detalle_info.IdRubro      = info.IdRubro;
         Novedad_detalle_info.Valor        = info.Total_pagar_remplazo;
         Novedad_detalle_info.EstadoCobro  = "PEN";
         Novedad_detalle_info.Estado       = "A";
         Novedad_detalle_info.IdCalendario = info.IdPeriodo.ToString();
         Novedad_detalle_info.Observacion  = info.Observacion;
         novedad_info.InfoNovedadDet       = Novedad_detalle_info;
         //  novedad_info.InfoNovedadDet
         return(novedad_info);
     }
     catch (Exception ex)
     {
         mensaje = ex.ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
         throw new Exception(mensaje);
     }
 }
        public Boolean GrabarDB(ro_Empleado_Novedad_Info ro_info, ref decimal id, ref string mensaje)
        {
            try
            {
                // int IdNovedad;
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    EntitiesRoles EDB = new EntitiesRoles();


                    // ro_info.IdNovedad = IdNovedad;

                    var address = new ro_empleado_Novedad();

                    address.IdNovedad          = ro_info.IdNovedad = id = GetIdNovedad(ro_info.IdEmpresa, Convert.ToDecimal(ro_info.IdEmpleado == null ? 0 : ro_info.IdEmpleado));;
                    address.IdEmpresa          = ro_info.IdEmpresa;
                    address.IdEmpleado         = Convert.ToDecimal(ro_info.IdEmpleado == null ? 0 : ro_info.IdEmpleado);
                    address.TotalValor         = ro_info.TotalValor;
                    address.Fecha              = ro_info.Fecha;
                    address.IdNomina_Tipo      = ro_info.IdNomina_Tipo;
                    address.IdNomina_TipoLiqui = ro_info.IdNomina_TipoLiqui;
                    //address.IdTipoLiqui_Rol_PeriocidadPago = ro_info.IdTipoLiqui_Rol_PeriocidadPago;
                    address.IdUsuario     = ro_info.IdUsuario;
                    address.Fecha_Transac = ro_info.Fecha_Transac;
                    address.nom_pc        = ro_info.nom_pc;
                    address.ip            = ro_info.ip;
                    address.Estado        = "A";


                    context.ro_empleado_Novedad.Add(address);
                    context.SaveChanges();
                }
                mensaje = "Se ha guardado la información exitosamente...";
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #15
0
        private void gridView_Saldo_Neg_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            try
            {
                if (e.Column.Name == "Col_IdNomina_TipoLiqui")
                {
                    ro_Empleado_Novedad_Info info = (ro_Empleado_Novedad_Info)gridView_Saldo_Neg.GetFocusedRow();

                    listadoPeriodo_para_saldo_neg = periodo_nomina_bus.ConsultaPerNomTipLiq(param.IdEmpresa, Convert.ToInt32(cmbnomina.EditValue), Convert.ToInt32(info.IdNomina_TipoLiqui));
                    cmb_period.DataSource         = listadoPeriodo_para_saldo_neg.Where(v => v.Cerrado == "N" && v.Contabilizado == "N").ToList();
                    cmb_period.ValueMember        = "IdPeriodo";
                    cmb_period.DisplayMember      = "pe_Descripcion";
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Пример #16
0
        public Boolean Modificar_Nov(ro_Empleado_Novedad_Info info)
        {
            try
            {
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    double total = 0;

                    var contact = context.ro_empleado_Novedad.First(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdNovedad == info.IdNovedad && minfo.IdEmpleado == info.IdEmpleado);

                    var q = from C in context.ro_empleado_novedad_det
                            where C.IdEmpresa == info.IdEmpresa && C.IdEmpleado == info.IdEmpleado &&
                            C.IdNovedad == info.IdNovedad
                            select C;

                    foreach (var item in q)
                    {
                        ro_Empleado_Novedad_Det_Info Obj = new ro_Empleado_Novedad_Det_Info();

                        Obj.Valor = item.Valor;
                        total     = total + Obj.Valor;
                    }

                    contact.MotivoModiica = info.MotivoModifica;
                    contact.TotalValor    = total;


                    context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #17
0
        public Boolean GrabarDB_SaldosNegativos(ro_Empleado_Novedad_Info info, ref decimal IdNovedad)
        {
            try
            {
                string msg  = "";
                int    secu = 0;
                info.TotalValor = info.TotalValor * -1;
                if (oData.GrabarDB(info, ref IdNovedad))
                {
                    ro_Empleado_Novedad_Det_Info item = new ro_Empleado_Novedad_Det_Info();
                    item.IdNovedad     = IdNovedad;
                    item.Secuencia     = 1;
                    item.IdNovedad     = IdNovedad;
                    item.IdEmpresa     = info.IdEmpresa;
                    item.IdEmpleado    = info.IdEmpleado;
                    item.IdNomina      = info.IdNomina_Tipo;
                    item.IdNominaLiqui = info.IdNomina_TipoLiqui;
                    item.IdRubro       = info.IdRubro;
                    item.EstadoCobro   = "PEN";
                    item.Estado        = "A";
                    item.Observacion   = "Esta novedad fue generada por saldo negativo";
                    item.FechaPago     = info.Fecha_PrimerPago;
                    item.Fecha         = DateTime.Now;
                    item.IdCalendario  = info.IdCalendario;
                    item.Fecha         = info.Fecha;
                    item.Valor         = info.TotalValor;
                    novedad_detalle_bus.GrabarDB(item, ref msg);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex)
                      {
                          EntityType = typeof(ro_Empleado_Novedad_Bus)
                      };
            }
        }
Пример #18
0
        public Boolean GrabarDB(ro_Empleado_Novedad_Info info, ref decimal IdNovedad)
        {
            try
            {
                string msg  = "";
                int    secu = 0;
                if (oData.GrabarDB(info, ref IdNovedad))
                {
                    if (info.LstDetalle.Count() == 0)
                    {
                        info.InfoNovedadDet.IdNovedad     = IdNovedad;
                        info.InfoNovedadDet.IdEmpresa     = info.IdEmpresa;
                        info.InfoNovedadDet.IdNomina      = info.IdNomina_Tipo;
                        info.InfoNovedadDet.IdNominaLiqui = info.IdNomina_TipoLiqui;
                        novedad_detalle_bus.GrabarDB(info.InfoNovedadDet, ref msg);
                    }
                    if (info.LstDetalle.Count() > 0)
                    {
                        foreach (var item in info.LstDetalle)
                        {
                            secu++;
                            item.IdNovedad = IdNovedad;
                            item.Secuencia = secu;
                            novedad_detalle_bus.GrabarDB(item, ref msg);
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex)
                      {
                          EntityType = typeof(ro_Empleado_Novedad_Bus)
                      };
            }
        }
Пример #19
0
        public List <ro_Empleado_Novedad_Info> Get_List_Novedades_Cambiar_estado_Canceladas(int IdEmpresa, int idnomina, int idnomina_tipo, DateTime fecha_incion, DateTime fecha_fin)
        {
            try
            {
                lista = new List <ro_Empleado_Novedad_Info>();


                EntitiesRoles ORol = new EntitiesRoles();

                var sresult = from A in ORol.vwro_Empleado_Novedades
                              where A.IdEmpresa == IdEmpresa &&
                              A.IdNomina_Tipo == idnomina &&
                              A.IdNomina_TipoLiqui == idnomina_tipo &&
                              A.FechaPago >= fecha_incion &&
                              A.FechaPago <= fecha_fin &&
                              A.EstadoCobro == "PEN" &&
                              A.Estado_det == "A"
                              select A;

                foreach (var item in sresult)
                {
                    ro_Empleado_Novedad_Info Reg = new ro_Empleado_Novedad_Info();

                    //Datos Cabecera
                    Reg.IdEmpresa       = item.IdEmpresa;
                    Reg.IdNovedad       = item.IdNovedad;
                    Reg.IdEmpleado      = item.IdEmpleado;
                    Reg.Fecha           = item.Fecha;
                    Reg.TotalValor      = Math.Abs(item.TotalValor);
                    Reg.IdUsuario       = item.IdUsuario;
                    Reg.Fecha_Transac   = item.Fecha_Transac;
                    Reg.IdUsuarioUltAnu = item.IdUsuarioUltAnu;
                    Reg.Fecha_UltAnu    = item.Fecha_UltAnu;
                    Reg.nom_pc          = item.nom_pc;
                    Reg.ip        = item.ip;
                    Reg.MotiAnula = item.MotiAnula;
                    Reg.Estado    = item.Estado;

                    Reg.descripcion_tiponomina   = item.descripcion_tiponomina;
                    Reg.DescripcionProcesoNomina = item.DescripcionProcesoNomina;
                    Reg.IdNomina_Tipo            = item.IdNomina_Tipo;
                    Reg.IdNomina_TipoLiqui       = item.IdNomina_TipoLiqui;
                    Reg.RubroDescp = item.ru_descripcion;
                    Reg.NomPerComp = item.pe_nombreCompleto;

                    Reg.InfoNovedadDet.IdEmpresa      = item.IdEmpresa;
                    Reg.InfoNovedadDet.IdNovedad      = item.IdNovedad;
                    Reg.InfoNovedadDet.FechaPago      = item.FechaPago;//19112013 D
                    Reg.InfoNovedadDet.IdRubro        = item.IdRubro;
                    Reg.InfoNovedadDet.ru_descripcion = item.ru_descripcion;
                    Reg.InfoNovedadDet.Observacion    = item.Observacion;
                    Reg.InfoNovedadDet.Valor          = Math.Abs(Convert.ToDouble(item.Valor));
                    Reg.InfoNovedadDet.EstadoCobro    = (item.EstadoCobro).Trim();
                    //nuevo
                    Reg.EstadoCobro = (item.EstadoCobro).Trim();
                    //
                    Reg.InfoNovedadDet.Estado   = item.Estado_det;
                    Reg.InfoPersona.pe_apellido = item.pe_apellido;
                    Reg.InfoPersona.pe_nombre   = item.pe_nombre;
                    Reg.MotivoModifica          = item.MotivoModiica;
                    Reg.NomPerComp = item.pe_apellido + " " + item.pe_nombre;
                    Reg.Secuencia  = item.IdTransaccion;

                    lista.Add(Reg);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #20
0
        public ro_Empleado_Novedad_Info Get_Info_Empleado_Novedad_Cab_x_Rubro(int IdEmpresa, decimal IdNovedades, string IdRubro, decimal IdEmpleado)
        {
            try
            {
                lista = new List <ro_Empleado_Novedad_Info>();


                EntitiesRoles ORol = new EntitiesRoles();

                var item = ORol.vwro_Empleado_Novedades.First(A => A.IdEmpresa == IdEmpresa &&
                                                              A.IdNovedad == IdNovedades && A.IdEmpleado == IdEmpleado &&
                                                              A.IdRubro == IdRubro);



                ro_Empleado_Novedad_Info Reg = new ro_Empleado_Novedad_Info();

                //Datos Cabecera
                Reg.IdEmpresa       = item.IdEmpresa;
                Reg.IdNovedad       = item.IdNovedad;
                Reg.IdEmpleado      = item.IdEmpleado;
                Reg.Fecha           = item.Fecha;
                Reg.TotalValor      = item.TotalValor;
                Reg.IdUsuario       = item.IdUsuario;
                Reg.Fecha_Transac   = item.Fecha_Transac;
                Reg.IdUsuarioUltAnu = item.IdUsuarioUltAnu;
                Reg.Fecha_UltAnu    = item.Fecha_UltAnu;
                Reg.nom_pc          = item.nom_pc;
                Reg.ip        = item.ip;
                Reg.MotiAnula = item.MotiAnula;
                Reg.Estado    = item.Estado;
                Reg.descripcion_tiponomina   = item.descripcion_tiponomina;
                Reg.DescripcionProcesoNomina = item.DescripcionProcesoNomina;
                Reg.IdNomina_Tipo            = item.IdNomina_Tipo;
                Reg.IdNomina_TipoLiqui       = item.IdNomina_TipoLiqui;
                Reg.IdRubro = item.IdRubro;
                //Reg.RubroDescp = item.ru_descripcion;

                Reg.RubroDescp = item.ru_descripcion;
                Reg.NomPerComp = item.pe_nombreCompleto;


                //Datos Detalle
                Reg.InfoNovedadDet.IdEmpresa      = item.IdEmpresa;
                Reg.InfoNovedadDet.IdNovedad      = item.IdNovedad;
                Reg.InfoNovedadDet.IdRubro        = item.IdRubro;
                Reg.InfoNovedadDet.ru_descripcion = item.ru_descripcion;
                Reg.InfoNovedadDet.Observacion    = item.Observacion;
                Reg.InfoNovedadDet.Valor          = Convert.ToDouble(item.Valor);
                Reg.InfoNovedadDet.EstadoCobro    = item.EstadoCobro;
                Reg.InfoNovedadDet.Estado         = item.Estado_det;
                Reg.Secuencia = item.IdTransaccion;

                return(Reg);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #21
0
        public Boolean GrabarDB(ro_Empleado_Novedad_Info ro_info, ref string mensaje, ref decimal idnovedad, ref decimal idTransaccion)
        {
            try
            {
                ro_Novedad_x_Empleado_Data BusNovedadXEmpleado = new ro_Novedad_x_Empleado_Data();
                int IdNovedad;
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    EntitiesRoles EDB = new EntitiesRoles();
                    IdNovedad         = GetIdNovedad(ro_info.IdEmpresa, Convert.ToDecimal(ro_info.IdEmpleado == null ? 0 : ro_info.IdEmpleado));
                    idTransaccion     = BusNovedadXEmpleado.getId(ro_info.IdEmpresa);
                    ro_info.IdNovedad = IdNovedad;
                    idnovedad         = IdNovedad;
                    var address = new ro_empleado_Novedad();
                    address.IdNovedad          = ro_info.IdNovedad;
                    address.IdEmpresa          = ro_info.IdEmpresa;
                    address.IdEmpleado         = Convert.ToDecimal(ro_info.IdEmpleado == null ? 0 : ro_info.IdEmpleado);
                    address.TotalValor         = ro_info.TotalValor;
                    address.Fecha              = ro_info.Fecha;
                    address.IdNomina_Tipo      = ro_info.IdNomina_Tipo;
                    address.IdNomina_TipoLiqui = ro_info.IdNomina_TipoLiqui;
                    address.IdUsuario          = ro_info.IdUsuario;
                    address.Fecha_Transac      = ro_info.Fecha_Transac;
                    address.nom_pc             = ro_info.nom_pc;
                    address.ip           = ro_info.ip;
                    address.Estado       = "A";
                    address.IdCalendario = ro_info.IdCalendario;
                    context.ro_empleado_Novedad.Add(address);
                    context.SaveChanges();


                    ro_Empleado_Novedad_Det_Data DataDet = new ro_Empleado_Novedad_Det_Data();
                    ro_Novedad_x_Empleado_Data   oRo_Novedad_x_Empleado_Data = new ro_Novedad_x_Empleado_Data();

                    int sec = 0;

                    foreach (var item in ro_info.LstDetalle)
                    {
                        item.IdNovedad     = ro_info.IdNovedad;
                        item.IdNomina      = ro_info.IdNomina_Tipo;
                        item.IdNominaLiqui = ro_info.IdNomina_TipoLiqui;
                        item.Secuencia     = ++sec;
                        if (!DataDet.GrabarDB(item, ref mensaje))
                        {
                            return(false);
                        }
                    }
                }
                mensaje = "Se ha guardado la información exitosamente...";
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #22
0
        public Boolean pu_AgregarNovedadPorEmpleado(int idEmpresa, decimal idEmpleado, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, DateTime fechaInicial, DateTime fechaFinal, Boolean acreditaRol)
        {
            try {
                string idRubroHoraNocturnaExtra25 = "7";
                string idRubroHoraExtra50         = "8";
                string idRubroHoraExtra100        = "9";

                double valorSueldo  = 0;
                double valorHoraMes = 0;

                //OBTENER EL VALOR DEL SUELDO
                valorSueldo = oHistoricoSueldoBus.Get_List_HistoricoSueldo(idEmpresa, idEmpleado).FirstOrDefault().SueldoActual;

                //OBTENER EL VALOR DE LA HORA DE TRABAJO DIURNO
                valorHoraMes = Convert.ToDouble(valorSueldo / 240); //CORRESPONDE A UNA JORNADA DE 8 HORAS X 30 DIAS

                ro_Nomina_X_Horas_Extras_Info info = new ro_Nomina_X_Horas_Extras_Info();
                ro_Empleado_Novedad_Det_Info  tmp  = new ro_Empleado_Novedad_Det_Info();

                //OBTIENE LAS HORAS EXTRAS DEL EMPLEADO GENERADAS EN EL PROCESO DE CALCULO
                info = Get_Info_Nomina_X_Horas_Extras(idEmpresa, idEmpleado, idNominaTipo, idNominaTipoLiqui, idPeriodo, ref mensaje);

                if (info.hora_extra25 > 0)
                {
                    ro_Empleado_Novedad_Info     oRo_Empleado_Novedad_Cab_Info = new ro_Empleado_Novedad_Info();
                    ro_Empleado_Novedad_Det_Info oRo_Empleado_Novedad_Det_Info = new ro_Empleado_Novedad_Det_Info();

                    decimal idNovedad = 0;

                    oRo_Empleado_Novedad_Cab_Info.IdEmpresa          = info.IdEmpresa;
                    oRo_Empleado_Novedad_Cab_Info.IdEmpleado         = info.IdEmpleado;
                    oRo_Empleado_Novedad_Cab_Info.IdNomina_Tipo      = idNominaTipo;
                    oRo_Empleado_Novedad_Cab_Info.IdNomina_TipoLiqui = idNominaTipoLiqui;
                    oRo_Empleado_Novedad_Cab_Info.Fecha         = fechaFinal;
                    oRo_Empleado_Novedad_Cab_Info.TotalValor    = info.hora_extra25 * valorHoraMes * 1.25;
                    oRo_Empleado_Novedad_Cab_Info.IdUsuario     = param.IdUsuario;
                    oRo_Empleado_Novedad_Cab_Info.Fecha_Transac = param.Fecha_Transac;
                    oRo_Empleado_Novedad_Cab_Info.Estado        = "A";

                    //BORRAR VALORES PREVIOS DE NOVEDADES
                    tmp = oRo_Empleado_Novedad_Det_Bus.Get_Info_Novedad_det(idEmpresa, idEmpleado, idRubroHoraNocturnaExtra25, fechaFinal, ref mensaje);
                    oRo_Empleado_Novedad_Det_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdEmpleado, tmp.IdNovedad, tmp.Secuencia, ref mensaje);                   //BORRA EL DETALLE
                    oRo_Empleado_Novedad_Cab_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdNovedad, tmp.IdEmpleado, idNominaTipo, idNominaTipoLiqui, ref mensaje); //BORRA LA CABECERA

                    //GUARDA LA CABECERA
                    if (acreditaRol)
                    {
                        if (oRo_Empleado_Novedad_Cab_Bus.GrabarDB(oRo_Empleado_Novedad_Cab_Info, ref idNovedad, ref mensaje))
                        {
                            oRo_Empleado_Novedad_Det_Info.IdEmpresa   = info.IdEmpresa;
                            oRo_Empleado_Novedad_Det_Info.IdNovedad   = idNovedad;
                            oRo_Empleado_Novedad_Det_Info.IdEmpleado  = info.IdEmpleado;
                            oRo_Empleado_Novedad_Det_Info.Secuencia   = 1;
                            oRo_Empleado_Novedad_Det_Info.IdRubro     = idRubroHoraNocturnaExtra25;
                            oRo_Empleado_Novedad_Det_Info.FechaPago   = fechaFinal.Date;
                            oRo_Empleado_Novedad_Det_Info.Valor       = info.hora_extra25 * valorHoraMes * 1.25;
                            oRo_Empleado_Novedad_Det_Info.EstadoCobro = "PEN";
                            oRo_Empleado_Novedad_Det_Info.Observacion = "Generado Automáticamente por el Cálculo de Horas Extras";
                            oRo_Empleado_Novedad_Det_Info.Estado      = "A";
                            oRo_Empleado_Novedad_Det_Info.NumHoras    = info.hora_extra25;
                            //GUARDA EL DETALLE
                            oRo_Empleado_Novedad_Det_Bus.GrabarDB(oRo_Empleado_Novedad_Det_Info, ref mensaje);
                        }
                    }
                }

                if (info.hora_extra50 > 0)
                {
                    ro_Empleado_Novedad_Info     oRo_Empleado_Novedad_Cab_Info = new ro_Empleado_Novedad_Info();
                    ro_Empleado_Novedad_Det_Info oRo_Empleado_Novedad_Det_Info = new ro_Empleado_Novedad_Det_Info();

                    decimal idNovedad = 0;

                    oRo_Empleado_Novedad_Cab_Info.IdEmpresa          = info.IdEmpresa;
                    oRo_Empleado_Novedad_Cab_Info.IdEmpleado         = info.IdEmpleado;
                    oRo_Empleado_Novedad_Cab_Info.IdNomina_Tipo      = idNominaTipo;
                    oRo_Empleado_Novedad_Cab_Info.IdNomina_TipoLiqui = idNominaTipoLiqui;
                    oRo_Empleado_Novedad_Cab_Info.Fecha         = fechaFinal;
                    oRo_Empleado_Novedad_Cab_Info.TotalValor    = Math.Round(info.hora_extra50 * valorHoraMes * 1.5, 2);
                    oRo_Empleado_Novedad_Cab_Info.IdUsuario     = param.IdUsuario;
                    oRo_Empleado_Novedad_Cab_Info.Fecha_Transac = param.Fecha_Transac;
                    oRo_Empleado_Novedad_Cab_Info.Estado        = "A";


                    //BORRAR VALORES PREVIOS DE NOVEDADES
                    tmp = oRo_Empleado_Novedad_Det_Bus.Get_Info_Novedad_det(idEmpresa, idEmpleado, idRubroHoraExtra50, fechaFinal, ref mensaje);
                    oRo_Empleado_Novedad_Det_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdEmpleado, tmp.IdNovedad, tmp.Secuencia, ref mensaje);
                    oRo_Empleado_Novedad_Cab_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdNovedad, tmp.IdEmpleado, idNominaTipo, idNominaTipoLiqui, ref mensaje); //BORRA LA CABECERA

                    //GUARDA LA CABECERA
                    if (acreditaRol)
                    {
                        if (oRo_Empleado_Novedad_Cab_Bus.GrabarDB(oRo_Empleado_Novedad_Cab_Info, ref idNovedad, ref mensaje))
                        {
                            oRo_Empleado_Novedad_Det_Info.IdEmpresa   = info.IdEmpresa;
                            oRo_Empleado_Novedad_Det_Info.IdNovedad   = idNovedad;
                            oRo_Empleado_Novedad_Det_Info.IdEmpleado  = info.IdEmpleado;
                            oRo_Empleado_Novedad_Det_Info.Secuencia   = 1;
                            oRo_Empleado_Novedad_Det_Info.IdRubro     = idRubroHoraExtra50;
                            oRo_Empleado_Novedad_Det_Info.FechaPago   = fechaFinal.Date;
                            oRo_Empleado_Novedad_Det_Info.Valor       = Math.Round(info.hora_extra50 * valorHoraMes * 1.5, 2);
                            oRo_Empleado_Novedad_Det_Info.EstadoCobro = "PEN";
                            oRo_Empleado_Novedad_Det_Info.Observacion = "Generado Automáticamente por el Cálculo de Horas Extras";
                            oRo_Empleado_Novedad_Det_Info.Estado      = "A";
                            oRo_Empleado_Novedad_Det_Info.NumHoras    = info.hora_extra50;

                            //GUARDA EL DETALLE
                            oRo_Empleado_Novedad_Det_Bus.GrabarDB(oRo_Empleado_Novedad_Det_Info, ref mensaje);
                        }
                    }
                }

                if (info.hora_extra100 > 0)
                {
                    ro_Empleado_Novedad_Info     oRo_Empleado_Novedad_Cab_Info = new ro_Empleado_Novedad_Info();
                    ro_Empleado_Novedad_Det_Info oRo_Empleado_Novedad_Det_Info = new ro_Empleado_Novedad_Det_Info();

                    decimal idNovedad = 0;

                    oRo_Empleado_Novedad_Cab_Info.IdEmpresa          = info.IdEmpresa;
                    oRo_Empleado_Novedad_Cab_Info.IdEmpleado         = info.IdEmpleado;
                    oRo_Empleado_Novedad_Cab_Info.IdNomina_Tipo      = idNominaTipo;
                    oRo_Empleado_Novedad_Cab_Info.IdNomina_TipoLiqui = idNominaTipoLiqui;
                    oRo_Empleado_Novedad_Cab_Info.Fecha         = fechaFinal;
                    oRo_Empleado_Novedad_Cab_Info.TotalValor    = info.hora_extra100 * valorHoraMes * 2;
                    oRo_Empleado_Novedad_Cab_Info.IdUsuario     = param.IdUsuario;
                    oRo_Empleado_Novedad_Cab_Info.Fecha_Transac = param.Fecha_Transac;
                    oRo_Empleado_Novedad_Cab_Info.Estado        = "A";

                    //BORRAR VALORES PREVIOS DE NOVEDADES
                    tmp = oRo_Empleado_Novedad_Det_Bus.Get_Info_Novedad_det(idEmpresa, idEmpleado, idRubroHoraExtra100, fechaFinal, ref mensaje);
                    oRo_Empleado_Novedad_Det_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdEmpleado, tmp.IdNovedad, tmp.Secuencia, ref mensaje);
                    oRo_Empleado_Novedad_Cab_Bus.EliminarDB(tmp.IdEmpresa, tmp.IdNovedad, tmp.IdEmpleado, idNominaTipo, idNominaTipoLiqui, ref mensaje); //BORRA LA CABECERA

                    //GUARDA LA CABECERA
                    if (acreditaRol)
                    {
                        if (oRo_Empleado_Novedad_Cab_Bus.GrabarDB(oRo_Empleado_Novedad_Cab_Info, ref idNovedad, ref mensaje))
                        {
                            oRo_Empleado_Novedad_Det_Info.IdEmpresa   = info.IdEmpresa;
                            oRo_Empleado_Novedad_Det_Info.IdNovedad   = idNovedad;
                            oRo_Empleado_Novedad_Det_Info.IdEmpleado  = info.IdEmpleado;
                            oRo_Empleado_Novedad_Det_Info.Secuencia   = 1;
                            oRo_Empleado_Novedad_Det_Info.IdRubro     = idRubroHoraExtra100;
                            oRo_Empleado_Novedad_Det_Info.FechaPago   = fechaFinal.Date;
                            oRo_Empleado_Novedad_Det_Info.Valor       = info.hora_extra100 * valorHoraMes * 2;
                            oRo_Empleado_Novedad_Det_Info.EstadoCobro = "PEN";
                            oRo_Empleado_Novedad_Det_Info.Observacion = "Generado Automáticamente por el Cálculo de Horas Extras";
                            oRo_Empleado_Novedad_Det_Info.Estado      = "A";
                            oRo_Empleado_Novedad_Det_Info.NumHoras    = info.hora_extra100;

                            //GUARDA EL DETALLE
                            oRo_Empleado_Novedad_Det_Bus.GrabarDB(oRo_Empleado_Novedad_Det_Info, ref mensaje);
                        }
                    }
                }


                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "pu_AgregarNovedadPorEmpleado", ex.Message), ex)
                      {
                          EntityType = typeof(ro_Nomina_X_Horas_Extras_Bus)
                      };
            }
        }
        private List <ro_Empleado_Novedad_Info> Get_Novedades(List <ro_fectividad_Entrega_x_Periodo_Empleado_Det_Info> lista, int TipoServicio)
        {
            try
            {
                ro_fectividad_Entrega_tipoServicio_Data odata_servicio = new ro_fectividad_Entrega_tipoServicio_Data();

                var info_servicio = odata_servicio.Get_Info(param.IdEmpresa, TipoServicio);

                List <ro_Empleado_Novedad_Info>    listado_novedades  = new List <ro_Empleado_Novedad_Info>();
                ero_parametro_x_pago_variable_tipo tipo_variable      = new ero_parametro_x_pago_variable_tipo();
                ro_Grupo_empleado_det_Info         info_grupo_detalle = new ro_Grupo_empleado_det_Info();


                foreach (var item in lista)
                {
                    #region SI LA VARIABLE ES VEVIDAS

                    if (info_servicio.ts_codigo == etipoServicio.BEBIDAS.ToString())
                    {
                        #region EFEC_ENTRE
                        if (item.Efectividad_Entrega_aplica > 0)
                        {
                            tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE;
                            ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                            info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault();

                            info_novedad.IdEmpresa          = item.IdEmpresa;
                            info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                            info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                            info_novedad.IdEmpleado         = item.IdEmpleado;
                            info_novedad.Fecha            = item.fecha_Pago;
                            info_novedad.TotalValor       = item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                            info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                            info_novedad.NumCoutas        = 1;
                            info_novedad.IdUsuario        = param.IdUsuario;
                            info_novedad.Fecha_Transac    = DateTime.Now;
                            info_novedad.Estado           = "A";
                            info_novedad.IdCalendario     = item.IdPeriodo + "VB";

                            // detalle de la novedad

                            ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                            info_detalle.IdEmpresa      = item.IdEmpresa;
                            info_detalle.IdEmpleado     = item.IdEmpleado;
                            info_detalle.Secuencia      = 1;
                            info_detalle.IdRol          = null;
                            info_detalle.IdRubro        = info_grupo_detalle.IdRubro;
                            info_detalle.FechaPago      = item.fecha_Pago;
                            info_detalle.Valor          = (item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                            info_detalle.EstadoCobro    = "PEN";
                            info_detalle.Estado         = "A";
                            info_detalle.IdCalendario   = item.IdPeriodo + "VB";
                            info_novedad.InfoNovedadDet = info_detalle;
                            info_novedad.LstDetalle.Add(info_detalle);
                            listado_novedades.Add(info_novedad);
                        }

                        #endregion
                        #region EFEC_ENTRE
                        if (item.Recuperacion_cartera_aplica > 0)
                        {
                            tipo_variable = ero_parametro_x_pago_variable_tipo.REC_CAR;
                            ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                            info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault();

                            info_novedad.IdEmpresa          = item.IdEmpresa;
                            info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                            info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                            info_novedad.IdEmpleado         = item.IdEmpleado;
                            info_novedad.Fecha            = item.fecha_Pago;
                            info_novedad.TotalValor       = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                            info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                            info_novedad.NumCoutas        = 1;
                            info_novedad.IdUsuario        = param.IdUsuario;
                            info_novedad.Fecha_Transac    = DateTime.Now;
                            info_novedad.Estado           = "A";
                            info_novedad.IdCalendario     = item.IdPeriodo.ToString() + "VB";


                            // detalle de la novedad

                            ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                            info_detalle.IdEmpresa      = item.IdEmpresa;
                            info_detalle.IdEmpleado     = item.IdEmpleado;
                            info_detalle.Secuencia      = 1;
                            info_detalle.IdRol          = null;
                            info_detalle.IdRubro        = info_grupo_detalle.IdRubro;
                            info_detalle.FechaPago      = item.fecha_Pago;
                            info_detalle.Valor          = (item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                            info_detalle.EstadoCobro    = "PEN";
                            info_detalle.Estado         = "A";
                            info_detalle.IdCalendario   = item.IdPeriodo.ToString() + "VB";
                            info_novedad.InfoNovedadDet = info_detalle;
                            info_novedad.LstDetalle.Add(info_detalle);
                            listado_novedades.Add(info_novedad);
                        }

                        #endregion
                        #region EFEC_VOL
                        if (item.Efectividad_Volumen_aplica > 0)
                        {
                            tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_VOL;
                            ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                            info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault();

                            info_novedad.IdEmpresa          = item.IdEmpresa;
                            info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                            info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                            info_novedad.IdEmpleado         = item.IdEmpleado;
                            info_novedad.Fecha            = item.fecha_Pago;
                            info_novedad.TotalValor       = item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;;
                            info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                            info_novedad.NumCoutas        = 1;
                            info_novedad.IdUsuario        = param.IdUsuario;
                            info_novedad.Fecha_Transac    = DateTime.Now;
                            info_novedad.Estado           = "A";
                            info_novedad.IdCalendario     = item.IdPeriodo.ToString() + "VB";


                            // detalle de la novedad

                            ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                            info_detalle.IdEmpresa      = item.IdEmpresa;
                            info_detalle.IdEmpleado     = item.IdEmpleado;
                            info_detalle.Secuencia      = 1;
                            info_detalle.IdRol          = null;
                            info_detalle.IdRubro        = info_grupo_detalle.IdRubro;
                            info_detalle.FechaPago      = item.fecha_Pago;
                            info_detalle.Valor          = (item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                            info_detalle.EstadoCobro    = "PEN";
                            info_detalle.Estado         = "A";
                            info_detalle.IdCalendario   = item.IdPeriodo.ToString() + "VB";
                            info_novedad.InfoNovedadDet = info_detalle;
                            info_novedad.LstDetalle.Add(info_detalle);
                            listado_novedades.Add(info_novedad);
                        }

                        #endregion
                    }

                    #endregion


                    #region SI LA VARIABLE ES ALIMENTOS

                    if (info_servicio.ts_codigo == etipoServicio.ALIMENTOS.ToString())
                    {
                        #region EFEC_ENTRE
                        if (item.Efectividad_Entrega_aplica > 0)
                        {
                            tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE_ALIM;
                            ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                            info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault();

                            info_novedad.IdEmpresa          = item.IdEmpresa;
                            info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                            info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                            info_novedad.IdEmpleado         = item.IdEmpleado;
                            info_novedad.Fecha = item.fecha_Pago;
                            if (item.Efectividad_Entrega_aplica <= 1)
                            {
                                info_novedad.TotalValor = (item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            }
                            else
                            {
                                info_novedad.TotalValor = item.Efectividad_Entrega_aplica;
                            }
                            info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                            info_novedad.NumCoutas        = 1;
                            info_novedad.IdUsuario        = param.IdUsuario;
                            info_novedad.Fecha_Transac    = DateTime.Now;
                            info_novedad.Estado           = "A";
                            info_novedad.IdCalendario     = item.IdPeriodo + "VA";

                            // detalle de la novedad

                            ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                            info_detalle.IdEmpresa  = item.IdEmpresa;
                            info_detalle.IdEmpleado = item.IdEmpleado;
                            info_detalle.Secuencia  = 1;
                            info_detalle.IdRol      = null;
                            info_detalle.IdRubro    = info_grupo_detalle.IdRubro;
                            info_detalle.FechaPago  = item.fecha_Pago;
                            if (item.Efectividad_Entrega_aplica <= 1)
                            {
                                info_detalle.Valor = (item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            }
                            else
                            {
                                info_detalle.Valor = item.Efectividad_Entrega_aplica;
                            }
                            info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                            info_detalle.EstadoCobro    = "PEN";
                            info_detalle.Estado         = "A";
                            info_detalle.IdCalendario   = item.IdPeriodo + "VA";
                            info_novedad.InfoNovedadDet = info_detalle;
                            info_novedad.LstDetalle.Add(info_detalle);

                            listado_novedades.Add(info_novedad);
                        }

                        #endregion
                        #region EFEC_ENTRE
                        if (item.Recuperacion_cartera_aplica > 0)
                        {
                            tipo_variable = ero_parametro_x_pago_variable_tipo.REC_CAR_ALIM;
                            ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                            info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault();

                            info_novedad.IdEmpresa          = item.IdEmpresa;
                            info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                            info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                            info_novedad.IdEmpleado         = item.IdEmpleado;
                            info_novedad.Fecha = item.fecha_Pago;
                            if (item.Recuperacion_cartera_aplica <= 1)
                            {
                                info_novedad.TotalValor = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                            }
                            else
                            {
                                info_novedad.TotalValor = item.Recuperacion_cartera_aplica;
                            }
                            info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                            info_novedad.NumCoutas        = 1;
                            info_novedad.IdUsuario        = param.IdUsuario;
                            info_novedad.Fecha_Transac    = DateTime.Now;
                            info_novedad.Estado           = "A";
                            info_novedad.IdCalendario     = item.IdPeriodo.ToString() + "VA";


                            // detalle de la novedad

                            ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                            info_detalle.IdEmpresa  = item.IdEmpresa;
                            info_detalle.IdEmpleado = item.IdEmpleado;
                            info_detalle.Secuencia  = 1;
                            info_detalle.IdRol      = null;
                            info_detalle.IdRubro    = info_grupo_detalle.IdRubro;
                            info_detalle.FechaPago  = item.fecha_Pago;
                            if (item.Recuperacion_cartera_aplica <= 1)
                            {
                                info_detalle.Valor = (item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            }
                            else
                            {
                                info_detalle.Valor = item.Recuperacion_cartera_aplica;
                            }
                            info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                            info_detalle.EstadoCobro    = "PEN";
                            info_detalle.Estado         = "A";
                            info_detalle.IdCalendario   = item.IdPeriodo.ToString() + "VA";
                            info_novedad.InfoNovedadDet = info_detalle;
                            info_novedad.LstDetalle.Add(info_detalle);
                            listado_novedades.Add(info_novedad);
                        }

                        #endregion
                        #region EFEC_VOL
                        if (item.Efectividad_Volumen > 0)
                        {
                            tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_VOL_ALIM;
                            ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                            info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable && v.IdGrupo == item.IdGrupo).FirstOrDefault();

                            info_novedad.IdEmpresa          = item.IdEmpresa;
                            info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                            info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                            info_novedad.IdEmpleado         = item.IdEmpleado;
                            info_novedad.Fecha = item.fecha_Pago;
                            if (item.Efectividad_Volumen_aplica <= 1)
                            {
                                info_novedad.TotalValor = (item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            }
                            else
                            {
                                info_novedad.TotalValor = item.Efectividad_Volumen_aplica;
                            }
                            info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                            info_novedad.NumCoutas        = 1;
                            info_novedad.IdUsuario        = param.IdUsuario;
                            info_novedad.Fecha_Transac    = DateTime.Now;
                            info_novedad.Estado           = "A";
                            info_novedad.IdCalendario     = item.IdPeriodo.ToString() + "VA";


                            // detalle de la novedad

                            ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                            info_detalle.IdEmpresa  = item.IdEmpresa;
                            info_detalle.IdEmpleado = item.IdEmpleado;
                            info_detalle.Secuencia  = 1;
                            info_detalle.IdRol      = null;
                            info_detalle.IdRubro    = info_grupo_detalle.IdRubro;
                            info_detalle.FechaPago  = item.fecha_Pago;
                            if (item.Efectividad_Volumen_aplica <= 1)
                            {
                                info_detalle.Valor = (item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo) * info_servicio.Porcentaje;
                            }
                            else
                            {
                                info_detalle.Valor = item.Efectividad_Volumen_aplica;
                            }
                            info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                            info_detalle.EstadoCobro    = "PEN";
                            info_detalle.Estado         = "A";
                            info_detalle.IdCalendario   = item.IdPeriodo.ToString() + "VA";
                            info_novedad.InfoNovedadDet = info_detalle;
                            info_novedad.LstDetalle.Add(info_detalle);
                            listado_novedades.Add(info_novedad);
                        }

                        #endregion
                    }

                    #endregion
                }

                return(listado_novedades);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }
Пример #24
0
        public List <ro_Empleado_Novedad_Info> Get_List_novedades_no_cobradas(int IdEmpresa, DateTime FechaCorte)
        {
            try
            {
                lista      = new List <ro_Empleado_Novedad_Info>();
                FechaCorte = FechaCorte.Date;
                EntitiesRoles ORol = new EntitiesRoles();

                var sresult = from A in ORol.spRO_Novedades_no_cobradas(IdEmpresa, FechaCorte)

                              orderby A.IdEmpleado, A.IdNovedad
                select A;

                foreach (var item in sresult)
                {
                    ro_Empleado_Novedad_Info Reg = new ro_Empleado_Novedad_Info();

                    Reg.IdEmpresa       = item.IdEmpresa;
                    Reg.IdNovedad       = item.IdNovedad;
                    Reg.IdEmpleado      = item.IdEmpleado;
                    Reg.Fecha           = item.Fecha;
                    Reg.TotalValor      = Math.Abs(item.TotalValor);
                    Reg.IdUsuario       = item.IdUsuario;
                    Reg.Fecha_Transac   = item.Fecha_Transac;
                    Reg.IdUsuarioUltAnu = item.IdUsuarioUltAnu;
                    Reg.Fecha_UltAnu    = item.Fecha_UltAnu;
                    Reg.nom_pc          = item.nom_pc;
                    Reg.ip        = item.ip;
                    Reg.MotiAnula = item.MotiAnula;
                    Reg.Estado    = item.Estado_det;
                    Reg.descripcion_tiponomina   = item.descripcion_tiponomina;
                    Reg.DescripcionProcesoNomina = item.DescripcionProcesoNomina;
                    Reg.IdNomina_Tipo            = item.IdNomina_Tipo;
                    Reg.IdNomina_TipoLiqui       = item.IdNomina_TipoLiqui;
                    Reg.RubroDescp = item.ru_descripcion;
                    Reg.NomPerComp = item.pe_nombreCompleto;
                    Reg.InfoNovedadDet.IdEmpresa      = item.IdEmpresa;
                    Reg.InfoNovedadDet.IdNovedad      = item.IdNovedad;
                    Reg.InfoNovedadDet.FechaPago      = item.FechaPago;//19112013 D
                    Reg.InfoNovedadDet.IdRubro        = item.IdRubro;
                    Reg.InfoNovedadDet.ru_descripcion = item.ru_descripcion;
                    Reg.InfoNovedadDet.Observacion    = item.Observacion;
                    Reg.InfoNovedadDet.Valor          = Math.Abs(Convert.ToDouble(item.Valor));
                    Reg.InfoNovedadDet.EstadoCobro    = (item.EstadoCobro).Trim();
                    Reg.EstadoCobro             = (item.EstadoCobro).Trim();
                    Reg.InfoNovedadDet.Estado   = item.Estado_det;
                    Reg.InfoPersona.pe_apellido = item.pe_apellido;
                    Reg.InfoPersona.pe_nombre   = item.pe_nombre;
                    Reg.MotivoModifica          = item.MotivoModiica;
                    Reg.NomPerComp   = item.pe_apellido + " " + item.pe_nombre;
                    Reg.Secuencia    = item.IdTransaccion;
                    Reg.Num_Horas    = item.Num_Horas;
                    Reg.pe_cedulaRuc = item.pe_cedulaRuc;
                    lista.Add(Reg);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
        private void llama_frm(Cl_Enumeradores.eTipo_action Accion)
        {
            try
            {
                frm = new frmRo_Empleado_Novedad_Mant();


                switch (Accion)
                {
                case Cl_Enumeradores.eTipo_action.grabar:
                    break;

                case Cl_Enumeradores.eTipo_action.actualizar:

                    if (Info_IngEgrEmpleado.TipoRegistro == "OTR")
                    {
                        MessageBox.Show("El Rubro no es editable", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }

                    if (Info_IngEgrEmpleado.TipoRegistro == "NOV" && Info_IngEgrEmpleado.IdNovedad != 0)
                    {
                        // Consultando Novedades
                        ro_Empleado_Novedad_Info InfoNovedad = new ro_Empleado_Novedad_Info();
                        InfoNovedad = bus_Novedad.Get_Info_Empleado_Novedad_Cab_x_Rubro(param.IdEmpresa, Info_IngEgrEmpleado.IdNovedad, Info_IngEgrEmpleado.IdRubro, Info.IdEmpleado);

                        frmMant.Text = frmMant.Text + " ***ACTUALIZAR REGISTRO***";
                        frm.set_Accion(Accion);
                        frm.set_Info(InfoNovedad);
                        frm.ShowDialog();

                        return;
                    }
                    break;

                case Cl_Enumeradores.eTipo_action.Anular:

                    if (Info_IngEgrEmpleado.TipoRegistro == "OTR")
                    {
                        MessageBox.Show("El rubro no se puede anular", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (Info_IngEgrEmpleado.TipoRegistro == "NOV" && Info_IngEgrEmpleado.IdNovedad != 0)
                    {
                        // Consultando Novedades
                        ro_Empleado_Novedad_Info InfoNovedad = new ro_Empleado_Novedad_Info();
                        InfoNovedad = bus_Novedad.Get_Info_Empleado_Novedad_Cab_x_Rubro(param.IdEmpresa, Info_IngEgrEmpleado.IdNovedad, Info_IngEgrEmpleado.IdRubro, Info.IdEmpleado);

                        frmMant.Text = frmMant.Text + " ***ACTUALIZAR REGISTRO***";
                        frm.set_Accion(Accion);
                        frm.set_Info(InfoNovedad);
                        frm.ShowDialog();

                        return;
                    }



                    break;

                case Cl_Enumeradores.eTipo_action.consultar:
                    break;

                case Cl_Enumeradores.eTipo_action.duplicar:
                    break;

                default:
                    break;
                }
            }


            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString());
            }
        }
Пример #26
0
        private List <ro_Empleado_Novedad_Info> Get_Novedades(List <ro_fectividad_Entrega_x_Periodo_Empleado_Det_Info> lista)
        {
            try
            {
                List <ro_Empleado_Novedad_Info>    listado_novedades  = new List <ro_Empleado_Novedad_Info>();
                ero_parametro_x_pago_variable_tipo tipo_variable      = new ero_parametro_x_pago_variable_tipo();
                ro_Grupo_empleado_det_Info         info_grupo_detalle = new ro_Grupo_empleado_det_Info();


                foreach (var item in lista)
                {
                    string IdRubro      = "";
                    double Valor_ganado = 0;

                    #region EFEC_ENTRE
                    if (item.Efectividad_Entrega_aplica > 0)
                    {
                        tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE;
                        ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                        info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable).FirstOrDefault();

                        info_novedad.IdEmpresa          = item.IdEmpresa;
                        info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.Fecha            = item.fecha_Pago;
                        info_novedad.TotalValor       = item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                        info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                        info_novedad.NumCoutas        = 1;
                        info_novedad.IdUsuario        = param.IdUsuario;
                        info_novedad.Fecha_Transac    = DateTime.Now;
                        info_novedad.Estado           = "A";
                        info_novedad.IdCalendario     = item.IdPeriodo.ToString();


                        // detalle de la novedad

                        ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                        info_detalle.IdEmpresa      = item.IdEmpresa;
                        info_detalle.IdEmpleado     = item.IdEmpleado;
                        info_detalle.Secuencia      = 1;
                        info_detalle.IdRol          = null;
                        info_detalle.IdRubro        = info_grupo_detalle.IdRubro;
                        info_detalle.FechaPago      = item.fecha_Pago;
                        info_detalle.Valor          = item.Efectividad_Entrega_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                        info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                        info_detalle.EstadoCobro    = "PEN";
                        info_detalle.Estado         = "A";
                        info_detalle.IdCalendario   = item.IdPeriodo.ToString();
                        info_novedad.InfoNovedadDet = info_detalle;
                        listado_novedades.Add(info_novedad);
                    }

                    #endregion



                    #region EFEC_ENTRE
                    if (item.Efectividad_Entrega_aplica > 0)
                    {
                        tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_ENTRE;
                        ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                        info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable).FirstOrDefault();

                        info_novedad.IdEmpresa          = item.IdEmpresa;
                        info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.Fecha            = item.fecha_Pago;
                        info_novedad.TotalValor       = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                        info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                        info_novedad.NumCoutas        = 1;
                        info_novedad.IdUsuario        = param.IdUsuario;
                        info_novedad.Fecha_Transac    = DateTime.Now;
                        info_novedad.Estado           = "A";
                        info_novedad.IdCalendario     = item.IdPeriodo.ToString();


                        // detalle de la novedad

                        ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                        info_detalle.IdEmpresa      = item.IdEmpresa;
                        info_detalle.IdEmpleado     = item.IdEmpleado;
                        info_detalle.Secuencia      = 1;
                        info_detalle.IdRol          = null;
                        info_detalle.IdRubro        = info_grupo_detalle.IdRubro;
                        info_detalle.FechaPago      = item.fecha_Pago;
                        info_detalle.Valor          = item.Recuperacion_cartera_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                        info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                        info_detalle.EstadoCobro    = "PEN";
                        info_detalle.Estado         = "A";
                        info_detalle.IdCalendario   = item.IdPeriodo.ToString();
                        info_novedad.InfoNovedadDet = info_detalle;
                        listado_novedades.Add(info_novedad);
                    }

                    #endregion



                    #region EFEC_VOL
                    if (item.Efectividad_Entrega_aplica > 0)
                    {
                        tipo_variable = ero_parametro_x_pago_variable_tipo.EFEC_VOL;
                        ro_Empleado_Novedad_Info info_novedad = new ro_Empleado_Novedad_Info();
                        info_grupo_detalle = lista_detalle_grupos.Where(v => v.cod_Pago_Variable_enum == tipo_variable).FirstOrDefault();

                        info_novedad.IdEmpresa          = item.IdEmpresa;
                        info_novedad.IdNomina_Tipo      = item.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = item.IdNomina_tipo_Liq;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.Fecha            = item.fecha_Pago;
                        info_novedad.TotalValor       = item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;;
                        info_novedad.Fecha_PrimerPago = item.fecha_Pago;
                        info_novedad.NumCoutas        = 1;
                        info_novedad.IdUsuario        = param.IdUsuario;
                        info_novedad.Fecha_Transac    = DateTime.Now;
                        info_novedad.Estado           = "A";
                        info_novedad.IdCalendario     = item.IdPeriodo.ToString();


                        // detalle de la novedad

                        ro_Empleado_Novedad_Det_Info info_detalle = new ro_Empleado_Novedad_Det_Info();
                        info_detalle.IdEmpresa      = item.IdEmpresa;
                        info_detalle.IdEmpleado     = item.IdEmpleado;
                        info_detalle.Secuencia      = 1;
                        info_detalle.IdRol          = null;
                        info_detalle.IdRubro        = info_grupo_detalle.IdRubro;
                        info_detalle.FechaPago      = item.fecha_Pago;
                        info_detalle.Valor          = item.Efectividad_Volumen_aplica * info_grupo_detalle.Valor_bono * info_grupo_detalle.Porcentaje_calculo;
                        info_detalle.Observacion    = "Novedad generada por procesos del sistema del periodo " + item.IdPeriodo;
                        info_detalle.EstadoCobro    = "PEN";
                        info_detalle.Estado         = "A";
                        info_detalle.IdCalendario   = item.IdPeriodo.ToString();
                        info_novedad.InfoNovedadDet = info_detalle;
                        listado_novedades.Add(info_novedad);
                    }

                    #endregion
                }

                return(listado_novedades);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }
        public Boolean ModificarDB(ro_Empleado_Novedad_Info ro_info, ref string mensaje, decimal idTransaccion)
        {
            try{
                using (EntitiesRoles context = new EntitiesRoles()){
                    ro_empleado_Novedad contact = context.ro_empleado_Novedad.FirstOrDefault(var => var.IdEmpresa == ro_info.IdEmpresa &&
                                                                                             var.IdEmpleado == ro_info.IdEmpleado && var.IdNovedad == ro_info.IdNovedad);


                    if (contact != null)//ACTUALIZA REGISTRO
                    {
                        contact.Estado          = ro_info.Estado;
                        contact.Fecha           = ro_info.Fecha;
                        contact.Fecha_UltMod    = ro_info.Fecha_UltMod;
                        contact.IdUsuarioUltMod = ro_info.IdUsuarioUltMod;

                        contact.Fecha_UltAnu    = ro_info.Fecha_UltAnu;
                        contact.IdUsuarioUltAnu = ro_info.IdUsuarioUltAnu;

                        double totalvalor = 0;

                        foreach (var item in ro_info.LstDetalle)
                        {
                            totalvalor = totalvalor + item.Valor;
                        }

                        contact.TotalValor = totalvalor;
                        context.SaveChanges();
                    }
                    else
                    {//CREA UN NUEVO REGISTRO
                        decimal idNovedad = ro_info.IdNovedad;
                        if (GrabarDB(ro_info, ref mensaje, ref idNovedad, ref idTransaccion))
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    }


                    ////ACTUALIZAR EL DETALLE 1
                    //ro_Empleado_Novedad_Det_Data DetData = new ro_Empleado_Novedad_Det_Data();
                    //foreach (var item in ro_info.LstDetalle)
                    //{

                    //    if (DetData.EliminarDB(ro_info.IdEmpresa, ro_info.IdNovedad, ro_info.IdEmpleado, item.IdRubro, ref mensaje))
                    //    {
                    //        int sec = 0;
                    //        sec = DetData.getSecuencia(item.IdEmpresa, item.IdNovedad, item.IdEmpleado);
                    //        item.Secuencia = sec;
                    //        if (!DetData.GrabarDB(item, ref mensaje))
                    //        { return false; }
                    //    }
                    //    else
                    //    {
                    //        return false;
                    //    }
                    //}


                    ////ACTUALIZAR EL DETALLE 2
                    //ro_Novedad_x_Empleado_Data oRo_Novedad_x_Empleado_Data = new ro_Novedad_x_Empleado_Data();
                    //foreach (var item in ro_info.lstNovedadEmpleado){
                    //    if (oRo_Novedad_x_Empleado_Data.BorrarDB(item ,ref mensaje)){
                    //        if (!oRo_Novedad_x_Empleado_Data.GrabarDB(item, item.IdTransaccion, ref mensaje)) { return false; }
                    //    }else{
                    //        return false;
                    //    }
                    //}
                }

                mensaje = "Se ha procedido a actualizar la novedad # " + ro_info.IdNovedad;
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #28
0
        public void AsignarValor_Novedad()
        {
            BanderaSiPeriodoProcesado      = false;
            ListaNovedadesGrabarCab        = new List <ro_Empleado_Novedad_Info>();
            listaNovedadGrabar_Detalle_TMP = new List <ro_Empleado_Novedad_Det_Info>();
            int      Sec_Detalle = 0, IdNomina_TipoLiqui = 0;
            DateTime Fecha_PrimerPago = DateTime.Now;

            listaNovedadGrabar_Detalle = new List <ro_Empleado_Novedad_Det_Info>();
            try
            {
                NumeroPeriodoNominaMensual = ListadoPeriodosMensual.Where(v => v.check == true).Count();
                NumeroPeriodoNominaSemanal = ListadoPeriodosSemanal.Where(v => v.check == true).Count();

                // recoro mi lista obtenida desde excell
                foreach (var item in lista)
                {
                    Sec_Detalle = 0;
                    if (item.existeerror != "ERROR")// solo tomo a los empleado que existen en la base
                    {
                        listaNovedadGrabar_Detalle     = new List <ro_Empleado_Novedad_Det_Info>();
                        ListaNovedadesGraba_x_empleado = new List <ro_Novedad_x_Empleado_Info>();

                        // para crear la lista detalle de novedad
                        InfoNovedadGrabarDetalle = new ro_Empleado_Novedad_Det_Info();
                        ValorNovedad             = 0;

                        // llenar la lista para la tabla ro_Empleado_Novedad_Det

                        if (item.IdNomina == 2)                                                    // pregunto si es nomina semanal
                        {
                            ValorNovedad = Math.Round(item.Valor / NumeroPeriodoNominaSemanal, 2); // obtego el valor de novedad en caso de ser nomina semanal
                            foreach (var item_P in ListadoPeriodosSemanal.Where(v => v.check == true).ToList())
                            {
                                if (item_P.Procesado == "S")
                                {
                                    BanderaSiPeriodoProcesado = true;
                                    PeriodoProcesado          = item_P.IdPeriodo.ToString();
                                }


                                Sec_Detalle        = Sec_Detalle + 1;
                                IdNomina_TipoLiqui = item_P.IdNomina_TipoLiqui;
                                if (Sec_Detalle == 1)
                                {
                                    Fecha_PrimerPago = item_P.pe_FechaIni;
                                }
                                InfoNovedadGrabarDetalle           = new ro_Empleado_Novedad_Det_Info();
                                InfoNovedadGrabarDetalle.em_cedula = item.em_cedula;
                                InfoNovedadGrabarDetalle.Nombre    = item.Nombre;
                                InfoNovedadGrabarDetalle.Apellidos = item.Apellidos;

                                InfoNovedadGrabarDetalle.Nomina       = item.Nomina;
                                InfoNovedadGrabarDetalle.em_nombre    = item.em_nombre;
                                InfoNovedadGrabarDetalle.IdEmpresa    = param.IdEmpresa;
                                InfoNovedadGrabarDetalle.IdNovedad    = 0;
                                InfoNovedadGrabarDetalle.IdEmpleado   = item.IdEmpleado;
                                InfoNovedadGrabarDetalle.Secuencia    = Sec_Detalle;
                                InfoNovedadGrabarDetalle.IdRol        = "";
                                InfoNovedadGrabarDetalle.IdRubro      = "";
                                InfoNovedadGrabarDetalle.FechaPago    = item_P.pe_FechaIni.AddDays(1);
                                InfoNovedadGrabarDetalle.Valor        = ValorNovedad;
                                InfoNovedadGrabarDetalle.EstadoCobro  = "PEN";
                                InfoNovedadGrabarDetalle.Observacion  = cmbNovedad.Text;
                                InfoNovedadGrabarDetalle.Estado       = "A";
                                InfoNovedadGrabarDetalle.IdRubro      = Convert.ToString(cmbNovedad.EditValue);
                                InfoNovedadGrabarDetalle.IdCalendario = IdCalendario;
                                listaNovedadGrabar_Detalle.Add(InfoNovedadGrabarDetalle);

                                listaNovedadGrabar_Detalle_TMP.Add(InfoNovedadGrabarDetalle);


                                // creo la lista para la tabla ro_Novedad_x_Empleado
                            }
                        }

                        else
                        {
                            ValorNovedad = Math.Round(item.Valor / NumeroPeriodoNominaMensual, 2);// obtego el valor de novedad en caso de ser nomina mensual
                            foreach (var item_P in ListadoPeriodosMensual.Where(v => v.check == true).ToList())
                            {
                                if (item_P.Procesado == "S")
                                {
                                    BanderaSiPeriodoProcesado = true;
                                    PeriodoProcesado          = item_P.IdPeriodo.ToString();
                                }

                                Sec_Detalle = Sec_Detalle + 1;
                                if (Sec_Detalle == 1)
                                {
                                    Fecha_PrimerPago = item_P.pe_FechaIni;
                                }
                                IdNomina_TipoLiqui = item_P.IdNomina_TipoLiqui;

                                InfoNovedadGrabarDetalle              = new ro_Empleado_Novedad_Det_Info();
                                InfoNovedadGrabarDetalle.em_cedula    = item.em_cedula;
                                InfoNovedadGrabarDetalle.Nombre       = item.Nombre;
                                InfoNovedadGrabarDetalle.Apellidos    = item.Apellidos;
                                InfoNovedadGrabarDetalle.Nomina       = item.Nomina;
                                InfoNovedadGrabarDetalle.em_nombre    = item.em_nombre;
                                InfoNovedadGrabarDetalle.IdEmpresa    = param.IdEmpresa;
                                InfoNovedadGrabarDetalle.IdNovedad    = 0;
                                InfoNovedadGrabarDetalle.IdEmpleado   = item.IdEmpleado;
                                InfoNovedadGrabarDetalle.Secuencia    = Sec_Detalle;
                                InfoNovedadGrabarDetalle.IdRol        = "";
                                InfoNovedadGrabarDetalle.IdRubro      = "";
                                InfoNovedadGrabarDetalle.FechaPago    = item_P.pe_FechaIni.AddDays(1);
                                InfoNovedadGrabarDetalle.Valor        = ValorNovedad;
                                InfoNovedadGrabarDetalle.EstadoCobro  = "PEN";
                                InfoNovedadGrabarDetalle.Observacion  = cmbNovedad.Text;
                                InfoNovedadGrabarDetalle.Estado       = "A";
                                InfoNovedadGrabarDetalle.IdRubro      = Convert.ToString(cmbNovedad.EditValue);
                                InfoNovedadGrabarDetalle.IdCalendario = IdCalendario;

                                listaNovedadGrabar_Detalle.Add(InfoNovedadGrabarDetalle);
                                listaNovedadGrabar_Detalle_TMP.Add(InfoNovedadGrabarDetalle);



                                // creo la lista para la tabla ro_Novedad_x_Empleado
                            }
                        }


                        // creo la lista para la tabla ro_Empleado_Novedad
                        InfoNovedadGrabarCAB                    = new ro_Empleado_Novedad_Info();
                        InfoNovedadGrabarCAB.IdEmpresa          = param.IdEmpresa;
                        InfoNovedadGrabarCAB.IdNovedad          = Convert.ToInt32(cmbNovedad.EditValue);
                        InfoNovedadGrabarCAB.IdEmpleado         = item.IdEmpleado;
                        InfoNovedadGrabarCAB.IdNomina_Tipo      = item.IdNomina;
                        InfoNovedadGrabarCAB.IdNomina_TipoLiqui = IdNomina_TipoLiqui;
                        InfoNovedadGrabarCAB.Fecha              = Fecha_Excle;
                        InfoNovedadGrabarCAB.TotalValor         = item.Valor;
                        InfoNovedadGrabarCAB.Fecha_PrimerPago   = Fecha_PrimerPago;
                        InfoNovedadGrabarCAB.NumCoutas          = Sec_Detalle;
                        InfoNovedadGrabarCAB.IdUsuario          = param.IdUsuario;
                        InfoNovedadGrabarCAB.Fecha_Transac      = DateTime.Now;
                        InfoNovedadGrabarCAB.IdCalendario       = IdCalendario;



                        // asigno los detalle a la cabecera
                        InfoNovedadGrabarCAB.LstDetalle = listaNovedadGrabar_Detalle;
                        // InfoNovedadGrabarCAB.lstNovedadEmpleado = ListaNovedadesGraba_x_empleado;


                        ListaNovedadesGrabarCab.Add(InfoNovedadGrabarCAB);
                    }

                    gridControlNovedades.DataSource = listaNovedadGrabar_Detalle_TMP;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Пример #29
0
        public bool GuardarNovedad(List <ro_empleado_Novedad_x_horasExtras_Pendiente_Aprobar_Info> lista)
        {
            try
            {
                decimal id_nov = 0;

                ro_Empleado_Novedad_Bus BUS_NOVEDAD = new ro_Empleado_Novedad_Bus();
                info_parametro = bus_parametros.Get_info(param.IdEmpresa);
                foreach (var item in lista)
                {
                    if (item.Max_num_horas_sab_dom > 1 && item.Calculo_Horas_extras_Sobre >= 160)
                    {
                        // creo la cabecera de la novedad
                        ro_Empleado_Novedad_Info     info         = new ro_Empleado_Novedad_Info();
                        ro_Empleado_Novedad_Det_Info info_Detalle = new ro_Empleado_Novedad_Det_Info();

                        info.IdEmpresa          = item.IdEmpresa;
                        info.IdEmpleado         = item.IdEmpleado;
                        info.IdNomina_Tipo      = item.IdTipoNomina;
                        info.IdNomina_TipoLiqui = item.IdNomina_tipo;
                        info.TotalValor         = (Convert.ToDouble(item.SueldoActual / item.Calculo_Horas_extras_Sobre) * 2) * item.Max_num_horas_sab_dom;
                        if (Convert.ToDateTime(item.es_fecha_registro).Day > info_parametro.Corte_Horas_extras)
                        {
                            info.Fecha_PrimerPago = item.FechaPago.AddMonths(1);
                            info.Fecha            = item.FechaPago;
                        }
                        else
                        {
                            info.Fecha_PrimerPago = item.FechaPago;
                            info.Fecha            = item.es_fecha_registro;
                        }
                        info.NumCoutas     = 1;
                        info.Num_Horas     = item.Max_num_horas_sab_dom;
                        info.Fecha_Transac = DateTime.Now;
                        info.IdUsuario     = param.IdUsuario;
                        info.IdCalendario  = item.es_fecha_registro.Year.ToString() + item.es_fecha_registro.Month.ToString().PadLeft(2, '0') + item.es_fecha_registro.Day.ToString().PadLeft(2, '0');
                        info.IdPeriodo     = item.IdPeriodo;
                        // creo el detalle
                        info_Detalle.IdEmpleado = param.IdEmpresa;
                        info_Detalle.IdEmpleado = item.IdEmpleado;
                        info_Detalle.Secuencia  = 1;
                        info_Detalle.IdRubro    = "9";
                        if (Convert.ToDateTime(item.es_fecha_registro).Day >= info_parametro.Corte_Horas_extras)
                        {
                            info_Detalle.FechaPago = item.es_fecha_registro.AddMonths(1);
                        }
                        else
                        {
                            info_Detalle.FechaPago = item.FechaPago;
                        }
                        info_Detalle.Valor        = (Convert.ToDouble(item.SueldoActual / item.Calculo_Horas_extras_Sobre) * 2) * item.Max_num_horas_sab_dom;
                        info_Detalle.EstadoCobro  = "PEN";
                        info_Detalle.Observacion  = "Horas extras al 100% correspondiente al" + item.es_fecha_registro.ToString().Substring(0, 10);
                        info_Detalle.NumHoras     = item.Max_num_horas_sab_dom;
                        info_Detalle.Estado       = "A";
                        info_Detalle.IdCalendario = item.es_fecha_registro.Year.ToString() + item.es_fecha_registro.Month.ToString().PadLeft(2, '0') + item.es_fecha_registro.Day.ToString().PadLeft(2, '0');
                        info_Detalle.IdPeriodos   = item.IdPeriodo;
                        info.InfoNovedadDet       = info_Detalle;
                        BUS_NOVEDAD.GrabarDB(info, ref id_nov);
                    }
                }

                data.ModificarDB(lista);// modifico el valor de estado aprobado
                return(true);
            }
            catch (Exception ex)
            {
                mensaje = ex.ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(mensaje);
            }
        }