public static OperationValidation Create(Operation operation, OperationRisk risk, DateTime?validationMoment = null)
 {
     return(new OperationValidation
            (
                version: null,
                operation: operation,
                risk: risk,
                validationMoment: validationMoment ?? DateTime.UtcNow,
                resolutionMoment: null,
                resolution: risk.IsResolutionRequired
             ? (OperationValidationResolution?)OperationValidationResolution.Unconfirmed
             : null
            ));
 }
 private OperationValidation(
     string version,
     Operation operation,
     OperationRisk risk,
     DateTime validationMoment,
     DateTime?resolutionMoment,
     OperationValidationResolution?resolution)
 {
     Version          = version;
     Operation        = operation;
     Risk             = risk;
     ValidationMoment = validationMoment;
     Resolution       = resolution;
 }
 public static OperationValidation CreateResolved(
     Operation operation,
     OperationRisk risk,
     DateTime validationMoment,
     DateTime resolutionMoment,
     OperationValidationResolution resolution)
 {
     return(new OperationValidation
            (
                version: null,
                operation: operation,
                risk: risk,
                validationMoment: validationMoment,
                resolutionMoment: resolutionMoment,
                resolution: resolution
            ));
 }