< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.EmailRouting.EmailInboxMessageRow
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/EmailRouting/EmailRoutingResultsViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 2
Coverable lines: 2
Total lines: 37
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
get_Id()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/EmailRouting/EmailRoutingResultsViewModel.cs

#LineLine coverage
 1using OzonDomains.Models;
 2
 3namespace OzonOrdersWeb.Areas.Studio2.ViewModels.EmailRouting;
 4
 5/// <summary>Строка грида «Последние письма» (без вложений и тела письма).</summary>
 06public sealed record EmailInboxMessageRow(
 07    long Id, DateTime? ReceivedAtUtc, DateTime CreatedAt, string? Sender, string? Subject, int AttachmentsCount, string 
 8
 9/// <summary>Каркас страниц импорта из почты: строки результатов грузят серверные гриды.</summary>
 10public class EmailRoutingResultsViewModel
 11{
 12    public List<EmailInboxMessageRow> MessageRows { get; set; } = new();
 13
 14    /// <summary>Сколько всего записей (для счётчика в шапке).</summary>
 15    public int TotalCount { get; set; }
 16
 17    // --- Справочники ---
 18    public List<EmailRoutingRule> AvailableRules { get; set; } = new();
 19
 20    // --- Папки Dropbox ---
 21    public Dictionary<string, Dictionary<string, string>> DropboxFolders { get; set; } = new();
 22    public string? DropboxBaseFolder { get; set; }
 23
 24    // --- IMAP-подключение ---
 25    public EmailImapConnectionViewModel? ImapConnection { get; set; }
 26    public EmailImapSettingsEditViewModel? ImapSettingsEdit { get; set; }
 27
 28    // --- Статистика ---
 29    public int CountUploaded { get; set; }
 30    public int CountOrdersImported { get; set; }
 31    public int CountRejected { get; set; }
 32    public int CountFailed { get; set; }
 33    public int CountDuplicate { get; set; }
 34
 35    // Сколько писем показываем в секции "Последние письма" (берем из ImapSettings.FetchLimit)
 36    public int LastMessagesLimit { get; set; } = 0;
 37}