< Summary

Information
Class: AspNetCoreGeneratedDocument.Views_Shared__AppToastNotifications
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Views/Shared/_AppToastNotifications.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 55
Coverable lines: 55
Total lines: 80
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%506220%
Take()0%2040%
<ExecuteAsync()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Views/Shared/_AppToastNotifications.cshtml

#LineLine coverage
 1@using System.Text.Json
 2@{
 03    var notifications = new List<object>();
 4
 5    string? Take(string key)
 6    {
 07        var value = TempData[key]?.ToString();
 08        TempData.Remove(key);
 09        return string.IsNullOrWhiteSpace(value) ? null : value;
 10    }
 11
 012    var transactionWarning = Take("TransactionWarning");
 013    var transactionResult = Take("TransactionResult");
 014    var errorResult = Take("ErorrResult");
 15
 016    var isTransactionMarkup = !string.IsNullOrWhiteSpace(transactionResult) &&
 017                              transactionResult.Contains("tx-result-compact", StringComparison.Ordinal);
 18
 019    if (!string.IsNullOrWhiteSpace(transactionWarning))
 20    {
 021        notifications.Add(new
 022        {
 023            variant = "warning",
 024            title = "Выполнено частично",
 025            message = transactionWarning,
 026            detailsHtml = isTransactionMarkup ? transactionResult : null,
 027            trustedDetails = isTransactionMarkup,
 028            dismissLegacyAlerts = true
 029        });
 30    }
 031    else if (!string.IsNullOrWhiteSpace(transactionResult))
 32    {
 033        notifications.Add(new
 034        {
 035            variant = "success",
 036            title = "Операция выполнена",
 037            message = isTransactionMarkup ? "" : transactionResult,
 038            detailsHtml = isTransactionMarkup ? transactionResult : null,
 039            trustedDetails = isTransactionMarkup,
 040            dismissLegacyAlerts = true
 041        });
 42    }
 43
 044    if (!string.IsNullOrWhiteSpace(errorResult))
 45    {
 046        notifications.Add(new { variant = "danger", title = "Ошибка операции", message = errorResult, detailsHtml = (str
 47    }
 48
 049    var legacyNotifications = new[]
 050    {
 051        (Key: "SuccessMessage", Variant: "success", Title: "Готово"),
 052        (Key: "Success", Variant: "success", Title: "Готово"),
 053        (Key: "InfoMessage", Variant: "info", Title: "Информация"),
 054        (Key: "Message", Variant: "info", Title: "Информация"),
 055        (Key: "CreateInfo", Variant: "info", Title: "Создание"),
 056        (Key: "EditInfo", Variant: "info", Title: "Редактирование"),
 057        (Key: "WarningMessage", Variant: "warning", Title: "Требует внимания"),
 058        (Key: "MappingWarning", Variant: "warning", Title: "Требует внимания"),
 059        (Key: "ErrorMessage", Variant: "danger", Title: "Ошибка"),
 060        (Key: "Error", Variant: "danger", Title: "Ошибка"),
 061        (Key: "SupplierResult", Variant: "warning", Title: "Поставщик"),
 062        (Key: "WarehouseResult", Variant: "warning", Title: "Склад"),
 063        (Key: "StatusResult", Variant: "success", Title: "Статусы"),
 064        (Key: "SupplierStatusMessage", Variant: "info", Title: "Статусы поставщиков"),
 065        (Key: "ArmtekCartResult", Variant: "info", Title: "Корзина поставщика")
 066    };
 67
 068    foreach (var item in legacyNotifications)
 69    {
 070        var message = Take(item.Key);
 071        if (!string.IsNullOrWhiteSpace(message))
 072            notifications.Add(new { variant = item.Variant, title = item.Title, message, detailsHtml = (string?)null, tr
 73    }
 74}
 075@if (notifications.Count > 0)
 76{
 77    <script type="application/json" data-app-toast-seed>
 078        @Html.Raw(JsonSerializer.Serialize(notifications))
 79    </script>
 80}