public override void ControllaParti(Parti parti, decimal totale) { if (parti.Divisione.Values.Sum() != totale) { throw new ArgumentException("La somma degli importi deve essere uguale totale speso"); } }
public override void ControllaParti(Parti parti, decimal totale) { if (parti.Divisione.Values.Sum() != 100) { throw new ArgumentException("La somma delle percentuali deve essere 100"); } }
public Dictionary <Utente, decimal> DividiSpesa(decimal totale, Parti parti) { Dictionary <Utente, decimal> divisione = new Dictionary <Utente, decimal>(); foreach (Utente utente in parti.Divisione.Keys) { divisione[utente] = Dividi(totale, utente, parti); } return(divisione); }
public override void ControllaParti(Parti parti, decimal totale) { foreach (var parte in parti.Divisione.Values) { if (parte % 1 != 0) { throw new ArgumentException("Le quote devono essere degli interi"); } } if (parti.Divisione.Values.Sum() == 0) { throw new ArgumentException("Almeno una quota deve essere diversa da 0"); } }
protected override decimal Dividi(decimal totale, Utente utente, Parti parti) { return((totale / parti.Divisione.Values.Sum()) * parti.Divisione[utente]); }
protected override decimal Dividi(decimal totale, Utente utente, Parti parti) { return(totale * ((decimal)parti.Divisione[utente] / 100)); }
public override void ControllaParti(Parti parti, decimal totale) { return; }
protected override decimal Dividi(decimal totale, Utente utente, Parti parti) { return(totale / parti.Divisione.Keys.Count); }
public abstract void ControllaParti(Parti parti, decimal totale);
protected abstract decimal Dividi(decimal totale, Utente utente, Parti parti);
protected override decimal Dividi(decimal totale, Utente utente, Parti parti) { return(parti.Divisione[utente]); }