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 _4.Reis
- {
- class Reis
- {
- public enum Vervoeren
- {
- Vliegtuig, Bus, Trein
- }
- public enum Verblijven
- {
- Hotel, Jeugdherberg
- }
- public const int PERIODE = 7;
- public const int VLIEGTUIG = 500, TREIN = 350, BUS = 200;
- public const int HOTEL = 75, HERBERG = 20;
- public const double KORTING2 = 0.10, KORTING4 = 0.15;
- public const int PERIODE2 = 14, PERIODE4 = 7 * 4;
- private DateTime vertrekHeenDatum;
- public DateTime VertrekHeenDatum
- {
- get { return vertrekHeenDatum; }
- set
- {
- if (value >= DateTime.Today)
- {
- vertrekHeenDatum = value;
- }
- else
- {
- vertrekHeenDatum = DateTime.Today;
- }
- }
- }
- private DateTime vertrekTerugKeerDatum;
- public DateTime VertrekTerugKeerDatum
- {
- get { return vertrekTerugKeerDatum; }
- set
- {
- if (value >= VertrekHeenDatum.AddDays(PERIODE))
- {
- vertrekTerugKeerDatum = value;
- }
- else
- {
- vertrekTerugKeerDatum = VertrekHeenDatum.AddDays(PERIODE);
- }
- }
- }
- public Vervoeren Vervoer { get; set; }
- public Verblijven Verblijf { get; set; }
- public Reis(DateTime vertrekHeenDatum, DateTime vertrekTerugKeerDatum, Vervoeren vervoer, Verblijven verblijf)
- {
- VertrekHeenDatum = vertrekHeenDatum;
- VertrekTerugKeerDatum = vertrekTerugKeerDatum;
- Vervoer = vervoer;
- Verblijf = verblijf;
- }
- public Reis(DateTime vertrekHeenDatum, DateTime vertrekTerugKeerDatum, Verblijven verblijf) : this(vertrekHeenDatum, vertrekTerugKeerDatum, Vervoeren.Vliegtuig, verblijf)
- { }
- public Reis(DateTime vertrekHeenDatum, DateTime vertrekTerugKeerDatum) : this(vertrekHeenDatum, vertrekTerugKeerDatum, Verblijven.Hotel)
- { }
- private int AantalDagen()
- {
- int aantaldagen = (VertrekTerugKeerDatum - VertrekHeenDatum).Days;
- return aantaldagen;
- }
- private int PrijsVerblijf()
- {
- int prijsverblijf = 0;
- switch (Verblijf)
- {
- case Verblijven.Hotel:
- prijsverblijf = HOTEL;
- break;
- case Verblijven.Jeugdherberg:
- prijsverblijf = HERBERG;
- break;
- default:
- break;
- }
- prijsverblijf = prijsverblijf * AantalDagen();
- return prijsverblijf;
- }
- private int PrijsVervoer()
- {
- int prijsvervoer = 0;
- switch (Vervoer)
- {
- case Vervoeren.Vliegtuig:
- prijsvervoer = VLIEGTUIG;
- break;
- case Vervoeren.Bus:
- prijsvervoer = BUS;
- break;
- case Vervoeren.Trein:
- prijsvervoer = TREIN;
- break;
- default:
- break;
- }
- return prijsvervoer;
- }
- private double Korting()
- {
- double korting = 0;
- if (AantalDagen() > PERIODE4)
- {
- korting = PrijsVerblijf() * KORTING4;
- }
- else if (AantalDagen() > PERIODE2)
- {
- korting = PrijsVerblijf() * KORTING2;
- }
- return korting;
- }
- private double TotalePrijs()
- {
- double prijs = PrijsVerblijf() + PrijsVervoer() - Korting();
- return prijs;
- }
- public override string ToString()
- {
- string resultaat = "";
- resultaat += "Vertrek Heen Datum: " + VertrekHeenDatum.ToShortDateString() + "\n";
- resultaat += "Vertrek Terug Keer Datum: " + vertrekTerugKeerDatum.ToShortDateString() + "\n";
- resultaat += "Periode: " + AantalDagen() + "\n";
- resultaat += "Verblijf: " + Verblijf + "\n";
- resultaat += "Vervoer: " + Vervoer + "\n";
- resultaat += "Totale Prijs: " + TotalePrijs() + "\n";
- return resultaat;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement