Цель состоит в том, чтобы показывать только последние обновления для каждого созданного банковского счета.Я не уверен, как это сделать, и пытался использовать метод clear, но это не работает.В настоящее время каждый раз, когда я добавляю чековый или сберегательный счет, когда я нажимаю кнопку отчета, он будет отображать счет несколько раз, если я снял деньги или внес депозит.Моя цель - показать только каждую существующую учетную запись, а текущий баланс не будет отображаться несколько раз, потому что я сделал несколько транзакций.Как видно из скриншотов ниже, я создаю Контрольный счет № 1 со стартовым балансом 300 долларов.Затем я делаю еще одну транзакцию, добавляя 1000 долларов к текущему счету и создавая сберегательный счет с начальным балансом 300 долларов.При повторном нажатии на отчет должен отображаться только текущий счет с балансом 1300 долларов и сберегательный счет с балансом 300 долларов.Вместо этого он показывает предыдущую транзакцию с новыми транзакциями.
Вот код, который отправляет данные в форму отчета.
private void reportButton4_Click(object sender, EventArgs e)
{
foreach (Account account in accounts)
{
List<Transaction> transactions =
account.GetAccountTransaction();
allTransactions.AddRange(transactions);
}
string reportString = accounts.ToString();
AccountReportForm destinyForm = new AccountReportForm();
destinyForm.ExternalData = allTransactions;
destinyForm.Show();
}
Вот код в форме отчета, который будет отображать результаты.
public partial class AccountReportForm : Form
{
public List<Transaction> ExternalData { get; set; }
public AccountReportForm()
{
InitializeComponent();
}
private void AccountReportForm_Load(object sender, EventArgs e)
{
dataLabel2.Text = "";
foreach (Transaction endMonth in ExternalData)
{
dataLabel2.Text += endMonth.Transactions + "\n";
}
}
При необходимости это метод, который вызывается при щелчке метода reportbutton.Этот метод находится в классе экономии и проверки.
public override List<Transaction> GetAccountTransaction()
{
var transactions = new List<Transaction>();
var endString = new Transaction();
string reportString = ("Checking account: " +
AccountID.ToString() + " has a balance of $" + Balance.ToString());
endString.Transactions = reportString;
transactions.Add(endString);
return transactions;
}