/// <summary> /// Updates the Executed On property of the <paramref name="ruleVerification"/> in the data-source /// </summary> /// <param name="session"> /// The <see cref="ISession"/> instance used to update the contained <see cref="RuleVerification"/> instances on the data-source. /// </param> /// <param name="ruleVerification"> /// The <see cref="RuleVerification"/> that is to be updated. /// </param> /// <returns>An awaitable <see cref="Task"/></returns> private async Task UpdateExecutedOn(ISession session, RuleVerification ruleVerification) { try { var clone = ruleVerification.Clone(false); var transactionContext = TransactionContextResolver.ResolveContext(ruleVerification); var transaction = new ThingTransaction(transactionContext, clone); clone.ExecutedOn = DateTime.UtcNow; var operationContainer = transaction.FinalizeTransaction(); await session.Write(operationContainer); } catch (Exception ex) { logger.Error(ex); } }
/// <summary> /// Add an Rule Verification row view model to the list of <see cref="RuleVerification"/> /// </summary> /// <param name="ruleVerification"> /// The <see cref="RuleVerification"/> that is to be added /// </param> private IRuleVerificationRowViewModel <RuleVerification> AddRuleVerificationRowViewModel(RuleVerification ruleVerification) { var userRuleVerification = ruleVerification as UserRuleVerification; if (userRuleVerification != null) { return(new UserRuleVerificationRowViewModel(userRuleVerification, this.Session, this)); } var builtInRuleVerification = ruleVerification as BuiltInRuleVerification; if (builtInRuleVerification != null) { return(new BuiltInRuleVerificationRowViewModel(builtInRuleVerification, this.Session, this)); } throw new Exception("No RuleVerification to return"); }