// Operacja przelewu z debetem public override void Przelew(double kwota, Rachunek docelowy) { if (component != null) { Rachunek r = (Rachunek)component; WzorceProj.command_operacje.Payment p = new WzorceProj.command_operacje.Payment(kwota); double saldo_po_wyplacie = p.Execute(r); if (saldo_po_wyplacie < 0 && this.Debt <= this.MaxDebt) { this.Debt = Math.Abs(saldo_po_wyplacie); r.Saldo = 0; } else { if (this.Debt <= this.MaxDebt) { r.SetHistoria("Przekroczono dopuszczalny limit debetu! (" + this.MaxDebt.ToString() + ")"); } if (saldo_po_wyplacie >= 0) { r.Przelew(kwota, docelowy); } } } }
// Wypłata na rachunek bez debetu public override void Wyplata(double kwota) { WzorceProj.command_operacje.Payment p = new WzorceProj.command_operacje.Payment(kwota); this.Saldo = p.Execute(this); }