public override bool PreStartTask(INavigator navigator, string graphName, TaskArgumentsHolder holder) { ObservableCollection<string> processNames = new ObservableCollection<string>(); ////TODO: Need to come from config var setting = this.appModel.ShellConfiguration.ConfigurationSettings["ClaimReviewGraphs"]; if (setting != null) { processNames = (from v in setting.SettingParmeters.Where(c => c.QualifierName == "ReviewGraph") select v.QualifierValue).ToObservableCollection<string>(); } if (processNames.Count > 0) { string folio = string.Empty; this.args = (TaskInitiatedContollerArgs)holder.ControllerArguments; ITaskRow taskRow = this.args.TaskRow; folio = taskRow.Folio; this.taskServiceHelper.GetTaskDetailsByProcessName( folio, processNames, results => { if (results != null && results.Count > 0) { foreach (KeyValuePair<string, int> keyVal in results.ToObservableCollection()) { if (keyVal.Key == taskRow.ProcessName) { if (keyVal.Value > 1) { this.FinishGraph(navigator, args); break; } } else { if (keyVal.Value > 0) { this.FinishGraph(navigator, args); break; } } } } }, this.claimTaskInitialDueDateController.HandleError); } return true; }
public override void OnStart(TaskArgumentsHolder holder) { ArgumentCheck.ArgumentNullCheck(holder, "holder"); ArgumentCheck.ArgumentNullCheck(holder.ControllerArguments, "holder.ControllerArguments"); this.holder = holder; if (holder.ControllerArguments != null) { this.args = (TaskInitiatedContollerArgs)holder.ControllerArguments; this.Model.IsBusy = true; TaskDetail taskDetails = this.args.TaskDetail; Dictionary<string, object> activityData = taskDetails.Data; if (!activityData.ContainsKey("ClaimTransactionHeaderID")) { throw new ArgumentException("activity data must contain ClaimTransactionHeaderID"); } this.claimTransactionHeaderID = Convert.ToInt64(activityData["ClaimTransactionHeaderID"]); } }
private void FinishGraph(INavigator navigator, TaskInitiatedContollerArgs args) { args.CompletionStatus = XIAP.FrontendModules.Common.Controller.CompletionStatus.Complete; navigator.Finish(args); }