public ActionResult Index(string preview, Guid?processDefinitionId) { IProcessDefinitionApplication definitionApplication = null; IExecutionApplication executionApplication = null; var userId = Guid.Parse(this.User.Identity.Name); definitionApplication = ServiceLocator.Current.GetInstance <IProcessDefinitionApplication>(); executionApplication = ServiceLocator.Current.GetInstance <IExecutionApplication>(); IList <FlowView> taskList = executionApplication.GetTaskList(userId); IList <IProcessDefinition> processDefinitions = definitionApplication.GetProcessDefinitions(); var userViewModel = new UserViewModel(); userViewModel.TaskList = taskList; userViewModel.ProcessDefinitions = processDefinitions; userViewModel.Preview = preview; if (!string.IsNullOrEmpty(preview)) { if (preview == "process") { userViewModel.ProcessDefinitionName = "In Fly"; } } return(View(userViewModel)); }
public ActionResult ActivityForm(Guid flowId) { IExecutionApplication executionApplication = null; executionApplication = ServiceLocator.Current.GetInstance <IExecutionApplication>(); FlowView flow = executionApplication.GetFlow(flowId); //create Form ActivityFormView activityForm = executionApplication.GetActivityForm(flowId); return(View(flow.ProcessDefinitionName.Replace(" ", ""), activityForm)); }
public ActionResult StartForm(Guid processDefinitionId) { IExecutionApplication executionApplication = null; IProcessDefinitionApplication definitionApplication = null; executionApplication = ServiceLocator.Current.GetInstance <IExecutionApplication>(); definitionApplication = ServiceLocator.Current.GetInstance <IProcessDefinitionApplication>(); IProcessDefinition processDefinition = definitionApplication.GetProcessDefinition(processDefinitionId); //create Form ActivityFormView activityForm = executionApplication.GetStartForm(processDefinitionId); return(View(processDefinition.Name.Replace(" ", ""), activityForm)); }
public ActionResult SubmitForm(ActivityFormView model) { IExecutionApplication executionApplication = null; executionApplication = ServiceLocator.Current.GetInstance <IExecutionApplication>(); var userId = Guid.Parse(this.User.Identity.Name); if (model.Parameters != null) { model.AttributeValues = new Dictionary <string, object>(); foreach (var item in model.Parameters) { Evaluation evaluation; if (Evaluation.TryParseEvaluation(item.Value, out evaluation)) { model.AttributeValues.Add(item.Key, evaluation); continue; } DateTime selectDateTime; if (DateTime.TryParse(item.Value, out selectDateTime)) { model.AttributeValues.Add(item.Key, selectDateTime); continue; } model.AttributeValues.Add(item.Key, item.Value); } } if (model.ProcessDefinitionId != null) { executionApplication.StartProcessInstance(userId, model.ProcessDefinitionId.Value, model.AttributeValues); } if (model.FlowId != null) { executionApplication.PerformActivity(userId, model.FlowId.Value, model.AttributeValues); } return(this.Redirect("/User")); }