Разбить Deal.Modules.Cards по назначению

Application разделён на Abstractions (25 интерфейсов), Models (13
доменных типов) и Dtos (CardMoveResultDto); namespace приведён к путям,
using потребителей мигрированы.
This commit is contained in:
Rustam Khalimov
2026-09-11 13:16:57 +03:00
parent 8a7d7f2a7a
commit 31c434ed93
65 changed files with 231 additions and 66 deletions
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «ИИ»: карточка создана/сгенерирована ИИ (агент, генератор, разборщик).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «внешний API»: карточка пришла из интеграции по API.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «атрибуты»: настраиваемые пользователем характеристики (стек, грейд, локация, сроки…).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «бюджет/цена»: деньги заявки (валюта исходная + сконвертированная).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Ядро карточки: единственное, что есть у любой карточки во всех дашбордах.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Единый механизм перехода карточки между контейнерами.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «комментарии» карточки.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Составной источник: цепочка «где взято → как обработано/доставлено».
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «контакты заказчика».
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Контейнер карточки: колонка дашборда, стадия «Выбранных» или служебная зона.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Политика контейнера: правила размещения карточек и жизненного цикла зоны.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Правила попадания карточки в контейнер (набор опциональных фильтров).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «содержимое»: структурированный блок «О заявке» карточки.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «файлы» карточки (медиа/документы; объекты — в S3/MinIO).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «файл» (карточка создана из загруженного/импортированного файла).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «ссылки» карточки.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «создано вручную/локально» (карточка без внешнего первоисточника).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «размещение»: контейнер карточки и флаги состояния на доске.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «напоминание»: отложенная карточка (контейнер hold).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «импорт данных»: карточка создана из строки/колонки таблицы (csv/sheet/БД).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник карточки: всё, откуда карточка может прийти.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «Telegram»: канал/группа/чат/форум, конкретное сообщение.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «история движения» карточки (создание и смены контейнера).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Модуль «ТЗ»: текст технического задания/заметки-задания по карточке.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Dtos;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Abstractions;
/// <summary>
/// Источник «ссылка на сайт/объявление» (карточка создана из веб-страницы).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Models;
namespace Deal.Modules.Cards.Application.Dtos;
/// <summary>
/// Результат перехода карточки единым механизмом <see cref="ICardMover"/>.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Агрегат карточки: ядро + опциональные модули (единая сущность всех дашбордов).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Настраиваемый атрибут карточки: имя, значение и (опционально) единица измерения.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Бюджет/цена карточки в исходной валюте и (опционально) сконвертированный в целевую.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Комментарий карточки.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Контакт заказчика: квалифицированная запись (тип + значение).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Метаданные прикреплённого файла карточки (объект хранится в S3/MinIO или локальной папке).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Запись истории движения карточки.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Реестр коротких id модуля Cards и служебных контейнеров (единый владелец карточки).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Прикреплённая ссылка карточки.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Напоминание об «Отложено» (карточка в контейнере hold).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Каталог контейнеров по умолчанию пространства «Выбранные» (стадии) и служебных зон.
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Описание контейнера по умолчанию (запись каталога CardsDefaultContainers).
@@ -1,4 +1,7 @@
namespace Deal.Modules.Cards.Application;
using Deal.Modules.Cards.Application.Abstractions;
using Deal.Modules.Cards.Application.Dtos;
namespace Deal.Modules.Cards.Application.Models;
/// <summary>
/// Контекст перехода карточки: кто инициировал и что делать с обучением.