< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_ExcludedArticles_Create
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/ExcludedArticles/Create.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 4
Coverable lines: 4
Total lines: 196
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%110100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/ExcludedArticles/Create.cshtml

#LineLine coverage
 1@model OzonOrdersWeb.Areas.Studio2.ViewModels.ExcludedArticles.ExcludedArticleViewModel
 2
 3@{
 04    ViewData["Title"] = "Добавить артикул";
 05    Layout = "~/Views/Shared/_Layout.cshtml";
 06    var clients = ViewBag.OzonClients as List<OzonDomains.Models.OzonClient> ?? new List<OzonDomains.Models.OzonClient>(
 7}
 8
 9<style>
 10    .card {
 11        border: none;
 12        box-shadow: 0 0.125rem 0.25rem rgba(var(--og-shadow-rgb), 0.075);
 13        border-radius: 0.5rem;
 14        margin-bottom: 1.5rem;
 15    }
 16
 17    .card-header {
 18        background-color: var(--og-surface-2);
 19        border-bottom: 1px solid var(--og-surface-3);
 20        padding: 1.25rem 1.5rem;
 21    }
 22
 23    .card-body {
 24        padding: 1.5rem;
 25    }
 26
 27    .form-group {
 28        margin-bottom: 1rem;
 29    }
 30
 31    .form-label {
 32        font-weight: 600;
 33        color: var(--og-text-2);
 34        margin-bottom: 0.25rem;
 35        display: block;
 36        font-size: 0.9rem;
 37    }
 38
 39    .form-control, .form-select {
 40        border: 1px solid var(--og-surface-3);
 41        border-radius: 0.25rem;
 42        padding: 0.5rem 0.75rem;
 43        font-size: 0.9rem;
 44        transition: border-color 0.15s ease-in-out;
 45    }
 46
 47    .form-control:focus, .form-select:focus {
 48        border-color: var(--og-accent);
 49        box-shadow: 0 0 0 0.2rem rgba(var(--og-accent-rgb), 0.25);
 50    }
 51
 52    .btn-success {
 53        background-color: var(--og-success-text);
 54        border-color: var(--og-success-text);
 55        padding: 0.5rem 1rem;
 56        font-size: 0.9rem;
 57    }
 58
 59    .btn-secondary {
 60        background-color: var(--og-text-3);
 61        border-color: var(--og-text-3);
 62        padding: 0.5rem 1rem;
 63        font-size: 0.9rem;
 64    }
 65
 66    .text-muted-small {
 67        font-size: 0.8rem;
 68        color: var(--og-text-3);
 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
 79    .back-link {
 80        color: var(--og-accent);
 81        text-decoration: none;
 82        font-size: 0.9rem;
 83    }
 84
 85    .back-link:hover {
 86        color: var(--og-accent);
 87        text-decoration: underline;
 88    }
 89
 90    .form-grid {
 91        display: grid;
 92        grid-template-columns: 1fr;
 93        gap: 1rem;
 94    }
 95
 96    @@media (min-width: 768px) {
 97        .form-grid {
 98            grid-template-columns: 1fr 1fr;
 99        }
 100    }
 101</style>
 102
 0103@await Html.PartialAsync("_BsxGridShell")
 104
 105<div class="container bsx-surface">
 106    <div class="row">
 107        <div class="col-12">
 108            <div class="card">
 109                <div class="card-header" style="display: flex; justify-content: space-between; align-items: center;">
 110                    <h2 style="margin: 0; font-size: 1.5rem;">Добавить артикул в исключения</h2>
 111                    <a asp-action="Index" class="btn btn-secondary">
 112                        <i class="fas fa-arrow-left me-1"></i>Назад к списку
 113                    </a>
 114                </div>
 115                <div class="card-body">
 116                    <form asp-area="Studio2" asp-controller="ExcludedArticles" asp-action="Create"
 117                          method="post" asp-antiforgery="true">
 118
 119                        <!-- Основная информация -->
 120                        <div class="form-group">
 121                            <h5 class="section-title">
 122                                <i class="fas fa-ban me-2"></i>Информация об исключении
 123                            </h5>
 124
 125                            <div class="form-grid">
 126                                <div class="form-group">
 127                                    <label asp-for="Article" class="form-label">Артикул</label>
 128                                    <input asp-for="Article" class="form-control"
 129                                           placeholder="Введите артикул для исключения"/>
 130                                    <div class="text-muted-small mt-1">
 131                                        <i class="fas fa-info-circle me-1"></i>Укажите артикул, который нужно исключить
 132                                        из обработки
 133                                    </div>
 134                                    <span asp-validation-for="Article" class="text-danger small"></span>
 135                                </div>
 136
 137                                <div class="form-group">
 138                                    <label asp-for="OzonClientId" class="form-label">Клиент</label>
 139                                    <select asp-for="OzonClientId" class="form-select"
 140                                            asp-items="@(new SelectList(clients, "Id", "Name", Model.OzonClientId))">
 141                                        <option value="">-- Выберите клиента --</option>
 142                                    </select>
 143                                    <div class="text-muted-small mt-1">
 144                                        <i class="fas fa-info-circle me-1"></i>Выберите клиента для которого применяется
 145                                        исключение
 146                                    </div>
 147                                    <span asp-validation-for="OzonClientId" class="text-danger small"></span>
 148                                </div>
 149                            </div>
 150                        </div>
 151
 152                        <!-- Кнопки действий -->
 153                        <div class="form-group mt-4 pt-3 border-top">
 154                            <div class="d-flex gap-2">
 155                                <button type="submit" class="btn btn-success">
 156                                    <i class="fas fa-plus-circle me-1"></i>Добавить в исключения
 157                                </button>
 158                                <a asp-action="Index" class="btn btn-secondary">
 159                                    <i class="fas fa-times me-1"></i>Отмена
 160                                </a>
 161                            </div>
 162                        </div>
 163                    </form>
 164
 165                    <div class="mt-3">
 166                        <a asp-action="Index" class="back-link">
 167                            <i class="fas fa-arrow-left me-1"></i>Назад к списку исключённых артикулов
 168                        </a>
 169                    </div>
 170                </div>
 171            </div>
 172        </div>
 173    </div>
 174</div>
 175
 176@section Scripts {
 177    <script>
 178        document.addEventListener('DOMContentLoaded', function () {
 179            // Валидация формы
 180            const form = document.querySelector('form');
 181            form.addEventListener('submit', function (event) {
 182                if (!form.checkValidity()) {
 183                    event.preventDefault();
 184                    event.stopPropagation();
 185                }
 186                form.classList.add('was-validated');
 187            }, false);
 188
 189            // Автофокус на поле артикула
 190            const articleInput = document.getElementById('Article');
 191            if (articleInput) {
 192                articleInput.focus();
 193            }
 194        });
 195    </script>
 196}

Methods/Properties

ExecuteAsync()