Example #1
0
        private BedragPerMaand bepaalLeningBedragPerMaand(IEnumerable <Lening> leningen)
        {
            BedragPerMaand bedragPerMaand = new BedragPerMaand();

            foreach (Lening lening in leningen)
            {
                Maand beginMaand = (Maand)lening.Begindatum.Month;
                int   jaar       = lening.Begindatum.Year;
                int   bedrag     = 0;

                if (lening.Type == LeningType.Annuitair)
                {
                    bedrag = lening.berekenAnnuitairBedragPerMaand(lening.Bedrag, lening.Looptijd);
                }
                else if (lening.Type == LeningType.Lineair)
                {
                    bedrag = lening.berekenLineairBedragPerMaand(lening.Looptijd);
                }

                if (jaar < this.jaar)
                {
                    bedragPerMaand.voegBedragToeAanAlleMaanden(bedrag);
                }
                else
                {
                    for (Maand i = beginMaand; i <= Maand.December; i++)
                    {
                        bedragPerMaand.voegBedragToeInMaand(bedrag, i);
                    }
                }
            }

            return(bedragPerMaand);
        }
Example #2
0
 static void PrintMaand(Maand maand)
 {
     for (Maand m = Maand.januari; m <= Maand.december; m++)
     {
         Console.WriteLine(m);
     }
 }
Example #3
0
 public void voegBedragToeInMaanden(int bedrag, Maand startMaand, Maand eindMaand)
 {
     for (Maand i = startMaand; i <= eindMaand; i++)
     {
         voegBedragToeInMaand(bedrag, i);
     }
 }
Example #4
0
 public void voegBedragToeAanAlleMaanden(int bedrag)
 {
     for (Maand i = Maand.Januari; i <= Maand.December; i++)
     {
         voegBedragToeInMaand(bedrag, i);
     }
 }
Example #5
0
 static void PrintMaanden()
 {
     for (Maand M = Maand.Januarie; M <= Maand.December; M++)
     {
         Console.WriteLine((int)M + ". " + M);
     }
 }
Example #6
0
        void PrintMaanden()
        {
            for (Maand m = Maand.Januari; m <= Maand.December; m++)
            {
                Console.Write(String.Format("{0,4}", (int)m + ". "));

                PrintMaand(m);
            }
        }
Example #7
0
        public Form1()
        {
            InitializeComponent();
            Maand maand = new Maand {
                Maandnr = 3, Jaar = 2014
            };

            Console.WriteLine(maand.ToString());
        }
Example #8
0
        private Dictionary <string, BedragPerMaand> bepaalSpaardoelenPerMaand(IEnumerable <Spaardoel> spaardoelen, BedragPerMaand resultatenPerMaand)
        {
            Dictionary <string, BedragPerMaand> spaardoelBedragPerLabelPerMaand = new Dictionary <string, BedragPerMaand>();
            BedragPerMaand spaardoelenTotaalBedragPerMaand = new BedragPerMaand();

            foreach (Spaardoel spaardoel in spaardoelen)
            {
                string         label      = spaardoel.getLabelnaam();
                int            doelBedrag = spaardoel.Eindbedrag ?? 99999999;
                BedragPerMaand spaardoelBedragPerMaand = new BedragPerMaand();

                if (spaardoel.Percentage == null)
                {
                    for (Maand i = spaardoel.LaatsteMaand; i >= spaardoel.EersteMaand; i--)
                    {
                        int resterendDoelBedrag = doelBedrag - spaardoelBedragPerMaand.getTotaalBedrag();
                        if (resterendDoelBedrag == 0)
                        {
                            break;
                        }

                        int beschikbaarBedragInMaand = resultatenPerMaand.getBedragInMaand(i) - spaardoelenTotaalBedragPerMaand.getBedragInMaand(i);
                        if (beschikbaarBedragInMaand <= 0)
                        {
                            continue;
                        }

                        spaardoelBedragPerMaand.voegBedragToeInMaand(Math.Min(beschikbaarBedragInMaand, resterendDoelBedrag), i);
                        spaardoelenTotaalBedragPerMaand.voegBedragToeInMaand(spaardoelBedragPerMaand.getBedragInMaand(i), i);
                    }
                }
                else
                {
                    for (Maand i = spaardoel.EersteMaand; i <= spaardoel.LaatsteMaand; i++)
                    {
                        int resterendDoelBedrag = doelBedrag - spaardoelBedragPerMaand.getTotaalBedrag();
                        if (resterendDoelBedrag == 0)
                        {
                            break;
                        }

                        int beschikbaarBedragInMaand = resultatenPerMaand.getBedragInMaand(i) - spaardoelenTotaalBedragPerMaand.getBedragInMaand(i);
                        if (beschikbaarBedragInMaand <= 0)
                        {
                            continue;
                        }

                        int bedrag = (int)(beschikbaarBedragInMaand * ((decimal)spaardoel.Percentage / 100));
                        spaardoelBedragPerMaand.voegBedragToeInMaand(Math.Min(bedrag, resterendDoelBedrag), i);
                    }
                }

                spaardoelBedragPerLabelPerMaand[label] = spaardoelBedragPerMaand;
            }

            return(spaardoelBedragPerLabelPerMaand);
        }
Example #9
0
        public void voegBedragToeInMaand(int bedrag, Maand maand)
        {
            switch (maand)
            {
            case Maand.Januari:
                Januari += bedrag;
                break;

            case Maand.Februari:
                Februari += bedrag;
                break;

            case Maand.Maart:
                Maart += bedrag;
                break;

            case Maand.April:
                April += bedrag;
                break;

            case Maand.Mei:
                Mei += bedrag;
                break;

            case Maand.Juni:
                Juni += bedrag;
                break;

            case Maand.Juli:
                Juli += bedrag;
                break;

            case Maand.Augustus:
                Augustus += bedrag;
                break;

            case Maand.September:
                September += bedrag;
                break;

            case Maand.Oktober:
                Oktober += bedrag;
                break;

            case Maand.November:
                November += bedrag;
                break;

            case Maand.December:
                December += bedrag;
                break;

            default:
                break;
            }
        }
Example #10
0
 // Deze methode print alle maanden in de Enum lijst.
 void PrintMaanden()
 {
     for (Maand m = Maand.Januari; m <= Maand.December; m++)
     {
         int nummer;
         nummer = (int)m;
         Console.Write(" {0,2}. ", nummer);
         PrintMaand(m);
     }
 }
Example #11
0
        void Start()
        {
            PrintMaanden();
            Console.WriteLine();

            int   maandValue = (int)VraagMaand("Voer een maandnummer in: ");
            Maand maand      = (Maand)maandValue;

            Console.Write(maandValue + " => ");
            PrintMaand(maand);
        }
Example #12
0
        Maand VraagMaand(string vraag)
        {
            int input = LeesInt(vraag);

            while (!Enum.IsDefined(typeof(Maand), input))
            {
                Console.WriteLine(input + " is geen geldige waarde.");

                input = LeesInt(vraag);
            }

            Maand m = (Maand)input;

            return(m);
        }
Example #13
0
        public int bepaalAfschrijfBedrag(Maand maand, int jaar)
        {
            int      afschrijfBedrag   = 0;
            DateTime gesteldeEinddatum = Aankoopdatum.AddMonths(VerwachteLevensduur - 1);

            if (moetAfgeschrevenWorden(Aankoopdatum, gesteldeEinddatum, maand, jaar))
            {
                afschrijfBedrag = Aankoopbedrag / VerwachteLevensduur;
                // Laatste maand, aanvullen tot aankoopbedrag
                if (jaar == gesteldeEinddatum.Year && maand == (Maand)gesteldeEinddatum.Month)
                {
                    afschrijfBedrag += Aankoopbedrag - (Aankoopbedrag / VerwachteLevensduur * VerwachteLevensduur);
                }
            }

            return(afschrijfBedrag);
        }
Example #14
0
        private bool moetAfgeschrevenWorden(DateTime aankoopDatum, DateTime gesteldeEinddatum, Maand maand, int jaar)
        {
            int   jaarVanAankoop  = aankoopDatum.Year;
            Maand maandVanAankoop = (Maand)aankoopDatum.Month;

            int   jaarVanVoltooien  = gesteldeEinddatum.Year;
            Maand maandVanVoltooien = (Maand)gesteldeEinddatum.Month;

            if (jaarVanAankoop < jaar || (jaarVanAankoop == jaar && maandVanAankoop <= maand))
            {
                if (jaar < jaarVanVoltooien || (jaar == jaarVanVoltooien && maand <= maandVanVoltooien))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #15
0
        static void Main(string[] args)
        {
            Console.WriteLine("===== Oef 1: Wissel =====");

            int a = 10, b = 20;

            Console.WriteLine("Waarden voor wissel:");
            Console.WriteLine($"a = {a}");
            Console.WriteLine($"b = {b}");

            Helper.Wissel(ref a, ref b);

            Console.WriteLine("Na wissel:");
            Console.WriteLine($"a = {a}");
            Console.WriteLine($"b = {b}");
            Console.WriteLine();

            Console.WriteLine("===== Oef 2: camelCase =====");
            Console.WriteLine("Voer een zin in:");
            string invoer = Console.ReadLine();

            // blijven invoer vragen indien invoer leeg was
            while (string.IsNullOrWhiteSpace(invoer))
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Ongeldige invoer!");
                Console.ForegroundColor = ConsoleColor.Gray;
                Console.WriteLine();
                Console.WriteLine("Voer een zin in:");
                invoer = Console.ReadLine();
            }

            Console.WriteLine(Helper.ZinNaarCamelCase(invoer));
            Console.WriteLine();

            Console.WriteLine("===== Oef 3: Kalender =====");

            Maand currentMonth = new Maand();

            currentMonth.Maandnr = 11;
            currentMonth.Jaar    = 2002;
            Console.WriteLine(currentMonth);
            Console.ReadLine();
        }
Example #16
0
        public int getBedragInMaand(Maand maand)
        {
            switch (maand)
            {
            case Maand.Januari:
                return(Januari);

            case Maand.Februari:
                return(Februari);

            case Maand.Maart:
                return(Maart);

            case Maand.April:
                return(April);

            case Maand.Mei:
                return(Mei);

            case Maand.Juni:
                return(Juni);

            case Maand.Juli:
                return(Juli);

            case Maand.Augustus:
                return(Augustus);

            case Maand.September:
                return(September);

            case Maand.Oktober:
                return(Oktober);

            case Maand.November:
                return(November);

            case Maand.December:
                return(December);

            default:
                return(0);
            }
        }
Example #17
0
        /// <summary>
        /// Deze methode zoekt groenten die van het gegeven type zijn
        /// en in de gegeven maand gezaaid kunnen worden.
        /// </summary>
        /// <param name="type">Het type groente, bijvoorbeeld "Bladgroente" als object</param>
        /// <param name="zaaitijd">De zaaitijd (Maand)</param>
        /// <returns>Geeft een lijst terug met groenten die van het gegeven type
        /// zijn en in de gegeven maand gezaaid kunnen worden.</returns>

        public List <Groente> ZoekGroentes(object type, Maand zaaitijd)
        {
            List <Groente> GroentenZoeken = null;

            if ((string)type == "Moestijn.Wortelgewas")
            {
                GroentenZoeken = Groenten.Except(Groenten.OfType <Bladgroente>()).ToList <Groente>();
                GroentenZoeken =
                    (from g in GroentenZoeken
                     where g.Zaaitijd == zaaitijd
                     select new Wortelgewas(g.Naam, g.Zaaitijd, g.Oogsttijd)).ToList <Groente>();
            }

            else if ((string)type == "Moestijn.Bladgroente")
            {
                GroentenZoeken = Groenten.Except(Groenten.OfType <Wortelgewas>()).ToList <Groente>();
                GroentenZoeken =
                    (from g in GroentenZoeken
                     where g.Zaaitijd == zaaitijd
                     select new Bladgroente(g.Naam, g.Zaaitijd, g.Oogsttijd)).ToList <Groente>();
            }

            return(GroentenZoeken);
        }
Example #18
0
 public virtual int GeefTotaleMaandNeerslag(Maand maand)
 {
     return(MaandGegevens.First(m => m.Maand == maand).Neerslag);
 }
 public override double GeefGemiddeldeMaandTemperatuur(Maand maand)
 {
     return temperatuurWaarden[(int) maand];
 }
 public double GeefTemperatuurVanMaand(Maand maand)
 {
     return temperaturen[(int)maand];
 }
Example #21
0
 public virtual double GeefGemiddeldeMaandTemperatuur(Maand maand)
 {
     return(MaandGegevens.First(m => m.Maand == maand).Temperatuur);
 }
Example #22
0
        private BedragPerMaand bepaalBedragenPerMaand(IEnumerable <BedragPerPeriode> bedragenPerPeriode)
        {
            BedragPerMaand bedragPerMaand = new BedragPerMaand();

            IEnumerable <BedragPerPeriode> bedragenPerMaand = bedragenPerPeriode.Where(b => b.Interval == Interval.Maand);

            foreach (BedragPerPeriode bedrag in bedragenPerMaand)
            {
                Maand beginMaand = bedrag.Begindatum.Year == jaar ? (Maand)bedrag.Begindatum.Month : Maand.Januari;
                Maand eindMaand  = bedrag.Einddatum.HasValue && bedrag.Einddatum.Value.Year == jaar ? (Maand)bedrag.Einddatum.Value.Month : Maand.December;
                bedragPerMaand.voegBedragToeInMaanden(bedrag.Bedrag, beginMaand, eindMaand);
            }

            IEnumerable <BedragPerPeriode> bedragenPerJaar = bedragenPerPeriode.Where(b => b.Interval == Interval.Jaar);

            foreach (BedragPerPeriode bedragPerJaar in bedragenPerJaar)
            {
                bedragPerMaand.voegBedragToeInMaand(bedragPerJaar.Bedrag, (Maand)bedragPerJaar.Begindatum.Month);
            }

            IEnumerable <BedragPerPeriode> bedragenPerKwartaal = bedragenPerPeriode.Where(b => b.Interval == Interval.Kwartaal);

            foreach (BedragPerPeriode bedragPerKwartaal in bedragenPerKwartaal)
            {
                Maand beginMaand = (Maand)bedragPerKwartaal.Begindatum.Month;
                Maand eindMaand  = bedragPerKwartaal.Einddatum.HasValue ? (Maand)bedragPerKwartaal.Einddatum.Value.Month : Maand.December;
                int   bedrag     = bedragPerKwartaal.Bedrag;

                switch (beginMaand)
                {
                case Maand.Februari:
                case Maand.Mei:
                case Maand.Augustus:
                case Maand.November:
                {
                    bedragPerMaand.voegBedragToeInMaand(bedrag / 3 * Math.Max(1, Math.Min((int)(eindMaand - beginMaand), 2)), beginMaand);
                    break;
                }

                case Maand.Maart:
                case Maand.Juni:
                case Maand.September:
                case Maand.December:
                {
                    bedragPerMaand.voegBedragToeInMaand(bedrag / 3, beginMaand);
                    break;
                }

                default: break;
                }

                while (beginMaand <= Maand.Oktober && beginMaand < eindMaand)
                {
                    switch (beginMaand)
                    {
                    case Maand.Januari:
                    case Maand.April:
                    case Maand.Juli:
                    case Maand.Oktober:
                    {
                        int bedragDezeMaand = bedrag;
                        if (eindMaand - beginMaand < 2)
                        {
                            bedragDezeMaand = bedrag / 3 * (eindMaand - beginMaand + 1);
                        }
                        bedragPerMaand.voegBedragToeInMaand(bedragDezeMaand, beginMaand);
                        break;
                    }

                    default: break;
                    }
                    beginMaand++;
                }
            }
            return(bedragPerMaand);
        }
 public int GeefNeerslagVanMaand(Maand maand)
 {
     return neerslagen[(int)maand];
 }
 public virtual int GeefTotaleMaandNeerslag(Maand maand)
 {
     return MaandGegevens.First(m => m.Maand == maand).Neerslag;
 }
        public Maand GeefDeWarmsteMaand()
        {
            Maand maand      = Maand.Januari;//standaard, anders error omdat die eventueel null kan zijn..
            int   indexMaand = 0;

            for (int m = 0; m < this.temperatuurWaarden.Length; m++)
            {
                if (this.temperatuurWaarden[m] > temperatuurWaarden[indexMaand])
                {
                    indexMaand = m;
                }
            }
            switch (indexMaand)
            {
            case 0:
                maand = Maand.Januari;
                break;

            case 1:
                maand = Maand.Februari;
                break;

            case 2:
                maand = Maand.Maart;
                break;

            case 3:
                maand = Maand.April;
                break;

            case 4:
                maand = Maand.Mei;
                break;

            case 5:
                maand = Maand.Juni;
                break;

            case 6:
                maand = Maand.Juli;
                break;

            case 7:
                maand = Maand.Augustus;
                break;

            case 8:
                maand = Maand.September;
                break;

            case 9:
                maand = Maand.Oktober;
                break;

            case 10:
                maand = Maand.November;
                break;

            case 11:
                maand = Maand.December;
                break;
            }
            return(maand);
        }
Example #26
0
 public override double GeefGemiddeldeMaandTemperatuur(Maand maand)
 {
     return(temperatuurWaarden[(int)maand]);
 }
Example #27
0
 public override int GeefTotaleMaandNeerslag(Maand maand)
 {
     return(neerslagWaarden[(int)maand]);
 }
Example #28
0
 void PrintMaand(Maand maand)
 {
     Console.WriteLine(maand);
 }
Example #29
0
 static void Main(string[] args)
 {
     Maand printmaand = PrintMaand(Maand);
 }
Example #30
0
 public Bladgroente(string naam, Maand zaaitijd, Maand oogsttijd) : base(naam, zaaitijd, oogsttijd)
 {
 }
 public override int GeefTotaleMaandNeerslag(Maand maand)
 {
     return neerslagWaarden[(int) maand];
 }
 public virtual double GeefGemiddeldeMaandTemperatuur(Maand maand)
 {
     return MaandGegevens.First(m => m.Maand == maand).Temperatuur;
 }
 public int GeefNeerslagVanMaand(Maand maand)
 {
     return(neerslagen[(int)maand]);
 }
Example #34
0
 public Groente(string naam, Maand zaaitijd, Maand oogsttijd)
 {
     Naam      = naam;
     Zaaitijd  = zaaitijd;
     Oogsttijd = oogsttijd;
 }
 public double GeefTemperatuurVanMaand(Maand maand)
 {
     return(temperaturen[(int)maand]);
 }
Example #36
0
 public Wortelgewas(string naam, Maand zaaitijd, Maand oogsttijd) : base(naam, zaaitijd, oogsttijd)
 {
 }