Ejemplo n.º 1
0
        private FormatoCausacionyLiquidacionPagos CalcularValoresFormatoContratoPrestacionServicio(
            DetallePlanPagoDto planPago,
            ParametroLiquidacionTercero parametroLiquidacion,
            List <ParametroGeneral> parametroGenerales,
            decimal valorBaseCotizacion)
        {
            #region variables

            FormatoCausacionyLiquidacionPagos formato = new FormatoCausacionyLiquidacionPagos();

            decimal valorUvt = 0, valorSMLV = 0;

            decimal PLtarifaIva = 0, PLbaseAporteSalud = 0, PLaporteSalud = 0,
                    PLaportePension = 0, PLriesgoLaboral = 0, PLfondoSolidaridad = 0;

            decimal C1honorario = 0, C2honorarioUvt = 0,
                    C8aporteASalud = 0, C9aporteAPension = 0, C10aporteRiesgoLaboral = 0,
                    C7baseAporteSalud = 0, C11fondoSolidaridad;

            int C2honorarioUvtFinal = 0;

            decimal cuatroSMLV = 0;

            #endregion variables

            #region Parametros de liquidación de tercero

            PLtarifaIva        = parametroLiquidacion.TarifaIva;
            PLbaseAporteSalud  = parametroLiquidacion.BaseAporteSalud;
            PLaporteSalud      = parametroLiquidacion.AporteSalud;
            PLaportePension    = parametroLiquidacion.AportePension;
            PLriesgoLaboral    = parametroLiquidacion.RiesgoLaboral;
            PLfondoSolidaridad = parametroLiquidacion.FondoSolidaridad;

            #endregion Parametros de liquidación de tercero

            #region Parametros Generales

            var parametroUvt  = ObtenerValorDeParametroGeneral(parametroGenerales, valorUVT);
            var parametroSMLV = ObtenerValorDeParametroGeneral(parametroGenerales, salarioMinimo);
            parametroUvt  = parametroUvt.Replace(",", "");
            parametroSMLV = parametroSMLV.Replace(",", "");

            #endregion Parametros Generales

            if (decimal.TryParse(parametroUvt, out valorUvt))
            {
                if (valorUvt > 0)
                {
                    C2honorarioUvt      = C1honorario / valorUvt;
                    C2honorarioUvtFinal = (int)Math.Round(C2honorarioUvt, 0, MidpointRounding.AwayFromZero);
                }
            }

            C7baseAporteSalud      = valorBaseCotizacion;
            C8aporteASalud         = C7baseAporteSalud * (PLaporteSalud);
            C8aporteASalud         = _generalInterface.ObtenerValorRedondeadoAl100XEncima(C8aporteASalud);
            C9aporteAPension       = C7baseAporteSalud * (PLaportePension);
            C9aporteAPension       = this._generalInterface.ObtenerValorRedondeadoAl100XEncima(C9aporteAPension);
            C10aporteRiesgoLaboral = C7baseAporteSalud * (PLriesgoLaboral);
            C10aporteRiesgoLaboral = this._generalInterface.ObtenerValorRedondeadoAl100XEncima(C10aporteRiesgoLaboral);

            if (decimal.TryParse(parametroSMLV, out valorSMLV))
            {
                cuatroSMLV = 4 * valorSMLV;
            }

            #region Fondo de solidaridad

            if (C7baseAporteSalud > cuatroSMLV)
            {
                C11fondoSolidaridad = C7baseAporteSalud * (PLfondoSolidaridad);
                C11fondoSolidaridad = this._generalInterface.ObtenerValorRedondeadoAl100XEncima(C11fondoSolidaridad);
            }
            else
            {
                C11fondoSolidaridad = 0;
            }

            #endregion Fondo de solidaridad

            #region Setear valores a formato

            formato.AporteSalud      = C8aporteASalud;
            formato.AportePension    = C9aporteAPension;
            formato.RiesgoLaboral    = C10aporteRiesgoLaboral;
            formato.FondoSolidaridad = C11fondoSolidaridad;

            #endregion Setear valores a formato

            return(formato);
        }
Ejemplo n.º 2
0
        private FormatoCausacionyLiquidacionPagos ObtenerFormatoCausacion_ContratoPrestacionServicio(DetallePlanPagoDto planPago,
                                                                                                     ParametroLiquidacionTercero parametroLiquidacion,
                                                                                                     List <ParametroGeneral> parametroGenerales,
                                                                                                     decimal valorBaseCotizacion)
        {
            #region variables

            FormatoCausacionyLiquidacionPagos formato        = new FormatoCausacionyLiquidacionPagos();
            FormatoCausacionyLiquidacionPagos formatoIgual30 = new FormatoCausacionyLiquidacionPagos();

            #endregion variables

            #region Calcular valores y obtener formato

            formatoIgual30 = CalcularValoresFormatoContratoPrestacionServicio(planPago, parametroLiquidacion, parametroGenerales, valorBaseCotizacion);
            formato        = formatoIgual30;

            #endregion Calcular valores y obtener formato

            return(formato);
        }