< Summary

Information
Class: OzonOrdersWeb.WebServices.Transactions.Grid.Commit.Steps.TimeTrackingStep
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Transactions/Grid/Commit/Steps/TimeTrackingStep.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 30
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
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%4260%

File(s)

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

#LineLine coverage
 1using Services.TransactionUtilsServices;
 2
 3namespace OzonOrdersWeb.WebServices.Transactions.Grid.Commit.Steps;
 4
 5/// <summary>Завершение сессии учёта времени (ключ выдан при Load).</summary>
 6public sealed class TimeTrackingStep : ITransactionCommitStep
 7{
 8    private readonly ITransactionTimeTrackingService? _tracking;
 9
 010    public TimeTrackingStep(ITransactionTimeTrackingService? tracking = null)
 11    {
 012        _tracking = tracking;
 013    }
 14
 015    public string Key => TransactionCommitStepKeys.TimeTracking;
 16
 17    public async Task ExecuteAsync(TransactionCommitContext ctx)
 18    {
 019        if (_tracking == null || ctx.TransactionId <= 0 || string.IsNullOrWhiteSpace(ctx.Request.TrackingKey))
 20        {
 021            return;
 22        }
 23
 024        var comment = TransactionServices.TransactionCommentAiSchedulingHelper.ResolveCommentForDatabase(
 025            ctx.CommentFlow.UserCommentOnly, ctx.CommentFlow.ScheduleAiComment, ctx.TechnicalComment);
 026        await _tracking.CompleteSessionAsync(
 027            ctx.Request.TrackingKey, ctx.TransactionId, ctx.OrdersToTransaction.Count, comment,
 028            $"/Studio2/Transaction/GetTransaction?transactionId={ctx.TransactionId}");
 029    }
 30}