Ejemplo n.º 1
0
        /// <summary>
        /// Beregner månedlig udbetaling af førtidspension
        /// </summary>
        /// <param name="personligIndkomst">Årlig personlig indkomst</param>
        /// <param name="par">Er personen i et parforhold</param>
        /// <param name="PersonligIndkomst_Ægtefælle">Eventuel ægtefælles personlige indkomst</param>
        /// <param name="Pensionist_Ægtefælle">Er eventuel ægtefælle pensionist</param>
        /// <param name="år">År der simuleres</param>
        /// <returns></returns>
        public int Førtidspension(int personligIndkomst, int år, int alderVedFørsteFørtidspension, int årIDksiden15, Boolean par = false, int personligIndkomstÆgtefælle = 0, Boolean pensionistÆgtefælle = false)
        {
            //Brøkpension
            double brøkpension = Math.Max(0, Math.Min(1, årIDksiden15 / ((alderVedFørsteFørtidspension - 15) * 4 / 5d)));

            if (!par)
            {
                return(Convert.ToInt32(FørtidspensionEnlig(personligIndkomst, år) * brøkpension)); //beregner førtidspension for enlige
            }
            int    ægtefællesIndkomst;
            double nedsættelsePct;

            if (pensionistÆgtefælle)
            {
                //Din partners indtægter kan højst indgå med [354.800] kr. i beregningen af din førtidspension.
                ægtefællesIndkomst = Math.Max(0, Math.Min(Satser.IndtægtsgrænserÆgtefællePensionist(), personligIndkomstÆgtefælle - Satser.førtidspensionSatserPar())); //Ægtefælles indkomst før førtidspension
                //Din førtidspension bliver sat [15] kr. ned, for hver 100 kr. jeres samlede indtægt er højere end [114.400] kr.
                nedsættelsePct = Satser.nedsættelseÆgtefællePensionist();
            }
            else
            {
                //Din partners indtægter kan højst indgå med [234.600] kr. i beregningen af din førtidspension.
                //Er din partner ikke pensionist, skal Udbetaling Danmark se bort fra de første [180.137] kr., din partner tjener.
                ægtefællesIndkomst = Math.Max(0, Math.Min(Satser.indtægtsgrænserÆgtefælleIkkePensionist(), personligIndkomstÆgtefælle - Satser.fpFradragHosÆgtefælle())); //Ægtefælles indkomst
                //Din førtidspension bliver sat ned med [30] kr., for hver 100 kr. jeres samlede indtægt er højere end [114.400] kr. om året.
                nedsættelsePct = Satser.nedsættelse();
            }

            int indtægtsgrundlag = personligIndkomst + ægtefællesIndkomst;
            //Herefter kan I sammenlagt have supplerende indtægter på op til 114.400 kr. om året, før det påvirker din pension.
            int nedsættelse = Convert.ToInt32(nedsættelsePct * Math.Max(0, indtægtsgrundlag - Satser.fradragPar())); //nedsættelse i kr

            return(Convert.ToInt32(Math.Max(0, Satser.førtidspensionSatserPar() - nedsættelse) / 12 * brøkpension)); //beregnet førtidspension
        }