Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6.  
  7. namespace System.Marriage
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             var dugun = Dugun
  14.                 .Cift("Oğuzhan YILMAZ", "Sevgi KÖKTÜRK")
  15.                 .Yer("Elit Düğün Salonları 8759 sk. N:67 Çiğli - İzmir")
  16.                 .Zaman(new DateTime(2010, 10, 24, 20, 00, 00))           // 24 Ekim 2010, 20:00
  17.                 .Harita(@"http://bit.ly/9UhuI1")
  18.                 .Nikah(new TimeSpan(21, 15, 00)) //Düğün gecesi 21:15'de nikah
  19.                 .Soru(true, true);
  20.         }
  21.     }  
  22.  
  23.     public class Dugun
  24.     {
  25.         private string _damat, _gelin, _yer, _uri;
  26.         private DateTime _zaman;
  27.  
  28.         public static Dugun Cift(string damat, string gelin)
  29.         {
  30.             var dugun = new Dugun() { _gelin = gelin, _damat = damat };
  31.  
  32.             Console.WriteLine(@"
  33.            Hayatlarımızı birleştirdiğimiz bu mutlu
  34.                günümüzde sizleride aramızda
  35.                  görmekten onur duyacağız.                
  36.  
  37.                       {0} & {1}
  38.  
  39.                    ", damat, gelin);
  40.             return dugun;
  41.         }
  42.  
  43.         public Dugun Yer(string dugunYeri)
  44.         {
  45.             this._yer = dugunYeri;
  46.             Console.WriteLine("Yer\t: {0}", _yer);
  47.             return this;
  48.         }
  49.  
  50.         public Dugun Zaman(DateTime dugunTarihi)
  51.         {
  52.             this._zaman = dugunTarihi;
  53.             Console.WriteLine("Zaman\t: {0}", _zaman.ToLongDateString());
  54.             return this;
  55.         }
  56.  
  57.         public Dugun Harita(string haritaAdresi)
  58.         {
  59.             this._uri = haritaAdresi;
  60.             Console.WriteLine("Harita\t: {0}", haritaAdresi);
  61.             return this;
  62.         }
  63.  
  64.         public Dugun Nikah(TimeSpan nikahZamani)
  65.         {
  66.             //Thread.Sleep(nikahZamani);
  67.             Console.WriteLine(@"
  68.                 .:: Nikah {0} ::.", nikahZamani.ToString());
  69.  
  70.             return this;
  71.         }
  72.  
  73.         public Dugun Soru(bool KocanOlarakKabulEdiyormusun, bool KarinOlarakKabulEdiyormusun)
  74.         {
  75.             Console.WriteLine("\t\t{0} {1} dedi", _damat, KarinOlarakKabulEdiyormusun ? "Evet" : "Hayır");
  76.             Console.WriteLine("\t\t{0} {1} dedi", _gelin, KocanOlarakKabulEdiyormusun ? "Evet" : "Hayır");
  77.  
  78.             if (KocanOlarakKabulEdiyormusun && KarinOlarakKabulEdiyormusun)
  79.                 Evlendir();
  80.             else
  81.                 throw new Exception("Fatal Error: Aman Tanrım!");
  82.  
  83.             return this;
  84.         }
  85.  
  86.         private void Evlendir()
  87.         {
  88.             var DamatSoyadi = _damat.Split(' ').Last();
  89.             var GelinSoyadi = _gelin.Split(' ').Last();
  90.             this._gelin = _gelin.Replace(GelinSoyadi, DamatSoyadi);
  91.            
  92.             Console.WriteLine("\n\nMemur\t: {0} & {1} sizleri karı-koca ilan ediyorum...\n",
  93.                 _damat,_gelin);
  94.         }
  95.     }
  96. }