Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="akasse">Om man har været medlem af en a-kasse i mellem 25 og 30 år og fortsat er medlem af akasse</param>
        /// <param name="indbetaltEfterlønsbidrag">Om man har indbetalt efterlønsbidrag i mellem 25 og 30 år</param>
        /// <param name="retTilDagpengeVedLedighed">Opfylder betingelserne for ret til a-dagpenge ved ledighed</param>
        /// <param name="tilRådighed">Er rask og står til rådighed for arbejdsmarkedet den dag, man får efterlønsbeviset</param>
        /// <param name="tidligEfterløn">går på efterløn tidligere end 3 år før folkepensionsalderen</param>
        /// <param name="andenPension">Depotværdien ved efterlønsalderen, al kapitalpension, privat ratepension, Ophørende livrente (ikke-udbetalt), Ophørende indeks (ikke-udbetalt), Indefrosne dyrtidsportioner (ikke-udbetalt)</param>
        /// <param name="udbetaltAndenPension">Udbetalt pension oprettet som led i et ansættelsesforhold. Omfatter ratepension og livsvarig livrente og ophørende livsrente</param>
        /// <param name="privatLivsvarigLivsrente">Private livsvarig livsrente-pension (udbetalt eller ikke-udbetalt) samt ikke-privat ikke-udbetalt livsvarig livsrente-pension</param>
        /// <returns></returns>
        public static int Efterløn(int alder, int år, int udbetaltAndenPension, int privatLivsvarigLivrente, int andenPension, Boolean deltidsforsikret = false, Boolean tidligEfterløn = false, Boolean retTilDagpengeVedLedighed = true, Boolean akasse = true, Boolean indbetaltEfterlønsbidrag = true, Boolean tilRådighed = true)
        {
            int efterlønsalder;
            int født = år - alder;

            if (født < 1954)
            {
                efterlønsalder = 60;
            }
            else if (født < 1955)
            {
                efterlønsalder = 61;
            }
            else if (født < 1956)
            {
                efterlønsalder = 62;
            }
            else if (født < 1959)
            {
                efterlønsalder = 63;
            }
            else
            {
                efterlønsalder = 64;
            }

            //Krav:
            if (!akasse || !indbetaltEfterlønsbidrag || !retTilDagpengeVedLedighed || !tilRådighed || alder < efterlønsalder)
            {
                return(0);                                                                                                     //Antages at man har bopæl i Danmark mv. at man har fået indberettet værdien af sin pensionsformue ved opnået efterlønsalder
            }
            int dagpengesats = deltidsforsikret ? Convert.ToInt32(Satser.DpMaksimalSats() * 2 / 3d) : Satser.DpMaksimalSats(); //deltidsforsinkerede får 2/3 af maksimal sats

            int efterløn;

            if (født < 1959 && tidligEfterløn)
            {
                efterløn = Convert.ToInt32(0.91 * dagpengesats); //Er man født den 1. januar 1956 – 30. juni 1959 og går på efterløn tidligere end 3 år før folkepensionsalderen, vil efterlønnen være maks. 91 pct. af dagpengesatsen i hele efterlønsperioden.
            }
            else
            {
                efterløn = dagpengesats; //Er man født den 1. januar 1956 eller senere og tidligst går på efterløn 3 år før folkepensionsalderen, er efterlønssatsen maks. 100 pct. af dagpengesatsen i hele efterlønsperioden.
            }
            //Modregning:
            int bundfradrag = Satser.elBundfradrag();

            //Andre pensionsordninger
            double andenPensioniBeregning = andenPension * 0.05;
            double modregning;

            if (født < 1956)
            {
                modregning  = Math.Max(0, (andenPensioniBeregning - bundfradrag) * 0.6);                                         //For kapitalpensioner, ratepensioner mv. er modregningsgrundlaget 5 pct. af depotværdien ved efterlønsalderen. Fradraget sker herefter med 60 pct.
                bundfradrag = andenPensioniBeregning >= bundfradrag ? 0 : bundfradrag - Convert.ToInt32(andenPensioniBeregning); //eventuel resterende del af bundfradrag
            }
            else
            {
                modregning = Math.Max(0, andenPensioniBeregning * 0.8); //For kapitalpensioner, ratepensioner mv. er modregningsgrundlaget 5 pct. af depotværdien ved efterlønsalderen. Fradraget sker herefter med 80 pct.
            }
            if (født < 1956)
            {
                modregning += udbetaltAndenPension * 0.5;
            }
            else
            {
                modregning += udbetaltAndenPension * 0.64;
            }

            if (født < 1956)
            {
                modregning += (privatLivsvarigLivrente * 0.8 - bundfradrag) * 0.6;
            }
            else
            {
                modregning += privatLivsvarigLivrente * 0.8 * 0.8;
            }


            return(Convert.ToInt32((efterløn - modregning) / 12));

            //Ikke implementeret:
            //Særlige betingelser for selvstændige
            //Indbetaling af efterlønsbidrag
            //Tilbagebetaling af efterlønsbidrag
            //Fortrydelsesret
            //Udskydelse af tidspunktet, hvor man går på efterløn
            //Modregning af pensioner, hvis man er født før den 1. januar 1956 og har udskudt sin efterløn
            //Indberetning af pensionsformue
            //Betingelser for af få efterløn som fuldtidsforsikret
            //Særregel for løbende pensioner, der er oprettet som led i et ansættelsesforhold
        }