コード例 #1
0
        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));
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }