Моя первоначальная реакция заключается в том, что у вас должен быть класс Customer, который содержит список достижений этого клиента.
Где вы запускаете добавление этих достижений, зависит от того, где живет логика, которая определяет, когда они достигли одной из целей.Собираетесь ли вы для своего школьного проекта настроить страницу, чтобы имитировать это?
Некоторые псевдо-курсы, с которых можно начать:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public List<Achievement> Achievements { get; set; }
public bool AddAchievement(Achievement newAchievement)
{
// Check to ensure customer doesn't already have the new achievement
// Persist to the database
// Add to local collection
Achievements.Add(newAchievement);
// Send email to customer
// Anything else
// Return
return true;
}
}
Предложение: в вашем перечислении должны быть указаны ProperCase иодин элемент в каждой строке.Хорошо, чтобы сделать их адекватно описательными тоже.
public enum AchievementType
{
CreatedSavingsAccount,
CreatedGoal,
CompletedGoal,
AccountBalance5000,
// [...]
}