< Summary

Information
Class: Services.BitrixStockServices.BitrixOzonStockSyncDetailEntry
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/BitrixStockServices/IBitrixOzonLinkedStockApiSyncService.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 43
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_Article()100%210%
get_OfferId()100%210%
get_OzonClient()100%210%
get_WarehouseName()100%210%
get_WarehouseId()100%210%
get_BitrixStores()100%210%
get_PreviousOzonStock()100%210%
get_NewStock()100%210%
get_ProductId()100%210%
get_Success()100%210%
get_ErrorMessage()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/BitrixStockServices/IBitrixOzonLinkedStockApiSyncService.cs

#LineLine coverage
 1using OzonDomains.Models;
 2using OzonDomains.Models.BitrixModels;
 3
 4namespace Services.BitrixStockServices;
 5
 6public sealed class BitrixOzonStockSyncDetailEntry
 7{
 08    public string? Article { get; init; }
 09    public string OfferId { get; init; } = string.Empty;
 010    public string OzonClient { get; init; } = string.Empty;
 011    public string WarehouseName { get; init; } = string.Empty;
 012    public long WarehouseId { get; init; }
 013    public string? BitrixStores { get; init; }
 014    public int? PreviousOzonStock { get; init; }
 015    public int NewStock { get; init; }
 016    public long? ProductId { get; init; }
 017    public bool Success { get; init; }
 018    public string? ErrorMessage { get; init; }
 19}
 20
 21public sealed class BitrixOzonStockSyncSummary
 22{
 23    public int Attempted { get; set; }
 24    public int Succeeded { get; set; }
 25    public int Failed { get; set; }
 26    public int Skipped { get; set; }
 27    public bool LimitReached { get; set; }
 28    public List<BitrixOzonStockSyncDetailEntry> Entries { get; } = new();
 29
 30    public void AddEntry(BitrixOzonStockSyncDetailEntry entry) => Entries.Add(entry);
 31}
 32
 33public interface IBitrixOzonLinkedStockApiSyncService
 34{
 35    /// <summary>
 36    /// Отправляет на Ozon остатки по связкам (аналог кнопки refreshOzonMain).
 37    /// Клиенты — только из <paramref name="ozonClients"/> (уже с учётом SelectedClientId).
 38    /// </summary>
 39    Task<BitrixOzonStockSyncSummary> SyncPendingLinkedStocksAsync(
 40        IReadOnlyList<RemainingStockBitrix> items,
 41        IReadOnlyList<OzonClient> ozonClients,
 42        CancellationToken cancellationToken = default);
 43}