< Summary

Information
Class: Services.AiAssistant.AiQueryIntent
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/AiAssistant/AiQueryIntent.cs
Line coverage
25%
Covered lines: 3
Uncovered lines: 9
Coverable lines: 12
Total lines: 29
Line coverage: 25%
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
get_ToolName()100%11100%
get_ShipmentNumber()100%11100%
get_OrderId()100%11100%
get_ShipmentNumbers()100%210%
get_Article()100%210%
get_ManufacturerPrefix()100%210%
get_Filter()100%210%
get_RequiresFilterStudio()100%210%
get_WriteKind()100%210%
get_EditDto()100%210%
get_TransactionTypeValue()100%210%
get_TransactionDto()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/AiAssistant/AiQueryIntent.cs

#LineLine coverage
 1using Services.ApiServices.OpenRouterApi.Models;
 2
 3namespace Services.AiAssistant;
 4
 5public sealed class AiQueryIntent
 6{
 4237    public required string ToolName { get; init; }
 508    public string? ShipmentNumber      { get; init; }
 579    public int?    OrderId             { get; init; }
 10    /// <summary>Несколько номеров отправлений (для batch write-операций).</summary>
 011    public List<string>? ShipmentNumbers { get; init; }
 12    /// <summary>Артикул для BitrixStock (без суффикса =производитель).</summary>
 013    public string? Article             { get; init; }
 014    public string? ManufacturerPrefix  { get; init; }
 15    /// <summary>Критерии для tool orders_filter (после студии запроса).</summary>
 016    public AiOrderFilterCriteria? Filter { get; init; }
 17    /// <summary>true → критерии строит <see cref="AiOrderFilterQueryStudio"/> в RunQueryAsync.</summary>
 018    public bool RequiresFilterStudio { get; init; }
 19
 20    // ── Write-интенты ──────────────────────────────────────────────────────────
 21    /// <summary>"edit_order" или "create_transaction".</summary>
 022    public string?             WriteKind      { get; init; }
 23    /// <summary>Поля для редактирования заказа (edit_order).</summary>
 024    public AiOrderEditDto?     EditDto        { get; init; }
 25    /// <summary>Числовое значение TransactionType (create_transaction).</summary>
 026    public int?                TransactionTypeValue { get; init; }
 27    /// <summary>Параметры транзакции (create_transaction).</summary>
 028    public AiTransactionParamsDto? TransactionDto { get; init; }
 29}