Files
Deal/src/core/Deal.Modules.Cards/Application/Models/Card.cs
T
Rustam Khalimov 79c931d88e Почистить комментарии от ссылок на ТЗ и обрывков
Удаление целых //-блоков со ссылками (Task/Ruling/этап/ТЗ/§/
дизайн-док/api-map/python/прототип) вместо построчного вырезания —
без обрывков фраз; снят боилерплейт <param>/<returns>; то же в
.proto.
2026-09-11 13:49:26 +03:00

94 lines
2.5 KiB
C#

using Deal.Modules.Cards.Application.Abstractions;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Агрегат карточки
/// </summary>
public sealed class Card :
ICard,
IContentCard,
IBudgetedCard,
IContactCard,
IAttributedCard,
ICommentableCard,
ILinkCard,
IFileCard,
ITzCard,
ITraceableCard,
IRemindableCard,
ILocatedCard
{
/// <inheritdoc />
public string Id { get; init; } = string.Empty;
/// <inheritdoc />
public string Title { get; init; } = string.Empty;
/// <inheritdoc />
public ISource Source { get; init; } = null!;
// ── Модуль «содержимое» ──
/// <inheritdoc />
public string Summary { get; init; } = string.Empty;
// ── Модуль «бюджет» ──
/// <inheritdoc />
public CardBudget? Budget { get; init; }
// ── Модуль «контакты» ──
/// <inheritdoc />
public IReadOnlyList<CardContact> Contacts { get; init; } = Array.Empty<CardContact>();
/// <inheritdoc />
public string ContactText { get; init; } = string.Empty;
// ── Модуль «атрибуты» ──
/// <inheritdoc />
public IReadOnlyList<CardAttribute> Attributes { get; init; } = Array.Empty<CardAttribute>();
// ── Модуль «комментарии» ──
/// <inheritdoc />
public IReadOnlyList<CardComment> Comments { get; init; } = Array.Empty<CardComment>();
// ── Модуль «ссылки» ──
/// <inheritdoc />
public IReadOnlyList<CardLink> Links { get; init; } = Array.Empty<CardLink>();
// ── Модуль «файлы» ──
/// <inheritdoc />
public IReadOnlyList<CardFile> Files { get; init; } = Array.Empty<CardFile>();
/// <inheritdoc />
public string TzText { get; init; } = string.Empty;
// ── Модуль «история движения» ──
/// <inheritdoc />
public IReadOnlyList<CardHistoryEntry> History { get; init; } = Array.Empty<CardHistoryEntry>();
// ── Модуль «напоминание» ──
/// <inheritdoc />
public CardReminder? Reminder { get; init; }
// ── Модуль «размещение» ──
/// <inheritdoc />
public string ContainerId { get; init; } = CardIds.Inbox;
/// <inheritdoc />
public string? PrevContainerId { get; init; }
/// <inheritdoc />
public bool IsNew { get; init; } = true;
}