< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.Controllers.Transactions.WarehouseChangeTransactionController
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Transactions/WarehouseChangeTransactionController.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 31
Coverable lines: 31
Total lines: 78
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
GetTransactionConfig()100%210%
CreateWarehouseChangeTransaction(...)100%210%
CreateWarehouseChangeTransaction(...)100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Controllers/Transactions/WarehouseChangeTransactionController.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Mvc;
 2using OzonDomains;
 3using OzonDomains.Models;
 4using OzonOrdersWeb.Areas.Studio2.Controllers.Base;
 5using OzonRepositories.Context;
 6using Services.ApiServices.OzonApi;
 7using Services.CacheServices.Cache.OzonOrdersCache;
 8using Services.CacheServices.Cache.UserCacheService;
 9using Services.DataServices;
 10using OzonOrdersWeb.WebServices.Currency;
 11using Services.TransactionUtilsServices;
 12using Services.CacheServices.Cache;
 13
 14namespace OzonOrdersWeb.Areas.Studio2.Controllers.Transactions;
 15
 16/// <summary>
 17/// Контроллер транзакции "Смена склада"
 18/// </summary>
 19public class WarehouseChangeTransactionController : BaseTransactionController
 20{
 21    public WarehouseChangeTransactionController(
 22        ApplicationDbContext context,
 23        AppStatusDataServices appStatusServices,
 24        OrdersDataServices orderServices,
 25        TransactionManager transactionManager,
 26        TransactionCache transactionCache,
 27        SupplierDataServices supplierDataServices,
 28        IUserCacheService userCacheService,
 29        ICurrencyRatesViewBagService currencyRatesViewBagService,
 30        CacheUpdater<Order> cacheUpdater,
 31        OrderCache orderCache,
 32        WarehouseDataServices warehouseDataServices,
 33        ExpenseTypeDataServices expenseTypeDataServices,
 34        OrderExtraExpenseDataServices orderExtraExpenseDataServices,
 35        StatusTransitionDataServices statusTransitionDataServices,
 36        OzonOrderCancellationService? ozonCancellationService = null)
 037        : base(context, appStatusServices, orderServices, transactionManager, transactionCache,
 038               supplierDataServices, userCacheService, currencyRatesViewBagService, cacheUpdater, orderCache,
 039               warehouseDataServices: warehouseDataServices, expenseTypeDataServices: expenseTypeDataServices,
 040               orderExtraExpenseDataServices: orderExtraExpenseDataServices,
 041               statusTransitionDataServices: statusTransitionDataServices,
 042               ozonCancellationService: ozonCancellationService)
 43    {
 044    }
 45
 046    protected override TransactionConfig GetTransactionConfig() => new()
 047    {
 048        TransactionType = TransactionType.WarehouseChange,
 049        PrimaryStatusName = string.Empty, // Не меняем статус, оставляем оригинальный
 050        ViewName = "CreateWarehouseChangeTransaction",
 051        IncludeCancelledOrders = true,
 052        SupportsOzonCancelPanel = true,
 053        // Принимаем любые заказы
 054        OrderFilter = _ => true,
 055        ConfigureViewModel = vm => ViewBag.ShowWarehouseSelect = true,
 056        CreateTransactionMethod = (tm, orders, userName, createAt, comment) =>
 057            tm.CreateWarehouseChangeTransaction(orders, userName, createAt, comment),
 058        SuccessMessageBuilder = (changeCount, cancelCount, dateTime, userName, comment, orders) =>
 059            TransactionConfig.BuildStandardSuccessMessage(
 060                changeCount,
 061                cancelCount,
 062                dateTime,
 063                userName,
 064                comment,
 065                orders,
 066                "Изменены статус/склад/поставщик")
 067    };
 68
 69    public Task<IActionResult> CreateWarehouseChangeTransaction(string ids, int page)
 070        => CreateTransactionBase(ids, page);
 71
 72    [HttpPost]
 73    [ValidateAntiForgeryToken]
 74    public Task<IActionResult> CreateWarehouseChangeTransaction(
 75        List<Order> orders, string userName, string? comment,
 76        int page, string? deletedOrders, Dictionary<int, string?>? orderSupplierMap)
 077        => CreateTransactionPostBase(orders, userName, comment, page, deletedOrders, orderSupplierMap);
 78}