public ActionResult Index(int id) { var workflowConfig = TheWorkflowConfigService.GetConfiguration(id); var taskTypes = TheHelper.TypesImplementingInterface(typeof(IWorkflowTask)); var tasks = taskTypes.Select(taskType => TheWorkflowTaskFactory.CreateTask(taskType)).ToList(); var adapter = new WorkflowTaskCollectionUiAdapter(tasks); var ids = workflowConfig.Tasks.Select(task => task.Id.ToString()).ToList(); var points = ThePointCollectionFactory.Create(ThePointService.GetPoints(ids)); var instanceTasks = TheUiWorkflowTaskCollectionFactory.Create(workflowConfig.Tasks, points); var view = new WorkflowDesignViewModel { Id = id, GuidsJson = TheHelper.JsSerializer.Serialize(TheGuidPool.CreateGuids(500)), TaskInfoJson = TheHelper.JsSerializer.Serialize(adapter), AvailableTasks = adapter.Tasks.Values, ConfigurationTasks = instanceTasks.UiTasks.Values, ConfigJson = TheHelper.JsSerializer.Serialize(instanceTasks) }; return(View(view)); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); GuidPoolLiteral.Text = TheHelper.JsSerializer.Serialize(TheGuidPool.CreateGuids(500)); var taskTypes = TheHelper.TypesImplementingInterface(typeof(IWorkflowTask)); var tasks = taskTypes.Select(taskType => TheWorkflowTaskFactory.CreateTask(taskType)).ToList(); var adapter = new WorkflowTaskCollectionUiAdapter(tasks); TaskInfoLiteral.Text = TheHelper.JsSerializer.Serialize(adapter); TaskRepeater.DataSource = adapter.Tasks.Values; TaskRepeater.DataBind(); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); GuidPoolLiteral.Text = TheHelper.JsSerializer.Serialize(TheGuidPool.CreateGuids(500)); var taskTypes = TheHelper.TypesImplementingInterface(typeof(IWorkflowTask)); Log.Debug(string.Format("Found {0} types implementing IWorkflowTask", taskTypes.Count())); var tasks = taskTypes.Select(taskType => TheWorkflowTaskFactory.CreateTask(taskType)).ToList(); var adapter = new WorkflowTaskCollectionUiAdapter(tasks); TaskInfoLiteral.Text = TheHelper.JsSerializer.Serialize(adapter); var data = adapter.Tasks.Values.OrderBy(v => v.Name); TaskRepeater.DataSource = data; TaskRepeater.DataBind(); }