public override void AskedMoneyFrom(Person p) { if (this.MoneyAsked > this.Money) { GivenMoney gm = new GivenMoney(0, $"{Name}: 'Non posso, ho perso tutti i miei soldi...'"); p.AcceptMoney(gm); this.Money -= gm.Money; } else { GivenMoney gm = new GivenMoney(this.MoneyAsked, $"{Name}: 'Tieni poraccio tanto non so che farmene'"); p.AcceptMoney(gm); this.Money -= gm.Money; } }
public void AcceptMoney(GivenMoney gm) { if (gm == null || gm.Money == 0) { Console.WriteLine(Name + " received no money."); } if (gm.Money < 0) { throw new Exception("Money di GivenMoney non può essere negativo."); } Money += gm.Money; Console.WriteLine(gm.Message); }
public override void AskedMoneyFrom(Person p) { if (this.MoneyAsked > this.Money) { GivenMoney gm = new GivenMoney(0, $"{Name}: 'Non posso, non ho abbastanza soldi...'"); p.AcceptMoney(gm); this.Money -= gm.Money; } else { if (p.Count > 3) { GivenMoney gm = new GivenMoney(0, $"{Name}: 'Ti ho già prestato {this.MoneyAsked * 3}! No!'"); } else { GivenMoney gm = new GivenMoney(this.MoneyAsked, $"{Name}: 'Ma ricordati di tornarmeli!'"); p.AcceptMoney(gm); this.Money -= gm.Money; } } }