Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace WzorceProjektowe
  6. {
  7.     // Nie zmieniaj poniższej klasy
  8.     public class Klient
  9.     {
  10.         public string Imie;
  11.         public string Nazwisko;
  12.         public long PESEL;
  13.         public bool SplacaTerminowo;
  14.         public double MiesiecznyDochod;
  15.         public double SrodkiNaKoncie;
  16.  
  17.         public Klient(string imie, string nazwisko, long pesel, bool splacaTerminowo, double miesiecznyDochod, double srodkiNaKoncie)
  18.         {
  19.             Imie = imie;
  20.             Nazwisko = nazwisko;
  21.             PESEL = pesel;
  22.             SplacaTerminowo = splacaTerminowo;
  23.             MiesiecznyDochod = miesiecznyDochod;
  24.             SrodkiNaKoncie = srodkiNaKoncie;
  25.         }
  26.     }
  27.     // Nie zmieniaj poniższej klasy
  28.     public class DataBase
  29.     {
  30.         private static DataBase DB = null;
  31.         private Dictionary<long, Klient> klienci = new Dictionary<long, Klient>();
  32.         DataBase()
  33.         {
  34.             klienci[8111038251] = new Klient("Harry", "Potter", 8111038251, true, 95421.2, 10025009.7);
  35.             klienci[5012475774] = new Klient("Mieczysław", "Psikuta", 5012475774, false, 421.2, 39.3);
  36.             klienci[4801356445] = new Klient("Zbigniew", "Kolegazwojska", 4801356445, true, 1521.2, 5071.4);
  37.             klienci[5091425527] = new Klient("Robert", "Martin", 5091425527, true, 10421.2, 59009.01);
  38.             klienci[7071519433] = new Klient("Genowefa", "Wiaderna", 7071519433, true, 8321.2, 5085.69);
  39.         }
  40.         public static DataBase GetDB()
  41.         {
  42.             if (DB == null)
  43.                 DB = new DataBase();
  44.             return DB;
  45.         }
  46.         public Klient GetClientByPESEL(long pesel)
  47.         {
  48.             return klienci[pesel];
  49.         }
  50.     }
  51.     public class Dochody
  52.     {
  53.         public bool DochodyWystarczajace(long PESEL, double miesiecznaRata)
  54.         {
  55.             DataBase db = DataBase.GetDB();
  56.             Klient klient = db.GetClientByPESEL(PESEL);
  57.  
  58.             if (miesiecznaRata < klient.MiesiecznyDochod/2)
  59.                 return true;
  60.             else
  61.                 return false;
  62.         }
  63.     }
  64.     public class Kredyty
  65.     {
  66.         public bool SplacaTerminowo(long PESEL)
  67.         {
  68.             DataBase db = DataBase.GetDB();
  69.             Klient klient = db.GetClientByPESEL(PESEL);
  70.  
  71.             if (klient.SplacaTerminowo == true)
  72.                 return true;
  73.             else
  74.                 return false;
  75.         }
  76.     }
  77.     public class UdzielanieKredytu
  78.     {
  79.         public bool CzyWkladWlasnyTo10Procent(double wnioskowanaKwota, double wkladWlasny)
  80.         {
  81.             if (wkladWlasny / wnioskowanaKwota >= 0.1)
  82.                 return true;
  83.             else
  84.                 return false;
  85.         }
  86.  
  87.     }
  88.     public class Fasada
  89.     {
  90.         Dochody dochody;
  91.         Kredyty kredyty;
  92.         UdzielanieKredytu udzielanieKredytu;
  93.         public Fasada()
  94.         {
  95.             this.dochody = new Dochody();
  96.             this.kredyty = new Kredyty();
  97.             this.udzielanieKredytu = new UdzielanieKredytu();
  98.         }
  99.         public void WnioskowanieOKredyt(long PESEL, double wnioskowanaKwota, double wkladWlasny, int ileMiesiecy)
  100.         {
  101.             bool dochodyWystarczajace = dochody.DochodyWystarczajace(PESEL, wnioskowanaKwota/ileMiesiecy);
  102.             bool splacaTerminowo = kredyty.SplacaTerminowo(PESEL);
  103.             bool czyWkladWlasnyTo10Procent = udzielanieKredytu.CzyWkladWlasnyTo10Procent(wnioskowanaKwota, wkladWlasny);
  104.  
  105.             if (dochodyWystarczajace == true && splacaTerminowo == true && czyWkladWlasnyTo10Procent == true)
  106.                 Console.WriteLine($"Użykownik o numerze PESEL {PESEL} otrzyma kredyt");
  107.             else
  108.                 Console.WriteLine($"Użykownik o numerze PESEL {PESEL} nie otrzyma kredytu");
  109.         }
  110.     }
  111.     // Nie zmieniaj poniższej klasy
  112.     public class Program
  113.     {
  114.         static void Main(string[] args)
  115.         {
  116.             Fasada fasada = new Fasada();
  117.             fasada.WnioskowanieOKredyt(8111038251, 20000, 3000, 12);
  118.             fasada.WnioskowanieOKredyt(5012475774, 20000, 1000, 12);
  119.             fasada.WnioskowanieOKredyt(4801356445, 20000, 3000, 12);
  120.             fasada.WnioskowanieOKredyt(5091425527, 20000, 1000, 12);
  121.             fasada.WnioskowanieOKredyt(7071519433, 20000, 3000, 12);
  122.         }
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement