Как сделать историю действий?
Пользователь может ложить деньги на свой счёт (класс Account) и я хотел бы сделать так, чтобы это сохранялось в историю по хронологии "Дата - Действие". И ещё хотел бы узнать, как сделать чтобы она автоматически чистилась, допустим, каждый месяц? Спасибо за внимание!
public class Account
{
public event EventHandler<AccountEventArgs> Notify;
private List<string> history;
public int Sum { get; private set; }
public Account(int sum)
{
Sum = sum;
history = new List<string>();
}
public void Put(int sum)
{
Sum += sum;
var args = new AccountEventArgs($"На счёт положено {sum}");
Notify?.Invoke(this, args);
history.Add(args.Message);
}
public void GetHistory()
{
foreach (var value in history)
{
Notify?.Invoke(this, new AccountEventArgs(value));
}
}
}
Класс аргументов события:
public class AccountEventArgs
{
public string Message { get; private set; }
public AccountEventArgs(string msg)
{
Message = msg;
}
}