namespace Deal.Modules.Kanban.Application.Models; /// /// Результат ручной переклассификации карточки — параметр ICardStore.ApplyReclassificationAsync. /// /// Id карточки (c_...). /// Новая колонка (доска либо inbox — страховку ContainerAccepts уже применил вызывающий). /// Флаг «новое». /// Признак найма/заказа после переклассификации. /// Тип подтверждён классификатором (иначе — маркерная гипотеза). /// Новый заголовок (очищенный, ≤140). /// Новый блок «О заявке» (≤2000). /// Новый стек (полная замена массива). /// Бюджет по исходнику; null — суммы нет (поля очищаются). /// Бюджет в целевой валюте; null — конверсии нет (поля очищаются). /// «Быстрый» контакт (значение основного контакта). /// Квалифицированные контакты (полная замена). /// Совпавшие критерии правил доски (для inbox — пусто). public sealed record CardReclassificationDto( string CardId, string Col, bool IsNew, bool IsVacancy, bool IsVacancyKnown, string Title, string Summary, IReadOnlyList Stack, CardBudgetDto? Budget, CardBudgetDto? Converted, string Contact, IReadOnlyList Contacts, IReadOnlyList MatchHits);