using foodmarket.Domain.Catalog; using foodmarket.Domain.Common; namespace foodmarket.Domain.Organizations; public class Organization : Entity { public string Name { get; set; } = null!; public string CountryCode { get; set; } = "KZ"; public string? Bin { get; set; } public string? Address { get; set; } public string? Phone { get; set; } public string? Email { get; set; } public bool IsActive { get; set; } = true; /// Персональный API-токен MoySklad. Храним per-organization чтобы /// пользователю не нужно было вводить его каждый раз при импорте. public string? MoySkladToken { get; set; } /// Валюта организации по умолчанию. Если MultiCurrencyEnabled=false, /// в UI выбор валюты скрыт — всё в этой валюте. public Guid? DefaultCurrencyId { get; set; } public Currency? DefaultCurrency { get; set; } /// Разрешены ли продажи/закупки в нескольких валютах. По умолчанию /// false — тогда UI не предлагает выбор валюты, всё в DefaultCurrency. public bool MultiCurrencyEnabled { get; set; } /// Показывать ли пользователю галку «В том числе НДС» на форме товара. /// Если false (по умолчанию) — магазин работает с одной ставкой НДС и галка /// скрыта, все товары считаются с НДС. Если true — можно для отдельных товаров /// (хлеб, медикаменты) снимать галку. public bool ShowVatEnabledOnProduct { get; set; } /// Показывать ли на форме товара и в фильтрах галку «Услуга». /// Большинство магазинов продают только физические товары — флаг выключен /// по умолчанию, чтобы не захламлять UI. public bool ShowServiceOnProduct { get; set; } /// Показывать ли на форме товара и в фильтрах галку «Маркируемый». /// Маркировка требуется только в нишевых категориях (алкоголь, лекарства, /// табак) — по умолчанию выключено. public bool ShowMarkedOnProduct { get; set; } /// Показывать ли поля «Минимальный остаток» / «Максимальный остаток» /// на карточке товара и одноимённую колонку в списке. Нужно в основном /// торговым сетям со свободным местом на полке — по умолчанию выключено. public bool ShowMinMaxStock { get; set; } }