У меня есть агрегат Person, который является корневым агрегатом
public class Person
{
private int id;
private readonly PersonID personID;
private readonly string email;
private readonly string firstName;
private readonly string lastName;
private readonly string username;
private readonly string password;
private readonly Address BillingAddress;
}
public class Currency : IValueObject<Currency>
{
private string name;
private string currencyCode;
private decimal rate;
private string displayLocale;
private string customFormatting;
private int displayOrder;
private bool primaryExchangeRateCurrency;
private bool primaryStoreCurrency;
//<summary>
//Gets or a value indicating whether the currency is primary exchange rate currency
//</summary>
public bool IsPrimaryExchangeRateCurrency
{
get
{
return primaryExchangeRateCurrency;
}
}
/// <summary>
/// Gets or a value indicating whether the currency is primary store currency
/// </summary>
public bool IsPrimaryStoreCurrency
{
get
{
return primaryStoreCurrency;
}
}
}
и класс Currency, на который следует ссылаться в классе Person.
Итак, теперь, если создан объект Person , нам также нужно связать его с валютой. Но среди всех созданных валют я хочу знать, какая основная валюта магазина используется по умолчанию. Я не хочу знать это через Person, потому что он содержит только одну валюту. Я хочу получить валюту PrimaryStoreCurrency из всех созданных валют людей.
Я хочу привязать валюту в раскрывающемся списке, чтобы пользователь мог выбрать свою валюту из раскрывающегося списка и зарегистрироваться в нашей системе.
Итак, я создаю валюту как отдельный агрегат?