< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_Orders_DeleteOrderPage
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/Orders/DeleteOrderPage.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 3
Coverable lines: 3
Total lines: 429
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 4
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%2040%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/Orders/DeleteOrderPage.cshtml

#LineLine coverage
 1@using OzonOrdersWeb.ViewModels.OrderViewModels
 2@model DeleteOrderViewModel
 3
 4<link rel="stylesheet" href="~/css/table.css" />
 5<style>
 6    /*
 7        #shipmentTable td {
 8            padding: 5px 2px; /* вертикальный  горизонтальный
 9        }
 10
 11        #shipmentTable th {
 12            padding: 5px 2px; /* вертикальный  горизонтальный
 13        }
 14
 15        */
 16
 17    th {
 18        white-space: nowrap;
 19    }
 20
 21    .container .row .col-md-4 {
 22        flex: 0 0 auto;
 23        max-width: 33.3333%;
 24    }
 25
 26    .container .custom-width-large {
 27        width: 265px;
 28    }
 29
 30
 31    .custom-white {
 32        background-color: #fff;
 33    }
 34
 35    .custom-gray {
 36        background-color: #585858;
 37        color: #fff;
 38    }
 39
 40        .custom-gray:hover {
 41            color: #fff;
 42        }
 43
 44    .custom-red {
 45        background-color: #DC143C;
 46        color: #fff;
 47    }
 48
 49    .custom-red2 {
 50        background-color: #FF5A75; /* Светлее, чем #DC143C */
 51        color: #fff;
 52    }
 53
 54    .custom-red:hover {
 55        color: #fff;
 56    }
 57
 58    .custom-red2:hover {
 59        color: #fff;
 60    }
 61
 62    .product-popup {
 63        display: none;
 64        position: absolute;
 65        z-index: 1;
 66    }
 67
 68    .product-cell {
 69        font-size: 11px;
 70    }
 71
 72        .product-cell:hover .product-popup {
 73            display: block;
 74        }
 75
 76    #processingDateFilter,
 77    #shippingDateFilter {
 78        width: 70px;
 79    }
 80
 81    #deliveryPeriodInput,
 82    #timeLeftDayInput {
 83        width: 50px;
 84    }
 85
 86    #statusFilter,
 87    #appStatusFilterInput,
 88    #supplierFilter {
 89        width: 103px;
 90    }
 91
 92    #ozonClientFilterInput,
 93    #deliveryCityFilter {
 94        width: 125px;
 95    }
 96
 97    #currentPriceWithDiscountFilter,
 98    #quantityFilter,
 99    #priceFilter,
 100    #shipmentAmountFilter,
 101    #purchasePriceFilter,
 102    #costPriceFilter,
 103    #ozonCommissionFilter,
 104    #profitFilter,
 105    #discountFilter {
 106        width: 70px;
 107        max-width: 70px;
 108    }
 109
 110    a {
 111        text-decoration: none;
 112    }
 113
 114    .horizontal-line {
 115        border-top: 1px solid #ccc;
 116        margin: 20px 0;
 117    }
 118
 119    #infoWindow {
 120        position: fixed;
 121        display: none;
 122        border: 1px solid #ccc;
 123        background-color: #fff;
 124        padding: 10px;
 125        z-index: 9999;
 126    }
 127
 128    th.active {
 129        background-color: #f4f4f4; /* Цвет подсветки */
 130    }
 131
 132    .button-container {
 133        display: flex;
 134        gap: 10px; /* Расстояние между кнопками */
 135    }
 136
 137    .horizontal-inputs {
 138        display: flex;
 139        align-items: center;
 140    }
 141
 142        .horizontal-inputs > div {
 143            margin-right: 10px; /* Отступ между элементами */
 144        }
 145
 146    .vertical-align {
 147        display: flex;
 148        flex-direction: column;
 149        align-items: center;
 150        justify-content: space-between;
 151        height: 100%;
 152    }
 153
 154        .vertical-align > * {
 155            margin: 2px 0; /* Минимальный отступ между элементами */
 156        }
 157
 158    .checkbox-column {
 159        display: flex;
 160        justify-content: center;
 161        align-items: center;
 162        width: 10px;
 163    }
 164
 165    .nowrap {
 166        white-space: nowrap;
 167    }
 168
 169    .product-cell {
 170        /* Убедитесь, что ширина элемента установлена */
 171        width: 100%; /* Или установите конкретную ширину, если нужно */
 172        /* Обрезка текста и добавление многоточия */
 173        white-space: nowrap;
 174        overflow: hidden;
 175        text-overflow: ellipsis;
 176    }
 177
 178    /* Изначально скрываем кнопку */
 179    .clear-btn {
 180        display: none;
 181        position: absolute;
 182        left: 100%;
 183        transform: translateX(0) translateY(-50%); /* Прижимаем к основной кнопке и центрируем по вертикали */
 184        z-index: 10; /* Поверх других элементов */
 185        top: 50%; /* Центрируем по вертикали относительно главной кнопки */
 186        opacity: 0; /* Прозрачность кнопки */
 187        border: solid 1px;
 188    }
 189
 190        /* Показываем кнопку при наведении на основную или на саму кнопку очистки */
 191        .btn-container:hover .clear-btn,
 192        .clear-btn:hover {
 193            display: block;
 194            opacity: 1; /* Увеличиваем непрозрачность при наведении */
 195            border: solid 1px;
 196        }
 197
 198    /* Обёртка для кнопок */
 199    .btn-container {
 200        position: relative;
 201        display: inline-block;
 202    }
 203
 204    .bg-green-300 {
 205        background-color: #d4edda !important; /* Bootstrap's 'bg-success' color */
 206    }
 207
 208    .placeholder {
 209        min-height: 1em; /* Вы можете настроить минимальную высоту по вашему усмотрению */
 210    }
 211
 212</style>
 213
 214<h4>Заказы не найдены в Ozon</h4>
 215<hr />
 216
 217<table class="table table-striped" id="shipmentTable">
 218    <thead>
 219        <tr>
 220
 221            <th id="thShipmentNumber">
 222                    <small>№/Номер заказа &nbsp;</small>
 223                    <input id="shipmentNumberFilter" class="form-control form-control-sm" readonly />
 224            </th>
 225            <th>
 226
 227                    <div id="thOzonClient">
 228                        <small>Клиент &nbsp; </small>
 229                        <input id="ozonClientFilterInput" class="form-control form-control-sm" autocomplete="off" readon
 230                    </div>
 231
 232                    <div id="thDeliveryCity" class="text-muted" title="Город доставки">
 233                        <small>Город. &nbsp;</small>
 234                        <input id="deliveryCityFilter" class="form-control form-control-sm" readonly />
 235                    </div>
 236            </th>
 237            <th>
 238                    <div id="thProcessingDate" title="Принят в обработку">
 239                        <small>Принят.  &nbsp;</small>
 240                        <input id="processingDateFilter" class="form-control form-control-sm" type="date" readonly />
 241                    </div>
 242
 243                    <div id="thShippingDate" class="text-muted" title="Дата отгрузки">
 244                        <small>Дата отгр.  &nbsp;</small>
 245                        <input id="shippingDateFilter" class="form-control form-control-sm" type="date" readonly />
 246                    </div>
 247            </th>
 248
 249            <th style="width: 20px">
 250                    <div id="thDeliveryPeriod" title="Срок доставки">
 251                        <small>Срок.  &nbsp;</small>
 252                        <input id="deliveryPeriodInput" class="form-control form-control-sm" type="text" placeholder="1 
 253                    </div>
 254
 255                    <div id="thDeliveryPeriod" class="text-muted" title="Осталось времени">
 256                        <small>Остал.  &nbsp;</small>
 257                        <input id="timeLeftDayInput" class="form-control form-control-sm" type="number" placeholder="1 д
 258                    </div>
 259            </th>
 260            <th>
 261
 262                    <div id="thStatusOzon">
 263                        <small>Статус клиента  &nbsp;</small>
 264                        <input id="statusFilter" class="form-control form-control-sm statusFilter" autocomplete="off" re
 265                    </div>
 266
 267                    <div id="thStatus" class="text-muted">
 268                        <div id="thStatus" class="text-muted">
 269                            <small>Статус  &nbsp;</small>
 270                            <input id="statusFilter" class="form-control form-control-sm statusFilter" autocomplete="off
 271                        </div>
 272                    </div>
 273            </th>
 274
 275            <th>
 276                <div class="container">
 277                    <div class="row mb-0 justify-content-between">
 278                        <div id="thArticle" class="col-md-4 d-flex flex-column">
 279                            <small>Key &nbsp;</small>
 280                            <input id="articleFilter" class="form-control form-control-sm" readonly />
 281                        </div>
 282                        <div id="thManufacturer" class="col-md-4 d-flex flex-column">
 283                            <small>Производитель &nbsp;</small>
 284                            <input id="manufacturerFilter" class="form-control form-control-sm" readonly />
 285                        </div>
 286                        <div id="thArticle2" class="col-md-4 d-flex flex-column">
 287                            <small>Код товара  &nbsp;</small>
 288                            <input id="articleFilter2" class="form-control form-control-sm" readonly />
 289                        </div>
 290                    </div>
 291                    <div class="row mt-0">
 292                        <div id="thProductName" class="custom-width-large text-muted">
 293                            <small>Наименование товара &nbsp;</small>
 294                            <input id="productNameFilter" class="form-control form-control-sm" readonly />
 295                        </div>
 296                    </div>
 297                </div>
 298            </th>
 299
 300            <th>
 301
 302            </th>
 303
 304            <th>
 305                    <div id="thShipmentWarehouse">
 306                        <small>Склад отгрузки &nbsp;</small>
 307                        <input id="shipmentWarehouseFilter" class="form-control form-control-sm" autocomplete="off" read
 308                    </div>
 309            </th>
 310            <th>
 311                    <div id="thSupplier">
 312                        <small>Поставщик &nbsp;</small>
 313                        <input id="shipmentWarehouseFilter" class="form-control form-control-sm" id="universalSelect" au
 314                    </div>
 315
 316                    <div id="thOrderNumberToSupplierSort" class="text-muted" title="Номер заказа поставщику">
 317                        <small>Номер зак. п. &nbsp;</small>
 318                    <input type="text" class="form-control form-control-sm universalOrderNumberToSupplie" id="universalO
 319                    </div>
 320            </th>
 321            <th>
 322                    <div id="thCategory">
 323                        <small>Категория &nbsp;</small>
 324                        <input id="commercialCategoryFilter" class="form-control form-control-sm" readonly />
 325                    </div>
 326
 327                    <div id="thVolume" class="text-muted">
 328                        <small>Вес V &nbsp;</small>
 329                        <input id="volumetricWeightFilter" class="form-control form-control-sm" readonly />
 330                    </div>
 331            </th>
 332            <th>
 333                    <div id="thPurchasePrice" title="Цена сайта">
 334                        <small>Цена с. &nbsp;</small>
 335                        <input id="currentPriceWithDiscountFilter" class="form-control form-control-sm" readonly />
 336                    </div>
 337
 338                    <div id="thQuantity" class="text-muted" title="Количество">
 339                        <small>Кол. &nbsp;</small>
 340                        <input id="quantityFilter" class="form-control form-control-sm" readonly />
 341                    </div>
 342            </th>
 343            <th>
 344                    <div id="thPrice">
 345                        <small>Цена &nbsp;</small>
 346                        <input id="priceFilter" class="form-control form-control-sm" readonly />
 347                    </div>
 348
 349                    <div id="thShipmentAmount" class="text-muted" title="Сумма отправления">
 350                        <small>Сумма о. &nbsp;</small>
 351                        <input id="shipmentAmountFilter" class="form-control form-control-sm" readonly />
 352                    </div>
 353            </th>
 354
 355            <th>
 356                    <div id="thCurrentPrice" title="Цена закупки">
 357                        <small>Цена заку. &nbsp;</small>
 358                        <input id="purchasePriceFilter" class="form-control form-control-sm" readonly />
 359                    </div>
 360
 361                    <div id="thCostPriceсе" class="text-muted" title="Себестоимость">
 362                        <small>Себест. &nbsp;</small>
 363                        <input id="costPriceFilter" class="form-control form-control-sm" readonly />
 364                    </div>
 365            </th>
 366            <th id="thOzonCommission" title="Комиссия ОЗОН">
 367                    <div style="display: flex; flex-direction: column; align-items: center; justify-content: center;">
 368                        <div>
 369                            <small>Комис. &nbsp;</small>
 370                        </div>
 371                        <div style="text-align: center; font-size: 10px;" class="text-muted">
 372                            <div><small>min</small></div>
 373                            <div><small>max</small></div>
 374                        </div>
 375                    </div>
 376                    <input id="ozonCommissionFilter" class="form-control form-control-sm" readonly />
 377            </th>
 378            <th id="thProfit" title="Прибыль">
 379                    <div style="display: flex; flex-direction: column; align-items: center; justify-content: center;">
 380                        <div>
 381                            <small>Приб. &nbsp;</small>
 382                        </div>
 383                        <div style="text-align: center; font-size: 10px;" class="text-muted">
 384                            <div><small>min</small></div>
 385                            <div><small>max</small></div>
 386                        </div>
 387                    </div>
 388                    <input id="profitFilter" class="form-control form-control-sm" readonly />
 389            </th>
 390
 391            <th id="thDiscount" title="Наценка %">
 392                    <div style="display: flex; flex-direction: column; align-items: center; justify-content: center;">
 393                        <div>
 394                            <small>Нацен.% &nbsp;</small>
 395                        </div>
 396                        <div style="text-align: center; font-size: 10px;" class="text-muted">
 397                            <div><small>min</small></div>
 398                            <div><small>max</small></div>
 399                        </div>
 400                    </div>
 401                    <input id="discountFilter" class="form-control form-control-sm" readonly />
 402            </th>
 403        </tr>
 404    </thead>
 405
 406    <tbody>
 0407            @foreach(var order in Model.OrdersToDelete)
 408            {
 0409                @await Html.PartialAsync("_OrderRowNoCheckbox", order)
 410            }
 411     </tbody>
 412</table>
 413<br />
 414
 415<div class="button-container">
 416    <a id="deleteOrdersLink" href="#" class="btn btn-danger">Удалить</a>
 417
 418    <a href="/Orders/IndexV2" class="btn btn-primary">Продолжить</a>
 419</div>
 420
 421<script>
 422    document.getElementById('deleteOrdersLink').addEventListener('click', function (e) {
 423        e.preventDefault();
 0424        var ids = @Html.Raw(Json.Serialize(Model.IdsToDelete));
 425        var page = 1;
 426        var url = '/Orders/MultiplayDeleteOrdersV2?ids=' + ids.join(',') + '&page=' + page;
 427        window.location.href = url;
 428    });
 429</script>

Methods/Properties

ExecuteAsync()