Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.67 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _4.Reis
  8. {
  9.     class Reis
  10.     {
  11.        
  12.         public enum Vervoeren
  13.         {
  14.             Vliegtuig, Bus, Trein
  15.         }
  16.         public enum Verblijven
  17.         {
  18.             Hotel, Jeugdherberg
  19.         }
  20.         public const int PERIODE = 7;
  21.         public const int VLIEGTUIG = 500, TREIN = 350, BUS = 200;
  22.         public const int HOTEL = 75, HERBERG = 20;
  23.         public const double KORTING2 = 0.10, KORTING4 = 0.15;
  24.         public const int PERIODE2 = 14, PERIODE4 = 7 * 4;
  25.         private DateTime vertrekHeenDatum;
  26.  
  27.         public DateTime VertrekHeenDatum
  28.         {
  29.             get { return vertrekHeenDatum; }
  30.             set
  31.             {
  32.                 if (value >= DateTime.Today)
  33.                 {
  34.                     vertrekHeenDatum = value;
  35.                 }
  36.                 else
  37.                 {
  38.                     vertrekHeenDatum = DateTime.Today;
  39.                 }
  40.  
  41.             }
  42.         }
  43.         private DateTime vertrekTerugKeerDatum;
  44.  
  45.         public DateTime VertrekTerugKeerDatum
  46.         {
  47.             get { return vertrekTerugKeerDatum; }
  48.             set
  49.             {
  50.                 if (value >= VertrekHeenDatum.AddDays(PERIODE))
  51.                 {
  52.                     vertrekTerugKeerDatum = value;
  53.                 }
  54.                 else
  55.                 {
  56.                     vertrekTerugKeerDatum = VertrekHeenDatum.AddDays(PERIODE);
  57.                 }
  58.             }
  59.         }
  60.         public Vervoeren Vervoer { get; set; }
  61.         public Verblijven Verblijf { get; set; }
  62.  
  63.         public Reis(DateTime vertrekHeenDatum, DateTime vertrekTerugKeerDatum, Vervoeren vervoer, Verblijven verblijf)
  64.         {
  65.             VertrekHeenDatum = vertrekHeenDatum;
  66.             VertrekTerugKeerDatum = vertrekTerugKeerDatum;
  67.             Vervoer = vervoer;
  68.             Verblijf = verblijf;
  69.         }
  70.         public Reis(DateTime vertrekHeenDatum, DateTime vertrekTerugKeerDatum, Verblijven verblijf) : this(vertrekHeenDatum, vertrekTerugKeerDatum, Vervoeren.Vliegtuig, verblijf)
  71.         { }
  72.         public Reis(DateTime vertrekHeenDatum, DateTime vertrekTerugKeerDatum) : this(vertrekHeenDatum, vertrekTerugKeerDatum, Verblijven.Hotel)
  73.         { }
  74.         private int AantalDagen()
  75.         {
  76.             int aantaldagen = (VertrekTerugKeerDatum - VertrekHeenDatum).Days;
  77.             return aantaldagen;
  78.         }
  79.         private int PrijsVerblijf()
  80.         {
  81.             int prijsverblijf = 0;
  82.             switch (Verblijf)
  83.             {
  84.                 case Verblijven.Hotel:
  85.                     prijsverblijf = HOTEL;
  86.                     break;
  87.                 case Verblijven.Jeugdherberg:
  88.                     prijsverblijf = HERBERG;
  89.                     break;
  90.                 default:
  91.                     break;
  92.             }
  93.             prijsverblijf = prijsverblijf * AantalDagen();
  94.             return prijsverblijf;
  95.         }
  96.         private int PrijsVervoer()
  97.         {
  98.             int prijsvervoer = 0;
  99.             switch (Vervoer)
  100.             {
  101.                 case Vervoeren.Vliegtuig:
  102.                     prijsvervoer = VLIEGTUIG;
  103.                     break;
  104.                 case Vervoeren.Bus:
  105.                     prijsvervoer = BUS;
  106.                     break;
  107.                 case Vervoeren.Trein:
  108.                     prijsvervoer = TREIN;
  109.                     break;
  110.                 default:
  111.                     break;
  112.             }
  113.             return prijsvervoer;
  114.         }
  115.         private double Korting()
  116.         {
  117.             double korting = 0;
  118.             if (AantalDagen() > PERIODE4)
  119.             {
  120.                 korting = PrijsVerblijf() * KORTING4;
  121.             }
  122.             else if (AantalDagen() > PERIODE2)
  123.             {
  124.                 korting = PrijsVerblijf() * KORTING2;
  125.             }
  126.             return korting;
  127.         }
  128.         private double TotalePrijs()
  129.         {
  130.             double prijs = PrijsVerblijf() + PrijsVervoer() - Korting();
  131.             return prijs;
  132.         }
  133.  
  134.         public override string ToString()
  135.         {
  136.             string resultaat = "";
  137.             resultaat += "Vertrek Heen Datum: " + VertrekHeenDatum.ToShortDateString() + "\n";
  138.             resultaat += "Vertrek Terug Keer Datum: " + vertrekTerugKeerDatum.ToShortDateString() + "\n";
  139.             resultaat += "Periode: " + AantalDagen() + "\n";
  140.             resultaat += "Verblijf: " + Verblijf + "\n";
  141.             resultaat += "Vervoer: " + Vervoer + "\n";
  142.             resultaat += "Totale Prijs: " + TotalePrijs() + "\n";
  143.             return resultaat;
  144.         }
  145.     }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement