< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.Controllers.Base.DeletedOrderIds
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Base/DeletedOrderIds.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 24
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Parse(...)100%44100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Base/DeletedOrderIds.cs

#LineLine coverage
 1namespace OzonOrdersWeb.Areas.Studio2.Controllers.Base;
 2
 3/// <summary>
 4/// Разбор списка удалённых из документа заказов (скрытое поле deletedOrders формы транзакции).
 5/// </summary>
 6public static class DeletedOrderIds
 7{
 8    /// <summary>
 9    /// Значение приходит из браузера, поэтому нечисловые элементы пропускаем:
 10    /// int.Parse на испорченном поле ронял весь запрос проведения.
 11    /// </summary>
 12    public static HashSet<int> Parse(string? deletedOrders)
 13    {
 514        if (string.IsNullOrWhiteSpace(deletedOrders))
 315            return new HashSet<int>();
 16
 217        return deletedOrders
 218            .Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
 519            .Select(x => int.TryParse(x, out var id) ? id : (int?)null)
 520            .Where(x => x.HasValue)
 321            .Select(x => x!.Value)
 222            .ToHashSet();
 23    }
 24}

Methods/Properties

Parse(System.String)