< Summary

Information
Class: ProjectTemplate.Infrastructure.Data.Auditing.ApplicationAuditedTransactionResult
Assembly: ProjectTemplate.Infrastructure
File(s): /home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/src/ProjectTemplate.Infrastructure/Data/Auditing/ApplicationAuditedTransactionResult.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 44
Line coverage: 100%
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%11100%
get_CommittedByCoordinator()100%11100%
get_RequiresOuterCommit()100%11100%

File(s)

/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/src/ProjectTemplate.Infrastructure/Data/Auditing/ApplicationAuditedTransactionResult.cs

#LineLine coverage
 1namespace ProjectTemplate.Infrastructure.Data.Auditing;
 2
 3/// <summary>
 4/// Identifies who owns the database transaction used by an audited mutation.
 5/// </summary>
 6public enum ApplicationAuditedTransactionOwnership
 7{
 8    /// <summary>
 9    /// The coordinator created and committed the transaction.
 10    /// </summary>
 11    CoordinatorOwned,
 12
 13    /// <summary>
 14    /// The coordinator joined an existing EF Core transaction and protected its work with a savepoint.
 15    /// The caller still owns the final commit or rollback.
 16    /// </summary>
 17    ExistingTransaction
 18}
 19
 20/// <summary>
 21/// Summarizes an audited transaction execution without exposing audited entity values.
 22/// </summary>
 23/// <param name="MutationSaveChangesCount">The number of state entries written by the mutation save.</param>
 24/// <param name="CompletionSaveChangesCount">The number of state entries written by the optional local completion save.<
 25/// <param name="AuditReceipt">The mutation audit receipt produced by the mutation save, when auditing produced a batch.
 26/// <param name="Ownership">The database transaction ownership model used for the execution.</param>
 27/// <param name="UsedSavepoint">Whether the coordinator created a savepoint inside an existing transaction.</param>
 528public sealed record ApplicationAuditedTransactionResult(
 529    int MutationSaveChangesCount,
 530    int CompletionSaveChangesCount,
 531    ApplicationMutationAuditReceipt? AuditReceipt,
 532    ApplicationAuditedTransactionOwnership Ownership,
 533    bool UsedSavepoint)
 34{
 35    /// <summary>
 36    /// Gets a value indicating whether the coordinator committed the database transaction before returning.
 37    /// </summary>
 538    public bool CommittedByCoordinator => Ownership == ApplicationAuditedTransactionOwnership.CoordinatorOwned;
 39
 40    /// <summary>
 41    /// Gets a value indicating whether the caller must still commit the existing outer transaction.
 42    /// </summary>
 243    public bool RequiresOuterCommit => Ownership == ApplicationAuditedTransactionOwnership.ExistingTransaction;
 44}