Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Hondenschool
- {
- class Hond
- {
- public enum Soorten
- {
- Labrador, Poedel, Maltezer, Dobberman
- }
- const int MINSESSIES = 1, MAXSESSIES = 10, DEFAULTSESSIES = 3;
- const int LABRADOR = 20, POEDEL = 21, MALTEZER = 22, DOBBERMAN = 23;
- const int ADMINKOST = 15;
- const double KORTING10 = 0.10, KORTING5 = 0.05;
- const int TIENBEURTEN = 10, VIJFBEURTEN = 5;
- public String Naam { get; set; }
- public Soorten Ras { get; set; }
- public DateTime GeboorteDatum { get; set; }
- public Persoon Eigenaar { get; set; }
- private int aantalsessies;
- public int Aantalsessies
- {
- get { return aantalsessies; }
- set
- {
- if (value >= MINSESSIES && value <= MAXSESSIES )
- {
- aantalsessies = value;
- }
- else
- {
- aantalsessies = DEFAULTSESSIES;
- }
- }
- }
- public Hond(string naam, Soorten ras, DateTime geboorteDatum, Persoon eigenaar, int aantalsessies)
- {
- Naam = naam;
- Ras = ras;
- GeboorteDatum = geboorteDatum;
- Eigenaar = eigenaar;
- Aantalsessies = aantalsessies;
- }
- public Hond(string naam, DateTime geboorteDatum, Persoon eigenaar, int aantalsessies) :this(naam, Soorten.Labrador, geboorteDatum, eigenaar, aantalsessies)
- { }
- public Hond(DateTime geboorteDatum, Persoon eigenaar, int aantalsessies) :this("Max", geboorteDatum, eigenaar, aantalsessies)
- { }
- public int PrijsVoorKorting()
- {
- int prijsvoorkorting = ADMINKOST;
- switch (Ras)
- {
- case Soorten.Labrador:
- prijsvoorkorting += Aantalsessies * LABRADOR;
- break;
- case Soorten.Poedel:
- prijsvoorkorting += Aantalsessies * POEDEL;
- break;
- case Soorten.Maltezer:
- prijsvoorkorting += Aantalsessies * MALTEZER;
- break;
- case Soorten.Dobberman:
- prijsvoorkorting += Aantalsessies * DOBBERMAN;
- break;
- default:
- break;
- }
- return prijsvoorkorting;
- }
- public double Korting()
- {
- double korting=0;
- if (aantalsessies == TIENBEURTEN)
- {
- korting = PrijsVoorKorting() * KORTING10;
- }
- else if (aantalsessies >= VIJFBEURTEN && aantalsessies <= TIENBEURTEN)
- {
- korting = PrijsVoorKorting() * KORTING5;
- }
- return korting;
- }
- public double TotalePrijs()
- {
- double prijs = PrijsVoorKorting() - Korting();
- return prijs;
- }
- public int Leeftijd()
- {
- int leeftijd;
- if (GeboorteDatum.Month < DateTime.Today.Month && GeboorteDatum.Day < DateTime.Today.Day)
- {
- leeftijd = DateTime.Today.Year - GeboorteDatum.Year -1;
- }
- else
- {
- leeftijd = DateTime.Today.Year - GeboorteDatum.Year ;
- }
- return leeftijd;
- }
- public override string ToString()
- {
- string resultaat = "";
- resultaat += "Eigenaar: \n" + Eigenaar + " \n";
- resultaat += "Naam Hond:" + Naam+" \n";
- resultaat += "Ras: " + Ras + "\n";
- resultaat += "Geboorte datum Hond: " + GeboorteDatum.ToShortDateString()+" \n";
- resultaat += "Leeftijd Hond: " + Leeftijd()+" \n";
- resultaat += "Aantal Sessies: " + Aantalsessies+" \n";
- resultaat += "Prijs: " + TotalePrijs()+" \n";
- return resultaat;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement