< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.OzonWebhookViewModels.OzonWebhookIndexViewModel
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/OzonWebhookViewModels/OzonWebhookIndexViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
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_Notifications()100%210%
get_AvailableMessageTypes()100%210%
get_Clients()100%210%
get_FilterMessageType()100%210%
get_FilterClientId()100%210%
get_FilterProcessingStatus()100%210%
get_FilterPostingNumber()100%210%
get_FilterFrom()100%210%
get_FilterTo()100%210%
get_Take()100%210%
get_Availability()100%210%
get_TotalShown()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>
 011        public List<OzonPushNotification> Notifications { get; set; } = new();
 12
 13        /// <summary>Уникальные типы уведомлений, присутствующие в БД — для select фильтра.</summary>
 014        public List<string> AvailableMessageTypes { get; set; } = new();
 15
 16        /// <summary>Список клиентов Ozon — для select фильтра по продавцу.</summary>
 017        public List<OzonClientFilterItem> Clients { get; set; } = new();
 18
 19        // ── Параметры фильтра (сохраняются для отображения в форме) ──────────
 20
 021        public string? FilterMessageType { get; set; }
 022        public int? FilterClientId { get; set; }
 023        public string? FilterProcessingStatus { get; set; }
 024        public string? FilterPostingNumber { get; set; }
 025        public DateTime? FilterFrom { get; set; }
 026        public DateTime? FilterTo { get; set; }
 027        public int Take { get; set; } = 200;
 28
 29        /// <summary>Доступность пуш-адресов по данным Ozon (последняя проверка джобом).</summary>
 030        public OzonWebhookAvailabilitySnapshot Availability { get; set; } = OzonWebhookAvailabilitySnapshot.Empty;
 31
 032        public int TotalShown => Notifications.Count;
 33    }
 34
 35    public class OzonClientFilterItem
 36    {
 37        public int Id { get; set; }
 38        public string Name { get; set; } = string.Empty;
 39        /// <summary>DecryptClientId — нужен для сопоставления с SellerId уведомления.</summary>
 40        public string? DecryptClientId { get; set; }
 41    }
 42}