< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.FidSupplierLink.FidSupplierLinkGridRow
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/FidSupplierLink/FidSupplierLinkIndexViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 8
Coverable lines: 8
Total lines: 38
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_Name()100%210%
get_LastImportedAtUtc()100%210%
From(...)100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/FidSupplierLink/FidSupplierLinkIndexViewModel.cs

#LineLine coverage
 1using Services.FidSupplierLinkServices;
 2
 3namespace OzonOrdersWeb.Areas.Studio2.ViewModels.FidSupplierLink;
 4
 5public sealed class FidSupplierLinkIndexViewModel
 6{
 7    public FidSupplierLinkOverview Overview { get; init; } = new([], 0, 0, 0, null, null);
 8    public IReadOnlyList<FidProviderOption> Providers { get; init; } = [];
 9    public bool CanEdit { get; init; }
 10
 11    /// <summary>Строки и счётчики для грида AG Grid (начальная загрузка и «Обновить из фида»).</summary>
 12    public FidSupplierLinkGridData ToGridData() => FidSupplierLinkGridData.From(Overview);
 13}
 14
 15public sealed record FidSupplierLinkGridData(
 16    IReadOnlyList<FidSupplierLinkGridRow> Rows, int LinkedCount, int UnlinkedCount, int OrphanCount, string? FeedError,
 17    IReadOnlyList<string>? NewSupplierNames = null)
 18{
 19    public static FidSupplierLinkGridData From(FidSupplierLinkOverview overview, IReadOnlyList<string>? newSupplierNames
 20        overview.Rows.Select(FidSupplierLinkGridRow.From).ToList(),
 21        overview.LinkedCount, overview.UnlinkedCount, overview.OrphanCount, overview.FeedError, newSupplierNames);
 22}
 23
 24public sealed record FidSupplierLinkGridWarehouse(string Name, long Rows, bool IsEnabled);
 25
 26/// <summary>Строка грида связей с фидом: состояние — строкой (для set-фильтра), склады — для справки.</summary>
 027public sealed record FidSupplierLinkGridRow(
 028    string Name, string? ProviderKey, string? Note, string State, long? Rows, long? FidRowsAtLink,
 029    DateTime? LastImportedAtUtc, IReadOnlyList<FidSupplierLinkGridWarehouse> Warehouses, bool IsAutoCartEnabled)
 30{
 031    public static FidSupplierLinkGridRow From(FidSupplierLinkRow row) => new(
 032        row.FidSupplierName, row.ProviderKey, row.Note, row.State.ToString(), row.Rows, row.FidRowsAtLink,
 033        row.LastImportedAtUtc,
 034        row.Warehouses.Select(w => new FidSupplierLinkGridWarehouse(w.Name, w.Rows, w.IsEnabled)).ToList(),
 035        row.IsAutoCartEnabled);
 36}
 37
 38public sealed record FidProviderOption(string ProviderKey, string DisplayName, string? LogoUrl, string? DirectionTag, st