< Summary

Information
Class: OzonOrdersWeb.WebServices.Transactions.Grid.Commit.Steps.CreateTransactionStep
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Transactions/Grid/Commit/Steps/CreateTransactionStep.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 16
Coverable lines: 16
Total lines: 37
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%
get_Key()100%210%
ExecuteAsync()0%620%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Transactions/Grid/Commit/Steps/CreateTransactionStep.cs

#LineLine coverage
 1using OzonOrdersWeb.TransactionServices;
 2using Services.TransactionUtilsServices;
 3
 4namespace OzonOrdersWeb.WebServices.Transactions.Grid.Commit.Steps;
 5
 6/// <summary>Запись <c>Transaction</c> и привязка заказов через делегат определения (<c>TransactionManager.Create*</c>).
 7public sealed class CreateTransactionStep : ITransactionCommitStep
 8{
 9    private readonly TransactionManager _manager;
 10
 011    public CreateTransactionStep(TransactionManager manager)
 12    {
 013        _manager = manager;
 014    }
 15
 016    public string Key => TransactionCommitStepKeys.CreateTransaction;
 17
 18    public async Task ExecuteAsync(TransactionCommitContext ctx)
 19    {
 020        if (ctx.OrdersToTransaction.Count == 0)
 21        {
 022            return;
 23        }
 24
 025        await ctx.StageAsync("document", "Записываем документ в Studio2");
 026        ctx.HistoryWindowStart = DateTime.Now;
 027        var comment = TransactionCommentAiSchedulingHelper.ResolveCommentForDatabase(
 028            ctx.CommentFlow.UserCommentOnly, ctx.CommentFlow.ScheduleAiComment, ctx.TechnicalComment);
 29
 030        var (changeCount, dateTime, transactionId) = await ctx.Definition.CreateTransaction(
 031            _manager, ctx.OrdersToTransaction, ctx.User.Name, ctx.CreatedAt, comment);
 32
 033        ctx.ChangedCount = changeCount;
 034        ctx.TransactionDateTime = dateTime;
 035        ctx.TransactionId = transactionId;
 036    }
 37}