< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.Controllers.FileUploadRecordsController
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/FileUploadRecordsController.cs
Line coverage
90%
Covered lines: 28
Uncovered lines: 3
Coverable lines: 31
Total lines: 74
Line coverage: 90.3%
Branch coverage
66%
Covered branches: 4
Total branches: 6
Branch coverage: 66.6%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Index(...)100%11100%
Delete()66.66%6683.33%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/FileUploadRecordsController.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Authorization;
 2using Microsoft.AspNetCore.Mvc;
 3using Services.DataServices;
 4
 5namespace OzonOrdersWeb.Areas.Studio2.Controllers;
 6
 7[Authorize(Roles = "User,Admin")]
 8[Area("Studio2")]
 9public class FileUploadRecordsController : Controller
 10{
 11    private readonly FileUploadRecordDataService _dataService;
 12    private const int DefaultPageSize = 15;
 13
 314    public FileUploadRecordsController(FileUploadRecordDataService dataService)
 15    {
 316        _dataService = dataService;
 317    }
 18
 19    [HttpGet]
 20    public IActionResult Index(
 21        int pageNumber = 1,
 22        int pageSize = DefaultPageSize,
 23        string? nameFilter = null,
 24        DateTime? dateFrom = null,
 25        DateTime? dateTo = null) =>
 126        RedirectToAction("Index", "JobLogs", new
 127        {
 128            area = "Studio2",
 129            tab = "fileupload",
 130            filePage = pageNumber,
 131            filePageSize = pageSize,
 132            nameFilter,
 133            fileDateFrom = dateFrom,
 134            fileDateTo = dateTo
 135        });
 36
 37    [HttpPost]
 38    [ValidateAntiForgeryToken]
 39    public async Task<IActionResult> Delete(
 40        int id,
 41        int pageNumber = 1,
 42        int pageSize = DefaultPageSize,
 43        string? nameFilter = null,
 44        DateTime? dateFrom = null,
 45        DateTime? dateTo = null)
 46    {
 47        try
 48        {
 249            var record = await _dataService.GetFileUploadRecordAsync(id);
 250            if (record != null)
 51            {
 152                await _dataService.DeleteFileUploadRecord(record);
 153                TempData["TransactionResult"] = "Запись успешно удалена.";
 54            }
 55            else
 56            {
 157                TempData["ErorrResult"] = "Запись не найдена.";
 58            }
 259        }
 060        catch (Exception ex)
 61        {
 062            TempData["ErorrResult"] = $"Ошибка при удалении записи: {ex.Message}";
 063        }
 64
 265        return RedirectToAction(nameof(Index), new
 266        {
 267            pageNumber,
 268            pageSize,
 269            nameFilter,
 270            dateFrom = dateFrom?.ToString("yyyy-MM-dd"),
 271            dateTo = dateTo?.ToString("yyyy-MM-dd")
 272        });
 273    }
 74}