< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_AcceptedToWarehouseTransaction_AcceptedToWarehouseTransaction
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/AcceptedToWarehouseTransaction/AcceptedToWarehouseTransaction.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 184
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%600240%
<ExecuteAsync()0%4260%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/AcceptedToWarehouseTransaction/AcceptedToWarehouseTransaction.cshtml

#LineLine coverage
 1@using OzonOrdersWeb.ViewModels.OrderViewModels
 2
 3@model MultiplayEditOrderViewModel
 4
 5@{
 06    var viewModel = Model!;
 07    var orders = Model?.Orders ?? new List<OzonDomains.Models.Order>();
 08    var ordersCount = Model?.Orders?.Count ?? 0;
 09    ViewData["Title"] = $"Принят на склад ({ordersCount} заказов)";
 010    ViewData["RequirePurchasePrice"] = false;
 011    Layout = "~/Views/Shared/_Layout.cshtml";
 12}
 13
 14<partial name="~/Areas/Studio2/Views/Partials/Transaction/_TransactionPageStyles.cshtml"/>
 15
 16<script src="~/js/Studio2/Orders/CreateOrderToSupplierTransactionV2/generateInfoRow.js"></script>
 17
 18<div id="loadingSpinner" class="spinner-overlay" style="display: none; background-color: inherit;">
 19    <div class="spinner-border text-primary" role="status">
 20        <span class="sr-only"></span>
 21    </div>
 22</div>
 23
 24<div id="messageContainer" class="position-fixed top-0 end-0 p-3" style="z-index: 1050;">
 25    <div id="flashMessage" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
 26        <div class="toast-header">
 27            <strong class="me-auto">Сообщение</strong>
 28            <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
 29        </div>
 30        <div class="toast-body">
 31            <span id="flashMessageText"></span>
 32        </div>
 33    </div>
 34</div>
 35
 36<div class="modal fade" id="cartModal" tabindex="-1" aria-labelledby="cartModalLabel" aria-hidden="true">
 37    <div class="modal-dialog modal-lg modal-dialog-scrollable">
 38        <div class="modal-content rounded-3 shadow">
 39            <div class="modal-header">
 40                <h5 class="modal-title" id="cartModalLabel">Корзина</h5>
 41                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
 42            </div>
 43            <div class="modal-body" id="cartModalBody">
 44                <!-- Контент корзины будет вставлен сюда -->
 45            </div>
 46            <div class="modal-footer">
 47                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Закрыть</button>
 48            </div>
 49        </div>
 50    </div>
 51</div>
 52
 053@if (orders.Count > 0)
 54{
 55    <form asp-area="Studio2" asp-controller="AcceptedToWarehouseTransaction" asp-action="AcceptedToWarehouseTransaction"
 56          id="createOrderForm">
 57        <div asp-validation-summary="ModelOnly" class="text-danger"></div>
 58        <input type="hidden" asp-for="RedirectPage"/>
 59        <input type="hidden" asp-for="TrackingKey"/>
 60
 061        @await Html.PartialAsync("_TransactionTable", Model)
 62
 63        <div class="tx-page-footer">
 64            <div class="input-group">
 65                <span class="input-group-btn">
 66                    <input type="submit" value="Сохранить" class="btn btn-primary"
 67                           data-bs-target="#staticBackdrop"/>
 68                </span>
 69            </div>
 70        </div>
 71    </form>
 72}
 73else
 74{
 075    @await Html.PartialAsync("_TransactionErrorPanel")
 76}
 77
 78<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
 79     aria-labelledby="staticBackdropLabel" aria-hidden="true">
 80    <div class="modal-dialog">
 81        <div class="modal-content orders-modal orders-modal--primary">
 82            <div class="modal-header">
 83                <h5 class="modal-title" id="staticBackdropLabel">Создание журнала документов</h5>
 84                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
 85            </div>
 86            <div class="modal-body">
 87                <div class="d-flex justify-content-center">
 88                    <div class="spinner-border text-primary" role="status">
 89                        <span class="sr-only">.</span>
 90                    </div>
 91                </div>
 92            </div>
 93        </div>
 94    </div>
 95</div>
 96
 97<div>
 98    <a asp-action="Index" class="tx-page-back-link">← К списку заказов</a>
 99</div>
 100
 101<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 102    <div class="modal-dialog" role="document">
 103        <div class="modal-content orders-modal orders-modal--warning">
 104            <div class="modal-header">
 105                <h4 class="modal-title" id="myModalLabel">Поля не заполнены</h4>
 106            </div>
 107            <div class="modal-body">
 108                Одно или несколько полей не заполнены. Пожалуйста, заполните все поля перед отправкой формы.
 109            </div>
 110        </div>
 111    </div>
 112</div>
 113
 114<!-- Модальное окно для отображения увеличенного изображения -->
 115<div class="modal fade" id="imageModal" tabindex="-1" aria-labelledby="imageModalLabel" aria-hidden="true">
 116    <div class="modal-dialog modal-dialog-centered">
 117        <div class="modal-content">
 118            <div class="modal-header">
 119                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
 120            </div>
 121            <div class="modal-body text-center">
 122                <img id="modalImage" src="" alt="Full Image" class="img-fluid rounded border">
 123            </div>
 124        </div>
 125    </div>
 126</div>
 127
 128<input type="hidden" id="deletedOrders" name="deletedOrders"/>
 129@* Скрипты таблицы нужны только когда она отрисована; на панели ошибки они падали на пустом DOM *@
 0130@if (orders.Count > 0)
 131{
 0132@await Html.PartialAsync("_TransactionScript", Model)
 133<script>
 134    $('#createOrderForm').on('submit', function (e) {
 135        e.preventDefault();
 136
 137        var fieldsFilled = true;
 138        $('.supplier-select').each(function () {
 139            var orderId = this.id.split('_')[1];
 140            var statusSelect = document.getElementById('AppStatusId_' + orderId);
 141
 142            var selectedStatusText = statusSelect?.options[statusSelect.selectedIndex]?.text?.trim() ?? '';
 143            if (selectedStatusText !== "Отменен") {
 144                if ($(this).val() === '' || $(this).val() === '1') {
 145                    fieldsFilled = false;
 146                    $(this).addClass('is-invalid');
 147                } else {
 148                    $(this).removeClass('is-invalid');
 149                }
 150            }
 151        });
 152
 153        if (!fieldsFilled) {
 154            $('#myModal').modal('show');
 155            return;
 156        }
 157
 158        if (!validateOzonCancelSelections()) {
 159            return;
 160        }
 161
 162        $('#staticBackdrop').modal('show');
 163        var formData = $(this).serialize();
 0164        formData += '&userName=' + '@(User.Identity?.Name ?? "")' + '&comment=' + encodeURIComponent(txGetCommentFieldVa
 165
 166        $.ajax({
 167            url: $(this).attr('action'),
 168            type: 'POST',
 169            data: formData,
 170            success: function (result) {
 171                if (result && result.redirectTo) {
 172                    window.location.href = result.redirectTo;
 173                } else {
 174                    window.location.reload();
 175                }
 176            },
 177            error: function (xhr, status, error) {
 178                $('#staticBackdrop').modal('hide');
 179                showFriendlyRequestError(xhr, status, error, 'Ошибка при отправке формы');
 180            }
 181        });
 182    });
 183</script>
 184}

Methods/Properties

ExecuteAsync()
<ExecuteAsync()