Esempio n. 1
0
        public ActionResult WorkflowTransitionDetail(WorkflowTransitionDefinitionModel model)
        {
            var wfBO               = BusinessLogic.Core.GetFactory().GetInstance <IWorkflowBO>();
            var stepList           = (List <WorkflowStepDataContract>)Session["WorkflowStepList"];
            var stepTransitionList = (List <WorkflowStepTransitionDataContract>)Session["WorkflowStepTransitionList"];

            wfBO.SaveTransitionDetail(model.WorkflowId, model.FromStateId, stepList, stepTransitionList);

            return(RedirectToAction("WorkflowTransitionDetail", "Workflow", new { workflowId = model.WorkflowId, displayOnly = false }));
        }
Esempio n. 2
0
        public ActionResult WorkflowTransitionDetail(Guid workflowId, bool displayOnly = true)
        {
            var wfBO                = BusinessLogic.Core.GetFactory().GetInstance <IWorkflowBO>();
            var conditionBO         = BusinessLogic.Core.GetFactory().GetInstance <IConditionBO>();
            var model               = new WorkflowTransitionDefinitionModel();
            var stateTransitionList = wfBO.GetAllWorkflowStateTransition(workflowId);

            model.EditMode = !displayOnly;

            var groupList = stateTransitionList.GroupBy(o => o.FromStateId).ToList();

            model.StateTransitionList = new List <SelectListItem>();

            foreach (var item in groupList)
            {
                var           list = stateTransitionList.Where(o => o.FromStateId.Equals(item.Key)).Select(o => o).ToList();
                StringBuilder sb   = new StringBuilder();

                foreach (var item2 in list)
                {
                    sb.Append(item.First().FromState.Description);
                    sb.Append(string.Format("({0}) -> ", item2.Description));
                    sb.Append(item2.ToState.Description);
                    sb.Append(" x ");
                }

                model.StateTransitionList.Add(new SelectListItem()
                {
                    Text = sb.Remove(sb.Length - 3, 3).ToString(), Value = item.Key.ToString()
                });
            }

            model.WorkflowId   = workflowId;
            model.WorkflowName = wfBO.GetById(workflowId).Description;

            Session["WorkflowStepTransitionList"] = new List <WorkflowStepTransitionDataContract>();
            Session["WorkflowStepList"]           = new List <WorkflowStepDataContract>();

            return(View(model));
        }