Ejemplo n.º 1
0
        public static int Kontanthjælp(Boolean formue, int alder, int børn, int dur, int forældreindkomst, int arbejdsindkomst, Boolean partnerModtagerSU, int arbejdstimer, int andenIndkomst, Boolean enlig, Boolean udeboende, Boolean ægtefælleSU, int mdrbopæl, Education uddannelse, int år, int bundfradrag, double aftrapningsprocent, int ægtefælleAlder, int ægtefælleArbejdsindkomst, int ægtefælleArbejdstimer, int ægtefælleAndenIndkomst, Boolean ægtefælleKontanthjælp, Education ig = Education.IkkeUnderUddannelse, Boolean aktivitetstillæg = false)
        {
            if (formue) //hvis formue, friværdi eller høj løn hos partner, så ingen kontanthjælp
            {
                return(0);
            }

            int aldersgrænse = år >= 2014 ? 25 : 30;

            //Unge under 30 uden uddannelse får fra 2014 ikke kontanthjælp, men uddannelseshjælp, det svarer cirka til SU og kræver at personen påbegynder et studie, er personen ikke uddannelsesparat får personen et beløb svarende til kontanthjælp. Derfor kan disses satser beregnes som hhv. SU og kontanthjælp.
            if (alder < aldersgrænse && uddannelse < Education.ErhFag && år >= 2014)
            {
                //Uddannelseshjælp
                if (ig != Education.IkkeUnderUddannelse)                                                          //ikke uddannelsesparate får ydelse svarende til kontanthjælp
                {
                    return(SU(ig, !udeboende, alder, dur, år, forældreindkomst, børn, partnerModtagerSU, enlig)); //...øvrige får uddannelseshjælp svarende til SU
                }
            }
            else if (alder < aldersgrænse && uddannelse >= Education.ErhFag && år >= 2014)
            {
                //Unge under 30 år med uddannelse modtager fortsat kontanthjælp, men på niveau med SU.
                Boolean aktivitetspålæg = false;
                if (!aktivitetspålæg) //I de perioder, hvor de unge med uddannelse deltager i aktive tilbud, får de et aktivitetspålæg, så de fastholder en samlet ydelse, der svarer til den nuværende kontanthjælpssats.
                {
                    return(SU(ig, !udeboende, alder, dur, år, forældreindkomst, børn, partnerModtagerSU, enlig));
                }
            }

            //if (år == 2014)
            //overgangsordning ikke implementeret

            int sats;

            if (alder >= aldersgrænse)
            {
                if (børn > 0) //Fyldt 30, forsørger børn
                {
                    sats = Satser.khOverAldermBørn();
                }
                else //Fyldt 30, andre
                {
                    sats = Satser.khOverAlderuBørn();
                }
            }
            else if (børn > 0) //forsøger under 30 år
            {
                if (enlig)     //Enlige forsørgere, under 30 år
                {
                    sats = Satser.khUnderAldermBørnEnlig();
                }
                else if (ægtefælleKontanthjælp || ægtefælleSU)
                {
                    sats = 9498; //Forsørgere under 30 år, gift/bor med person på SU, uddhj. eller kontanthj.
                }
                else
                {
                    sats = Satser.khUnderAldermBørnParPåSU(); //Forsørgere under 30 år, gift/bor med person, der ikke er på SU, uddhj. eller kontanthj.
                }
            }
            else
            {
                sats = Satser.khUnderAlderuBørnUdeboende(); //Under 30 år, udeboende, ikke forsørger
            }
            //Ikke implementerede satser:
            //Under 30 år, hjemmeboende, ikke forsørger - sats = 3324;
            //Under 30 år, gravid (passeret 12. svangerskabsuge)
            //Under 30 år, psykisk syg, forsøgerpligt
            //Under 30 år, psykisk syg, udeboende
            //Under 30 år, bidragspligt, maksimum hjælp inkl. tillæg

            //Aktivitetstillæg
            int aktivitetstillægBeløb = 0;
            if (aktivitetstillæg && år >= 2014)
            {
                if (børn > 0 && alder < aldersgrænse)
                {
                    if (enlig)
                    {
                        aktivitetstillægBeløb = 628; //§ 25, stk 8, nr. 1
                    }
                    else if (partnerModtagerSU)
                    {
                        aktivitetstillægBeløb = 4705; //§ 25, stk 8, nr. 2
                    }
                    else
                    {
                        aktivitetstillægBeløb = 7314; //§ 25, stk 8, nr. 3
                    }
                }
                else if (alder > 25)
                {
                    if (udeboende)
                    {
                        aktivitetstillægBeløb = 3800; //§ 25, stk 8, nr. 4
                    }
                    else
                    {
                        aktivitetstillægBeløb = 7365; //§ 25, stk. 8, nr. 5
                    }
                }
            }

            //Ikke implementeret:
            //Periodesanktioner
            //Punktsanktioner
            //Engangshjælp

            int kontanthjælp = sats - andenIndkomst - ægtefælleAndenIndkomst; //Ikke-arbejdsrelaterede indtægter fratrækkes

            if (arbejdstimer == 0)
            {
                arbejdstimer = Math.Min(Convert.ToInt32(Convert.ToDouble(arbejdsindkomst) / Satser.khTimesats() * (1 - Satser.skatArbejdsmarkedsbidragssats())), Satser.khMaksTimer); //beregning af arbejdstimer udfra arbejdsindtægt
            }
            else
            {
                arbejdstimer = Math.Min(arbejdstimer, Satser.khMaksTimer);
            }

            if (!enlig)
            {
                if (ægtefælleArbejdstimer == 0)
                {
                    ægtefælleArbejdstimer = Math.Min(Convert.ToInt32(Convert.ToDouble(ægtefælleArbejdsindkomst) / Satser.khTimesats() * (1 - Satser.skatArbejdsmarkedsbidragssats())), Satser.khMaksTimer); //beregning af arbejdstimer udfra arbejdsindtægt
                }
                else
                {
                    ægtefælleArbejdstimer = Math.Min(ægtefælleArbejdstimer, Satser.khMaksTimer);
                }
            }

            //Fratrækning af arbejdsindtægter....
            kontanthjælp -= arbejdsindkomst + ægtefælleArbejdsindkomst; //Dine og din ægtefælles eller samlevers indtægter trækkes fra i hjælpen
            kontanthjælp += arbejdstimer + ægtefælleArbejdstimer * 25;  //du bliver tilgodeset med kr. 25,- pr. udført arbejdstime.

            return(kontanthjælp + aktivitetstillægBeløb);
        }