< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Settlements_Views_Armtek_Invoice
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Settlements/Views/Armtek/Invoice.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 27
Coverable lines: 27
Total lines: 89
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 30
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%812280%
<ExecuteAsync()0%620%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Settlements/Views/Armtek/Invoice.cshtml

#LineLine coverage
 1@model ArmtekInvoicePageViewModel
 2@{
 03    ViewData["Title"] = $"Фактура Armtek {Model.Vbeln}";
 4}
 5
 6<link rel="stylesheet" href="~/css/settlements/armtek-settlements.css" asp-append-version="true" />
 7
 08@await Html.PartialAsync("~/Areas/Studio2/Views/Shared/_BsxGridShell.cshtml")
 9
 010<div class="container-fluid py-3 bsx-surface ae-invoice" data-invoice-id="@Model.InvoiceId">
 11    <section class="app-section-hero app-section-hero--import d-flex flex-wrap justify-content-between align-items-start
 12        <div>
 013            <h1><i class="fas fa-file-invoice me-2 text-primary"></i>Фактура № @Model.Vbeln</h1>
 014            <div class="subtitle">Клиент @Model.Kunnr · данные кабинета etp.armtek.ru</div>
 15            <div class="app-section-hero__quick-links">
 16                <a asp-area="Settlements" asp-controller="Armtek" asp-action="Index"><i class="fas fa-scale-balanced"></
 17                <a href="/Settlements/Armtek?tab=invoices"><i class="fas fa-file-invoice"></i>Все фактуры</a>
 018                @if (Model.HasInvoicePage)
 19                {
 20                    <a href="https://etp.armtek.ru/invoice/index/@Model.Kunnr/@Model.Vbeln" target="_blank" rel="noopene
 21                }
 22            </div>
 23        </div>
 24        <div class="d-flex flex-column align-items-end gap-2">
 025            @if (Model.InvoiceId != null)
 26            {
 27                <div class="bsx-dir-stats">
 028                    <span class="bsx-dir-stat">Количество <b>@Model.TotalQuantity.ToString("N0")</b></span>
 029                    <span class="bsx-dir-stat">Возвращено <b>@Model.ReturnedQuantity.ToString("N0")</b></span>
 030                    <span class="bsx-dir-stat">Сумма <b>@Model.TotalAmount.ToString("N2") @Model.Currency</b></span>
 031                    @if (Model.LoadedAtUtc is { } loaded)
 32                    {
 033                        <span class="bsx-dir-stat">Загружена (МСК) <b>@loaded.AddHours(3).ToString("dd.MM.yyyy HH:mm")</
 34                    }
 35                </div>
 36            }
 037            @if (Model.HasInvoicePage)
 38            {
 39                <form method="post" action="/Settlements/Armtek/Invoice/@Uri.EscapeDataString(Model.Kunnr)/@Uri.EscapeDa
 040                    @Html.AntiForgeryToken()
 41                    <button type="submit" class="btn btn-sm btn-outline-secondary">
 042                        <i class="fas fa-cloud-arrow-down me-1"></i>@(Model.InvoiceId == null ? "Загрузить фактуру" : "П
 43                    </button>
 44                </form>
 45            }
 46        </div>
 47    </section>
 48
 049    @if (TempData["Success"] is string ok)
 50    {
 051        <div class="alert alert-success py-2 mt-3">@ok</div>
 52    }
 053    @if (TempData["Error"] is string err)
 54    {
 055        <div class="alert alert-danger py-2 mt-3">@err</div>
 56    }
 57
 058    @if (Model.Header.Count > 0)
 59    {
 60        <div class="ae-head-card">
 61            <dl class="ae-head">
 062                @foreach (var row in Model.Header)
 63                {
 064                    <dt>@row.Label</dt>
 065                    <dd>@if (row.Code != null) {<span class="ae-code">@row.Code</span>}@row.Value</dd>
 66                }
 67            </dl>
 68        </div>
 69    }
 70
 071    @if (Model.InvoiceId != null)
 72    {
 073        @await Html.PartialAsync("~/Areas/Studio2/Views/Shared/_BsxDirectoryGrid.cshtml", new BsxDirectoryGridViewModel(
 074            "Артикул, код Армтек, бренд, наименование, заказ, ГТД…"))
 75    }
 076    else if (Model.HasInvoicePage)
 77    {
 78        <div class="ae-head-card ae-muted">Фактура ещё не загружена из кабинета — нажмите «Загрузить фактуру».</div>
 79    }
 80    else
 81    {
 82        <div class="ae-head-card ae-muted">У документа этого типа нет страницы фактуры в кабинете Armtek.</div>
 83    }
 84</div>
 85
 86@section Scripts {
 87    <script src="~/js/Studio2/Grid/bsx-directory.js" asp-append-version="true"></script>
 88    <script src="~/js/settlements/armtek-settlements.js" asp-append-version="true"></script>
 89}

Methods/Properties

ExecuteAsync()
<ExecuteAsync()