public decimal TotalGoldBalance() { DailyExpenses expenses = this.EarningsAndExpenses[1] as DailyExpenses; DailyEarnings earnings = this.EarningsAndExpenses[0] as DailyEarnings; if (expenses == null || earnings == null) { return(0m); } return(earnings.TotalMoneyEarned() - expenses.TotalMoneySpent()); }
//overrides and operators public override string ToString() { StringBuilder sb = new StringBuilder(); DailyExpenses expenses = this.EarningsAndExpenses[1] as DailyExpenses; DailyEarnings earnings = this.EarningsAndExpenses[0] as DailyEarnings; if (expenses == null || earnings == null) { return(""); } sb.Append("Total gold balance for "); sb.Append(this.Date); sb.Append(":\n"); if (earnings.SoldItems.Count <= 0 && expenses.BoughtItems.Count <= 0) { sb.Append("No data"); } else { if (earnings.SoldItems.Count > 0) { sb.Append("- "); sb.Append("Earnings: "); sb.Append(earnings.TotalMoneyEarned().ToString("#,##0")); sb.Append("gp\n"); } if (expenses.BoughtItems.Count > 0) { sb.Append("- "); sb.Append("Expenses: "); sb.Append(expenses.TotalMoneySpent().ToString("#,##0")); sb.Append("gp\n"); } sb.Append("Total balance: "); sb.Append(this.TotalGoldBalance().ToString("#,##0")); sb.Append("gp\n"); } return(sb.ToString()); }