public bool AnularDB(ro_Calculo_Pago_Variable_Porcentaje_Info Info, ref string mensaje)
        {
            try
            {
                using (EntityRoles_FJ Context = new EntityRoles_FJ())
                {
                    ro_Calculo_Pago_Variable_Porcentaje contact = Context.ro_Calculo_Pago_Variable_Porcentaje.FirstOrDefault(q => q.IdEmpresa == Info.IdEmpresa && q.IdTipo_Nomina == Info.IdTipo_Nomina && q.IdTipoServicio == Info.IdTipoServicio);
                    if (contact != null)
                    {
                        contact.IdUsuarioUltAnu = Info.IdUsuarioUltAnu;
                        contact.Fecha_UltAnu    = Info.Fecha_UltAnu;
                        contact.MotivoAnulacion = Info.MotivoAnulacion;
                        contact.Estado          = false;

                        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);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }
        public bool ModificarDB(ro_Calculo_Pago_Variable_Porcentaje_Info Info, ref string mensaje)
        {
            try
            {
                using (EntityRoles_FJ Context = new EntityRoles_FJ())
                {
                    ro_Calculo_Pago_Variable_Porcentaje contact = Context.ro_Calculo_Pago_Variable_Porcentaje.FirstOrDefault(q => q.IdEmpresa == Info.IdEmpresa && q.IdTipo_Nomina == Info.IdTipo_Nomina);
                    if (contact != null)
                    {
                        contact.Efec_Entrega_Rango   = Info.Efec_Entrega_Rango;
                        contact.Efec_Entrega_Aplica  = Info.Efec_Entrega_Aplica;
                        contact.Efec_Volumen_Rango   = Info.Efec_Volumen_Rango;
                        contact.Efec_Volumen_Aplica  = Info.Efec_Volumen_Aplica;
                        contact.Recup_Cartera_Rango  = Info.Recup_Cartera_Rango;
                        contact.Recup_Cartera_Aplica = Info.Recup_Cartera_Aplica;
                        contact.IdUsuarioUltModi     = Info.IdUsuarioUltModi;

                        contact.Fecha_UltMod = DateTime.Now;
                        contact.nom_pc       = Info.nom_pc;
                        contact.ip           = Info.ip;
                        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);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }
        public bool GuardarDB(ro_Calculo_Pago_Variable_Porcentaje_Info Info, int IdTipo_Nomina, ref string mensaje)
        {
            try
            {
                int IdEfectividad = Get_Id(Info.IdEmpresa, Info.IdTipo_Nomina, ref mensaje);

                using (EntityRoles_FJ Context = new EntityRoles_FJ())
                {
                    ro_Calculo_Pago_Variable_Porcentaje contact = new ro_Calculo_Pago_Variable_Porcentaje();

                    contact.IdEmpresa            = Info.IdEmpresa;
                    contact.IdTipo_Nomina        = Info.IdTipo_Nomina;
                    contact.IdEfectividad        = IdEfectividad;
                    contact.Efec_Entrega_Rango   = Info.Efec_Entrega_Rango;
                    contact.Efec_Entrega_Aplica  = Info.Efec_Entrega_Aplica;
                    contact.Efec_Volumen_Rango   = Info.Efec_Volumen_Rango;
                    contact.Efec_Volumen_Aplica  = Info.Efec_Volumen_Aplica;
                    contact.Recup_Cartera_Rango  = Info.Recup_Cartera_Rango;
                    contact.Recup_Cartera_Aplica = Info.Recup_Cartera_Aplica;
                    contact.IdTipoServicio       = Info.IdTipoServicio;
                    contact.SignoOperacion       = Info.SignoOperacion;
                    contact.IdGrupo = Info.IdGrupo;
                    //campos de auditoria
                    contact.Estado            = Info.Estado;
                    contact.IdUsuario         = Info.IdUsuario;
                    contact.Fecha_Transaccion = Info.Fecha_Transaccion;
                    contact.nom_pc            = Info.nom_pc;
                    contact.ip = Info.ip;

                    Context.ro_Calculo_Pago_Variable_Porcentaje.Add(contact);
                    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);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString();
                throw new Exception(ex.ToString());
            }
        }