/
afanasevn
/
PdfEncoder
Обзор
Документация
Войти
/
afanasevn
/
PdfEncoder
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/PdfEncoder.Domain/Constants/DocumentTypes.cs
48 строк
1 KB
IBS\NAfanasev
Remote LLM base functional
01 июл 2026, 15:54
01 июл 2026, 15:54
05aa80e
Код
Авторство
О чём код?
namespace PdfEncoder.Domain.Constants; /// <summary> /// Допустимые типы документов MVP (расширяются post-MVP через config). /// </summary> public static class DocumentTypes { public const string Auto = "auto"; public const string Invoice = "invoice"; public const string Act = "act"; public const string Contract = "contract"; public const string Passport = "passport"; public const string BankStatement = "bank_statement"; public const string Unknown = "unknown"; private static readonly HashSet<string> KnownTypes = [ Invoice, Act, Contract, Passport, BankStatement, Unknown ]; /// <summary> /// Нормализует тип документа; неизвестные значения => <see cref="Unknown"/>. /// </summary> public static string Normalize(string? documentType) { if (string.IsNullOrWhiteSpace(documentType)) { return Unknown; } var normalized = documentType.Trim().ToLowerInvariant(); return KnownTypes.Contains(normalized) ? normalized : Unknown; } /// <summary> /// Проверяет, что тип не <see cref="Auto"/>. /// </summary> public static bool IsExplicit(string? documentType) { return !string.IsNullOrWhiteSpace(documentType) && !string.Equals(documentType.Trim(), Auto, StringComparison.OrdinalIgnoreCase); } }