public override string ToString() { Pieniadze suma = new Pieniadze(); suma.Dodaj(pieniadze); suma.Dodaj(debet.Stan); return String.Format("rachunek debetowy klienta {0}", klient); }
protected override bool CzyDostepnePieniadze(Pieniadze pieniadze) { if (this.pieniadze.Waluta != pieniadze.Waluta) return false; return (this.pieniadze.Wartosc + this.debet.Stan.Wartosc >= pieniadze.Wartosc); }
public override bool WyplacPieniadze(Pieniadze pieniadze) { if (!CzyDostepnePieniadze(pieniadze)) return false; // Jezeli mamy dostepne pieniadze to nie ruszamy debetu if (this.pieniadze >= pieniadze) return base.WyplacPieniadze(pieniadze); // Jezeli brakuje nam srodkow to sprawdz czy debet plus dost pieniadze zalatwiaja sprawe Pieniadze sumaSrodkow = new Pieniadze(0, pieniadze.Waluta); sumaSrodkow.Dodaj(this.pieniadze); sumaSrodkow.Dodaj(debet.Stan); if (sumaSrodkow.Wartosc >= pieniadze.Wartosc) { Pieniadze pobrane = new Pieniadze(pieniadze.Wartosc, pieniadze.Waluta); pobrane.Odejmij(this.pieniadze); this.pieniadze = new Pieniadze(0, pieniadze.Waluta); debet.Pobierz(pobrane); return true; } return false; }
public RachunekBankowy(Klient klient, Int64 id = 0) { this.DataUtworzenia = DateTime.Now; this.klient = klient; if (this.pieniadze == null) this.pieniadze = new Pieniadze(0); this.Id = id; }
public Przelew(RachunekBankowy rachunekA, RachunekBankowy rachunekB, Pieniadze pieniadze) { this.rachunekA = rachunekA; this.rachunekB = rachunekB; operacjaPierwsza = new Wyplata(rachunekA, pieniadze); operacjaDruga = new Wplata(rachunekB, pieniadze); }
public Kredyt(Pieniadze kwota, int rat, DateTime termin, IModelOdsetek modelOdsetek) { this.splacono = new Pieniadze(0,kwota.Waluta); this.kwotaKredytu = kwota; this.iloscRat = rat; this.splaconychRat = 0; this.terminSplaty = termin; this.modelOdsetek = modelOdsetek; }
public Kredyt DodajKredyt(Klient klient, Pieniadze kwota, double oprocentowanie = 10, int iloscRat = 2) { if (!klienci.Contains(klient)) klienci.Add(klient); int id = wygenerujNumer(); Kredyt kredyt = new Kredyt(kwota, new LiniowyModelOdsetek(oprocentowanie), iloscRat); produktyBankowe.Add(id, kredyt); return kredyt; }
public virtual bool WyplacPieniadze(Pieniadze pieniadze) { try { this.pieniadze -= pieniadze; return true; } catch (Exception) { return false; } }
public bool Pobierz(Pieniadze pieniadze) { try { this.stan -= pieniadze; } catch (Exception) { return false; } return true; }
public WpisWHistorii(IOperacja operacja, ProduktBankowy produkt, Pieniadze pieniadze = null, Klient klient = null) { this.operacja = operacja; this.klient = klient; if (this.klient == null) this.klient = produkt.Klient(); this.pieniadze = pieniadze.Clone() as Pieniadze; this.produkt = produkt; saldoPrzed = produkt.DostepneSrodki().Clone() as Pieniadze; }
public override bool WplacPieniadze(Pieniadze pieniadze) { try { Pieniadze reszta = debet.Dodaj(pieniadze); this.pieniadze += reszta; return true; } catch (Exception) { return false; } }
public PrzelewZewnetrzny(RachunekBankowy rachunek, int rachunekDocelowy, Pieniadze pieniadze, Bank bank) { this.rachunek = rachunek; this.rachunekDocelowy = rachunekDocelowy; this.bank = bank; p = new PrzelewanePieniadze { id = rachunekDocelowy, pieniadze = pieniadze }; operacja = new Wyplata(rachunek, pieniadze); }
/// <summary> /// Zwraca resztę, np. jeżeli limit wynosi 1000 a wpłacamy 1500 to 500 za dużo /// </summary> /// <param name="pieniadze"></param> /// <returns></returns> public Pieniadze Dodaj(Pieniadze pieniadze) { if (Pieniadze.RozneWaluty(stan,pieniadze)) return pieniadze; if ((limit-stan) >= pieniadze) { stan += pieniadze; return new Pieniadze(0,pieniadze.Waluta); } Pieniadze reszta = pieniadze - (limit - stan); stan = limit; return reszta; }
public Debet(int limit) { this.limit = new Pieniadze(limit); this.stan = this.limit; }
public Debet(Pieniadze limit) { this.limit = limit; this.stan = limit; }
private void Sumuj(Pieniadze pieniadze) { if (pieniadze.Waluta != waluta) return; ilosc++; suma += pieniadze; }
protected virtual bool CzyDostepnePieniadze(Pieniadze pieniadze) { try { return (Pieniadze >= pieniadze); } catch (Exception) { return false; } }
public void Zapisz() { saldoPo = produkt.DostepneSrodki().Clone() as Pieniadze; }
// Prosty iloczyn odsetki = kwota * oprocentowanie public Pieniadze Oblicz(Pieniadze odsetki) { double nowaWartosc = odsetki.Wartosc * oprocentowanie / 100; odsetki.Wartosc = (int)nowaWartosc; return odsetki; }
public RaportZPodsumowaniem(Pieniadze.Waluty waluta) { wpisy = new List<string>(); sredniaKwota = new SredniaKwota(waluta); }
public string Wynik() { srednia = new Pieniadze(suma.Wartosc / ilosc,suma.Waluta); return string.Format("Srednia kwota operacji: {0}", srednia); }
public Kredyt(Pieniadze kwota, IModelOdsetek modelOdsetek, int rat = 1 ) : this(kwota,rat,DateTime.Now.AddMonths(1),modelOdsetek) { }
public Wyplata(RachunekBankowy rachunek, Pieniadze pieniadze) { this.pieniadze = pieniadze; this.rachunek = rachunek; }
public RachunekDebetowy DodajRachunekDebetowy(Klient klient, Pieniadze debet) { if (!klienci.Contains(klient)) klienci.Add(klient); int id = wygenerujNumer(); RachunekDebetowy rachunek = new RachunekDebetowy(klient, new Debet(debet), id); produktyBankowe.Add(id,rachunek); return rachunek; }
public Pieniadze ObliczCzescSplaty(int rata) { Pieniadze kwotaRaty = new Pieniadze(DoSplaty.Wartosc / (1 + iloscRat - rata), kwotaKredytu.Waluta); return kwotaRaty; }
public SredniaKwota(Pieniadze.Waluty waluta) { this.waluta = waluta; this.suma = new Pieniadze(0, waluta); this.srednia = new Pieniadze(0, waluta); ; }