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 )); }
public void Resolve(OperationValidationResolution resolution) { if (!Risk.IsResolutionRequired) { throw new InvalidOperationException($"Resolution is not required, since operation risk level is {Risk.Level}"); } if (IsResolved) { if (Resolution != resolution) { throw new InvalidOperationException($"Validation already was resolved as {Resolution} and can't be changed to {resolution}"); } } else { Resolution = resolution; ResolutionMoment = DateTime.UtcNow; } }