Как сделать историю действий?

Пользователь может ложить деньги на свой счёт (класс 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;
    }
}

Ответы (0 шт):