< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_WarehouseMapping_Details
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/WarehouseMapping/Details.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 19
Coverable lines: 19
Total lines: 214
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 26
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%702260%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/WarehouseMapping/Details.cshtml

#LineLine coverage
 1@model OzonDomains.Models.WarehouseMapping
 2@{
 03    ViewData["Title"] = "Детали связи складов";
 04    Layout = "~/Views/Shared/_Layout.cshtml";
 5}
 6
 7<style>
 8    .card {
 9        border: none;
 10        box-shadow: 0 0.125rem 0.25rem rgba(var(--og-shadow-rgb), 0.075);
 11        border-radius: 0.5rem;
 12        margin-bottom: 1.5rem;
 13    }
 14
 15    .card-header {
 16        background-color: var(--og-surface-2);
 17        border-bottom: 1px solid var(--og-surface-3);
 18        padding: 1.25rem 1.5rem;
 19    }
 20
 21    .card-body {
 22        padding: 1.5rem;
 23    }
 24
 25    .detail-section {
 26        margin-bottom: 2rem;
 27    }
 28
 29    .detail-row {
 30        display: grid;
 31        grid-template-columns: 200px 1fr;
 32        gap: 1rem;
 33        padding: 0.75rem 0;
 34        border-bottom: 1px solid var(--og-surface-2);
 35    }
 36
 37    .detail-label {
 38        font-weight: 600;
 39        color: var(--og-text-2);
 40        font-size: 0.9rem;
 41    }
 42
 43    .detail-value {
 44        color: var(--og-text-strong);
 45        font-size: 0.9rem;
 46    }
 47
 48    .btn-secondary {
 49        background-color: var(--og-text-3);
 50        border-color: var(--og-text-3);
 51        padding: 0.5rem 1rem;
 52        font-size: 0.9rem;
 53    }
 54
 55    .back-link {
 56        color: var(--og-accent);
 57        text-decoration: none;
 58        font-size: 0.9rem;
 59    }
 60
 61    .back-link:hover {
 62        color: var(--og-accent);
 63        text-decoration: underline;
 64    }
 65
 66    .empty-state {
 67        color: var(--og-text-3);
 68        font-style: italic;
 69    }
 70
 71    .section-title {
 72        color: var(--og-text-2);
 73        font-size: 1rem;
 74        margin-bottom: 1rem;
 75        padding-bottom: 0.5rem;
 76        border-bottom: 1px solid var(--og-surface-3);
 77    }
 78</style>
 79
 080@await Html.PartialAsync("_BsxGridShell")
 81
 82<div class="container bsx-surface">
 83    <div class="row">
 84        <div class="col-12">
 85            <div class="card">
 86                <div class="card-header">
 87                    <h2 style="margin: 0; font-size: 1.5rem;">Детали связи складов</h2>
 88                </div>
 89                <div class="card-body">
 90                    <!-- Основная информация -->
 91                    <div class="detail-section">
 92                        <h5 class="section-title">
 93                            <i class="fas fa-info-circle me-2"></i>Основная информация
 94                        </h5>
 95
 96                        <div class="detail-container">
 97                            <div class="detail-row">
 98                                <div class="detail-label">ID связи</div>
 099                                <div class="detail-value">@Model.Id</div>
 100                            </div>
 101                            <div class="detail-row">
 102                                <div class="detail-label">Клиент</div>
 103                                <div class="detail-value">
 0104                                    @if (Model.OzonClient?.Name != null)
 105                                    {
 0106                                        @Model.OzonClient.Name
 107                                    }
 108                                    else
 109                                    {
 110                                        <span class="empty-state">Не указан</span>
 111                                    }
 112                                </div>
 113                            </div>
 114                            <div class="detail-row">
 115                                <div class="detail-label">Поставщик</div>
 0116                                <div class="detail-value">@(Model.Supplier?.Name ?? "Не указан (универсальная связь)")</
 117                            </div>
 118                            <div class="detail-row">
 119                                <div class="detail-label">Склад Bitrix</div>
 0120                                <div class="detail-value">@Model.BitrixWarehouseName</div>
 121                            </div>
 122                            <div class="detail-row">
 123                                <div class="detail-label">Транзитный склад 1С</div>
 0124                                <div class="detail-value">@(Model.TransitBitrixWarehouseName ?? "Не указан")</div>
 125                            </div>
 126                            <div class="detail-row">
 127                                <div class="detail-label">Склад Ozon</div>
 0128                                <div class="detail-value">@Model.OzonWarehouseName</div>
 129                            </div>
 130                            <div class="detail-row">
 131                                <div class="detail-label">ID склада Ozon</div>
 132                                <div class="detail-value">
 0133                                    @if (!string.IsNullOrWhiteSpace(Model.OzonWarehouseId))
 134                                    {
 0135                                        @Model.OzonWarehouseId
 136                                    }
 137                                    else
 138                                    {
 139                                        <span class="empty-state">Не указан</span>
 140                                    }
 141                                    <div class="text-muted small mt-1">Используется для обратной синхронизации остатков 
 142                                </div>
 143                            </div>
 144                            <div class="detail-row">
 145                                <div class="detail-label">Тип доставки</div>
 146                                <div class="detail-value">
 0147                                    @if (!string.IsNullOrEmpty(Model.DeliveryType))
 148                                    {
 0149                                        @Model.DeliveryType
 150                                    }
 151                                    else
 152                                    {
 153                                        <span class="empty-state">Не указан</span>
 154                                    }
 155                                </div>
 156                            </div>
 157                            <div class="detail-row" style="border-bottom: none;">
 158                                <div class="detail-label">Приоритет</div>
 159                                <div class="detail-value">
 0160                                    <span class="badge @(Model.Priority == 0 ? "bg-primary" : "bg-secondary")">@Model.Pr
 0161                                    <span class="text-muted small ms-2">@(Model.Priority == 0 ? "(наивысший)" : "")</spa
 162                                    <div class="text-muted small mt-1">Важен, только если у клиента несколько связей на 
 163                                </div>
 164                            </div>
 165                        </div>
 166                    </div>
 167
 168                    <!-- Дополнительная информация -->
 169                    <div class="detail-section">
 170                        <h5 class="section-title">
 171                            <i class="fas fa-cogs me-2"></i>Дополнительная информация
 172                        </h5>
 173
 174                        <div class="detail-container">
 175                            <div class="detail-row">
 176                                <div class="detail-label">ID клиента</div>
 177                                <div class="detail-value">
 0178                                    @if (Model.OzonClientId.HasValue)
 179                                    {
 0180                                        @Model.OzonClientId
 181                                    }
 182                                    else
 183                                    {
 184                                        <span class="empty-state">Не указан</span>
 185                                    }
 186                                </div>
 187                            </div>
 188                            <div class="detail-row" style="border-bottom: none;">
 189                                <div class="detail-label">Статус</div>
 190                                <div class="detail-value">
 191                                    <span class="badge bg-success">Активна</span>
 192                                </div>
 193                            </div>
 194                        </div>
 195                    </div>
 196
 197                    <!-- Кнопки действий -->
 198                    <div class="mt-4 pt-3 border-top">
 199                        <div class="d-flex gap-2">
 200                            <a asp-area="Studio2" asp-controller="WarehouseMapping" asp-action="Index"
 201                               class="btn btn-secondary">
 202                                <i class="fas fa-arrow-left me-1"></i>Назад к списку
 203                            </a>
 204                            <a asp-area="Studio2" asp-controller="WarehouseMapping" asp-action="Edit"
 0205                               asp-route-id="@Model.Id" class="btn btn-primary">
 206                                <i class="fas fa-edit me-1"></i>Редактировать
 207                            </a>
 208                        </div>
 209                    </div>
 210                </div>
 211            </div>
 212        </div>
 213    </div>
 214</div>

Methods/Properties

ExecuteAsync()