< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_ArmtekCart_Index
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/ArmtekCart/Index.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 32
Coverable lines: 32
Total lines: 49
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 62
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ExecuteAsync()0%8190900%
GetTestResult()0%272160%
<ExecuteAsync()100%210%
<ExecuteAsync()100%210%
<ExecuteAsync()0%2040%
<ExecuteAsync()100%210%
<ExecuteAsync()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/ArmtekCart/Index.cshtml

#LineLine coverage
 1@using OzonDomains.Models
 2@using System.Text.Json
 3@{
 04    var provider = (string)ViewBag.Provider;
 05    var tab = (string)ViewBag.Tab;
 06    var items = (IReadOnlyList<ArmtekCartItem>)ViewBag.CartItems;
 07    var orders = (IReadOnlyList<ArmtekOrder>)ViewBag.Orders;
 08    var title = provider == "ArmtekBy" ? "Армтек BY" : "Армтек RU";
 09    ViewData["Title"] = $"Корзина {title}";
 010    Layout = "~/Views/Shared/_Layout.cshtml";
 11
 12    string GetTestResult(ArmtekCartItem item)
 13    {
 014        if (string.IsNullOrWhiteSpace(item.TestResultJson)) return string.Empty;
 15        try
 16        {
 017            using var response = JsonDocument.Parse(item.TestResultJson);
 018            var apiItem = response.RootElement.GetProperty("Items").EnumerateArray().FirstOrDefault(x =>
 019                string.Equals(x.GetProperty("Pin").GetString(), item.Pin, StringComparison.OrdinalIgnoreCase) &&
 020                string.Equals(x.GetProperty("Brand").GetString(), item.Brand, StringComparison.OrdinalIgnoreCase));
 021            if (apiItem.ValueKind == JsonValueKind.Undefined || !apiItem.TryGetProperty("Result", out var allocations)) 
 022            var values = allocations.EnumerateArray().Select(x =>
 023            {
 024                var vbeln = x.TryGetProperty("Vbeln", out var vbelnValue) ? vbelnValue.GetString() : "—";
 025                var quantity = x.TryGetProperty("Quantity", out var quantityValue) ? quantityValue.GetString() : "—";
 026                var price = x.TryGetProperty("Price", out var priceValue) ? priceValue.GetString() : "—";
 027                var currency = x.TryGetProperty("Currency", out var currencyValue) ? currencyValue.GetString() : string.
 028                return string.Join(" ", vbeln + ":", quantity, "×", price, currency);
 029            });
 030            return string.Join("; ", values);
 31        }
 032        catch (JsonException) { return "Ответ проверки сохранён"; }
 033    }
 34}
 35<link rel="stylesheet" href="~/css/Studio2/SupplierCart/supplier-cart-index.css" asp-append-version="true" />
 36<div class="container py-3 sc-page">
 037    <section class="sc-hero"><h1><img class="sc-provider-logo" src="~/images/armtek-logo.svg" alt=""/> @title</h1><div c
 38        <div class="sc-quick-links"><a asp-controller="SupplierCart" asp-action="Index"><i class="fas fa-cart-shopping">
 039    @if (TempData["ArmtekCartResult"] is string result) { <div class="alert alert-info">@result</div> }
 040    <ul class="nav nav-pills sc-avd-tabs mb-3"><li class="nav-item"><a class="nav-link @(tab == "cart" ? "active" : "")"
 041    @if (tab == "cart")
 42    {
 043        <div class="sc-card"><div class="sc-basket-actions"><div><strong>Оформление Armtek</strong><span>Сначала безопас
 044        @if (items.Count == 0) { <div class="sc-empty py-4">Корзина пуста.</div> } else { <div class="sc-table-wrap"><ta
 45    }
 46    else
 047    { <div class="sc-card"><div class="sc-table-wrap"><table class="table table-hover align-middle sc-table"><thead><tr>
 48</div>
 049<div class="modal fade" id="armtekCheckoutModal" tabindex="-1" aria-labelledby="armtekCheckoutTitle" aria-hidden="true">