< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_ApiSupplierSettings__ApiSettingsGrid
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/ApiSupplierSettings/_ApiSettingsGrid.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 47
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 10
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%4260%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/ApiSupplierSettings/_ApiSettingsGrid.cshtml

#LineLine coverage
 1@using OzonOrdersWeb.Areas.Studio2.ViewModels.ApiSupplierSettings
 2@using OzonOrdersWeb.Areas.Studio2.ViewModels.Grid
 3@using OzonOrdersWeb.WebServices.ApiSettingsGrid
 4@model ApiSupplierSettingsViewModelBase
 5@*
 6    Общие настройки API-поставщика на AG Grid: «параметр — значение» и склады поставщика.
 7    Заменяет прежние поля валюты/проценки и список складов (форма на разметке); значения уходят обычным POST формы стран
 8    (скрытые поля подставляет api-settings-grid.js). Подсказки — ViewData["CurrencyHint"|"QuotationHint"].
 9*@
 10@{
 011    var errors = ViewContext.ModelState
 012        .Where(x => x.Value?.Errors.Count > 0 && !string.IsNullOrEmpty(x.Key))
 013        .ToDictionary(x => x.Key, x => x.Value!.Errors[0].ErrorMessage);
 014    var settingRows = ApiSupplierSettingsGridRows.Build(Model, ViewData["CurrencyHint"] as string, ViewData["QuotationHi
 015    var warehouseRows = ApiSupplierSettingsGridRows.BuildWarehouses(Model);
 16}
 017@await Html.PartialAsync("_BsxDirectoryGrid", new BsxDirectoryGridViewModel("apsSettings", "Параметры поставщика", "fa-s
 18<div class="aps-wh-head">
 19    <div>
 20        <h2><i class="fas fa-warehouse me-2" aria-hidden="true"></i>Склады поставщика</h2>
 21        <p>Отметьте склады Studio2, для заказов которых поставщик доступен. Если не отмечен ни один — ограничения нет, п
 22    </div>
 23    <div class="aps-wh-actions" aria-live="polite">
 24        <span class="bsx-dir-stat">Выбрано <b id="apsWhSelected">0</b></span>
 025        <span class="bsx-dir-stat">Всего <b>@warehouseRows.Count</b></span>
 26        <button type="button" class="btn btn-sm btn-outline-secondary" data-aps-wh-action="all">Выбрать все</button>
 27        <button type="button" class="btn btn-sm btn-outline-secondary" data-aps-wh-action="none">Снять все</button>
 28    </div>
 29</div>
 030@await Html.PartialAsync("_BsxDirectoryGrid", new BsxDirectoryGridViewModel("apsWh", "Склады", "fa-warehouse", "Поиск ск
 031    warehouseRows.Count == 0 ? "Склады не заведены в справочнике Studio2." : null))
 32<script src="~/js/Studio2/Grid/bsx-directory.js" asp-append-version="true"></script>
 33<script src="~/js/Studio2/ApiSupplierSettings/api-settings-grid.js" asp-append-version="true"></script>
 34<script>
 35    (function () {
 36        var form = document.currentScript.closest('form');
 37        // AG Grid подключается в _Layout после тела страницы — гриды создаём, когда всё загружено.
 38        document.addEventListener('DOMContentLoaded', function () {
 39            ApsSettingsGrid.mount({
 40                form: form,
 041                decimalSeparator: @Json.Serialize(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDec
 042                settings: @Json.Serialize(settingRows),
 043                warehouses: @Json.Serialize(warehouseRows)
 44            });
 45        });
 46    })();
 47</script>

Methods/Properties

ExecuteAsync()