Ejemplo n.º 1
0
        /// <summary>
        /// Hvis par, skal ansøger være folkepensionisten eller førtidspensionisten, hvis en sådan findes
        /// </summary>
        /// <param name="børn"></param>
        /// <param name="kvardratmeter"></param>
        /// <param name="husleje">Årlig husleje</param>
        /// <param name="lejer"></param>
        /// <param name="voksne"></param>
        /// <param name="husstandsindkomst"></param>
        /// <param name="husstandsformue"></param>
        /// <param name="folkepensionist"></param>
        /// <param name="førtidspensionist"></param>
        /// <returns></returns>
        public static int Boligstøtte(int år, int børn, int kvardratmeter, int husleje, Boolean lejer, int voksne, int husstandsindkomst, int husstandsformue, Boolean folkepensionist = false, Boolean førtidspensionist = false)
        {
            kvardratmeter = Math.Min(kvardratmeter, 65 + 20 * voksne + 20 * børn); //Enlige får boligsikring til en bolig på op til 65 m2. Par uden børn får op til 85 m2. Hvis der er andre personer i husstanden, børn eller andre voksne, lægges der 20 m2 til pr. person.

            int ydelse, maxYdelse;

            if (folkepensionist)
            {                 //boligydelse
                if (børn < 1) //Maksimumbeløb for den husleje, som kan indgå i boligstøtteberegningen afhænger af antal børn
                {
                    husleje = Math.Min(Satser.bsPensionistMaks0Børn(), husleje);
                }
                else if (børn == 1)
                {
                    husleje = Math.Min(Satser.bsPensionistMaks1Børn(), husleje);
                }
                else if (børn == 2)
                {
                    husleje = Math.Min(Satser.bsPensionistMaks2Børn(), husleje);
                }
                else if (børn == 3)
                {
                    husleje = Math.Min(Satser.bsPensionistMaks3Børn(), husleje);
                }
                else //over 3 børn
                {
                    husleje = Math.Min(Satser.bsPensionistMaks4Børn(), husleje);
                }


                int indkomstgrænse = børn > 1 ? Satser.bsPensionistIndkomstgrænse() + Satser.bsPensionistIndkomstgrænseForhøjelse() * Math.Max(0, Math.Min(4, børn - 1)) : Satser.bsPensionistIndkomstgrænse(); ////Er der mere end 1 barn i husstanden, forhøjes indkomstgrænsen med 38.000 kr. for hvert barn til og med 4 børn.
                ydelse = Convert.ToInt32(0.75 * (husleje + Satser.bsPensionistTillæg()) - Math.Max(0, 0.225 * (husstandsindkomst - indkomstgrænse)));                                                           //Boligydelsen udgør som hovedregel 75 pct. af boligudgiften med et tillæg på 6.100 kr. // Herfra trækkes 22,5 pct. af den del af husstandsindkomsten, der overstiger 144.300 kr. Hvis indtægten er mindre end 144.300 kr., er der ikke noget fradrag for indtægt i boligydelsen.

                ydelse = Convert.ToInt32(Math.Min(ydelse, husleje - Math.Max(Satser.bsMindstebeløb(), 0.11 * husstandsindkomst)));                                                                              //Der skal altid betales et mindstebeløb af ansøger selv. Dette beløb er på 11 pct. af indkomsten, dog mindst 15.300 kr. om året.

                maxYdelse = børn >= 4 ? Convert.ToInt32(Satser.bsPensionistMaxYdelse() * 1.25) : Satser.bsPensionistMaxYdelse();                                                                                //Som udgangspunkt kan den årlige boligydelse højst være på 42.720 kr. årligt. Dette beløb hæves til 53.400 kr., hvis der er tale om, at:....
                //Det antages at ingen af følgende er opfyldt: Pensionisten har fået anvist en almen bolig af kommunen / – hvis pensionisten er stærkt bevægelseshæmmet, og boligen er egnet / til ansøgers bevægelseshandicap / – pensionisten får døgnhjælp efter servicelovens § 96
                //Det antages endvidere at der ikke er tale om ældrebolig efter den tidligere ældrelov eller en almen bolig, der er anvist af kommunen, er der intet maksimumsbeløb.
            }
            else if (lejer || førtidspensionist)
            {
                if (børn < 1) //Maksimumbeløb for den husleje, som kan indgå i boligstøtteberegningen afhænger af antal børn
                {
                    husleje = Math.Min(Satser.bsMaks0Børn(), husleje);
                }
                else if (børn == 1)
                {
                    husleje = Math.Min(Satser.bsMaks1Børn(), husleje);
                }
                else if (børn == 2)
                {
                    husleje = Math.Min(Satser.bsMaks2Børn(), husleje);
                }
                else if (børn == 3)
                {
                    husleje = Math.Min(Satser.bsMaks3Børn(), husleje);
                }
                else //over 3 børn
                {
                    husleje = Math.Min(Satser.bsMaks4Børn(), husleje);
                }

                int indkomstgrænse = børn > 1 ? Satser.bsIndkomstgrænse() + Satser.bsIndkomstgrænseForhøjelse() * Math.Max(0, Math.Min(4, børn - 1)) : Satser.bsIndkomstgrænse(); //Er der mere end 1 barn i husstanden, forhøjes indkomstgrænsen med 35.200 kr. for hvert barn til og med 4 børn.
                ydelse = Convert.ToInt32(0.6 * husleje - Math.Max(0, 0.18 * (husstandsindkomst - indkomstgrænse)));                                                               //Boligsikring kan som hovedregel udgøre 60 pct. af boligudgiften. Herfra trækkes 18 pct. af den del af husstandsindkomsten, der overstiger 133.500 kr. Hvis indtægten er mindre end 133.500 kr., er der ikke noget fradrag for indtægt i boligsikringen.

                if (børn == 0 && !førtidspensionist)
                {
                    ydelse = Convert.ToInt32(Math.Max(0.15 * husleje, ydelse));                              //For husstande uden børn kan boligsikringen som hovedregel højst udgøre 15 pct. af huslejen. Denne regel gælder ikke for førtidspensionister.
                }
                ydelse = Math.Min(ydelse, (husleje - Satser.bsMindstebeløb()));                              //Der skal altid betales et mindstebeløb af ansøger selv. Dette beløb er på 22.500 kr. om året.

                maxYdelse = børn >= 4 ? Convert.ToInt32(Satser.bsMaxYdelse() * 1.25) : Satser.bsMaxYdelse(); //Hvis der er fire eller flere børn i husstanden, forhøjes dette beløb med 25 pct., dog maksimalt 49.395 kr
            }
            else
            {
                return(0);                            //ingen ydelse
            }
            return(Math.Min(ydelse, maxYdelse) / 12); //Den årlige boligsikring kan højst være på 39.516 kr.

            //Ikke implementeret:
            //formuetillægget
            //Fradrag for indkomst fra hjemmeboende børn under 18 år
        }