< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.OzonWebhookViewModels.OzonClientFilterItem
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/OzonWebhookViewModels/OzonWebhookIndexViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 3
Coverable lines: 3
Total lines: 42
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
get_Id()100%210%
get_Name()100%210%
get_DecryptClientId()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/OzonWebhookViewModels/OzonWebhookIndexViewModel.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using OzonDomains.Models;
 4using Services.OzonWebhookServices.Monitoring;
 5
 6namespace OzonOrdersWeb.Areas.Studio2.ViewModels.OzonWebhookViewModels
 7{
 8    public class OzonWebhookIndexViewModel
 9    {
 10        /// <summary>Отфильтрованные уведомления (сначала новые).</summary>
 11        public List<OzonPushNotification> Notifications { get; set; } = new();
 12
 13        /// <summary>Уникальные типы уведомлений, присутствующие в БД — для select фильтра.</summary>
 14        public List<string> AvailableMessageTypes { get; set; } = new();
 15
 16        /// <summary>Список клиентов Ozon — для select фильтра по продавцу.</summary>
 17        public List<OzonClientFilterItem> Clients { get; set; } = new();
 18
 19        // ── Параметры фильтра (сохраняются для отображения в форме) ──────────
 20
 21        public string? FilterMessageType { get; set; }
 22        public int? FilterClientId { get; set; }
 23        public string? FilterProcessingStatus { get; set; }
 24        public string? FilterPostingNumber { get; set; }
 25        public DateTime? FilterFrom { get; set; }
 26        public DateTime? FilterTo { get; set; }
 27        public int Take { get; set; } = 200;
 28
 29        /// <summary>Доступность пуш-адресов по данным Ozon (последняя проверка джобом).</summary>
 30        public OzonWebhookAvailabilitySnapshot Availability { get; set; } = OzonWebhookAvailabilitySnapshot.Empty;
 31
 32        public int TotalShown => Notifications.Count;
 33    }
 34
 35    public class OzonClientFilterItem
 36    {
 037        public int Id { get; set; }
 038        public string Name { get; set; } = string.Empty;
 39        /// <summary>DecryptClientId — нужен для сопоставления с SellerId уведомления.</summary>
 040        public string? DecryptClientId { get; set; }
 41    }
 42}