< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.Controllers.Directories.BergController
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Directories/BergController.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 17
Coverable lines: 17
Total lines: 54
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
Index()100%210%
Logs()100%210%
Brands(...)100%210%
ShipmentAddresses(...)100%210%
States(...)0%620%
ActiveStates(...)100%210%
Stock(...)100%210%
JsonAsync()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Directories/BergController.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Authorization;
 2using Microsoft.AspNetCore.Mvc;
 3using Services.ApiServices.ApiSupplierRequestLog;
 4using Services.ApiServices.BergApi;
 5
 6namespace OzonOrdersWeb.Areas.Studio2.Controllers.Directories;
 7
 8[Area("Studio2")]
 9[Authorize(Roles = "User,Admin")]
 10[Route("Berg/[action]")]
 11public sealed class BergController : Controller
 12{
 13    private readonly BergDataManager _berg;
 14    private readonly ApiSupplierRequestLogStore _logs;
 15
 016    public BergController(BergDataManager berg, ApiSupplierRequestLogStore logs)
 17    {
 018        _berg = berg;
 019        _logs = logs;
 020    }
 21
 22    [HttpGet, Route("~/Berg")]
 023    public IActionResult Index() => View();
 24
 25    [HttpGet]
 026    public IActionResult Logs() => Json(_logs.Get("Berg"));
 27
 28    [HttpGet]
 029    public Task<IActionResult> Brands(CancellationToken ct) => JsonAsync(() => _berg.GetBrandsAsync(ct));
 30
 31    [HttpGet]
 032    public Task<IActionResult> ShipmentAddresses(CancellationToken ct) => JsonAsync(() => _berg.GetActiveShipmentAddress
 33
 34    [HttpGet]
 035    public Task<IActionResult> States(string? orderIds, CancellationToken ct) => JsonAsync(() => _berg.GetStatesAsync(
 036        (orderIds ?? string.Empty).Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries), c
 37
 38    [HttpGet]
 039    public Task<IActionResult> ActiveStates(CancellationToken ct) => JsonAsync(() => _berg.GetActiveOrderStatesAsync(ct)
 40
 41    [HttpGet]
 042    public Task<IActionResult> Stock(string article, string? brand, bool includeAnalogs, long? addressId, CancellationTo
 043        () => _berg.GetStockAsync(article, brand, includeAnalogs, addressId, ct));
 44
 45    private async Task<IActionResult> JsonAsync(Func<Task<Newtonsoft.Json.Linq.JToken>> call)
 46    {
 47        try
 48        {
 049            var response = await call();
 050            return Content(response.ToString(Newtonsoft.Json.Formatting.Indented), "application/json");
 51        }
 052        catch (BergApiException ex) { return BadRequest(new { error = true, message = ex.Message }); }
 053    }
 54}