예제 #1
0
        public void ConditionWithDifferentOperatorsWithCustomEvaluator()
        {
            IWorkFlow workteste = WorkFlowManager.GetManager();

            WorkFlowContext context = workteste.GetContext()
                                      .AddEvaluator(new CustomEvaluator())
                                      .SetArea("TESTCONDITIONSICK")
                                      .SetSourceState("INITIAL");


            context["TESTCONDITIONEQUAL"] = new List <string> {
                "COLD"
            };
            context["TESTCONDITIONLT"] = new List <string> {
                "4"
            };
            context["CUSTOM"] = new List <string> {
                "http://"
            };
            context["TESTCONDITIONIN"] = new List <string> {
                "5", "8"
            };


            var activities = workteste.GetActivities(context);

            Assert.AreEqual(2, activities.Count);
        }
예제 #2
0
        public static void Initialize(TestContext context)
        {
            WorkFlowConfiguration.Binder.SetRepository(typeof(DAOEmbeddedResource))
            .Setup(x => x.TypeName, "WorkFlow.Json.workflow.json , LightWorkFlow");

            work = WorkFlowManager.GetManager();
        }
예제 #3
0
        /// <summary>
        /// 我发起的流程
        /// </summary>
        /// <returns></returns>
        public ActionResult MySlickflow()
        {
            WorkFlowManager work = new WorkFlowManager();
            IEnumerable <ProcessInstance> processInstance = work.GetProcessInstance(User.Identity.GetUserId());

            return(View(processInstance));
        }
예제 #4
0
        public void RaiseExceptionWhenConditionsAreDuplicated()
        {
            WorkFlowConfiguration.Binder
            .SetRepository(typeof(DAOEmbeddedResource))
            .Setup(x => x.TypeName, "WorkFlowTestException.Json.conditionException.json , WorkFlowTestException");

            work = WorkFlowManager.GetManager();
        }
예제 #5
0
        public void RaiseExceptionWhenSourceStateAndAreaAreDuplicated()
        {
            WorkFlowConfiguration.Binder
            .SetRepository(typeof(DAOEmbeddedResource))
            .SetValidator(typeof(ValidatorCustom))
            .Setup(x => x.TypeName, "WorkFlowTestException.Json.sourceAreaException.json , WorkFlowTestException");

            work = WorkFlowManager.GetManager();
        }
예제 #6
0
        public void ExecuteCommand()
        {
            IWorkFlow workteste = WorkFlowManager.GetManager();

            WorkFlowContext context = workteste
                                      .GetContext()
                                      .AddElements("ATDRAFT", "AreaPURCHASEASK")
                                      .SetCommand(typeof(DefaultWorkFlowCommand))
                                      .Execute();
        }
예제 #7
0
        public void PrintRunnerStrategy()
        {
            IWorkFlow workteste = WorkFlowManager.GetManager(typeof(RunnerCustom));

            WorkFlowContext context = workteste
                                      .GetContext()
                                      .AddElements("ATDRAFT", "AreaPURCHASEASK");

            var    lista      = (List <string>)workteste.Run(context, SearchMode.Breadth, new ListVisitor());
            string transicoes = string.Join(",", lista.ToArray());

            Assert.AreEqual("ATDRAFT--[Ask Aproving]-->WAITINGALLOW ,ATDRAFT--[Erase Draft]-->None ,WAITINGALLOW--[Emit PURCHASEASK]-->EMITTED ,WAITINGALLOW--[Não Aprove PURCHASEASK]-->ATREVISION ,WAITINGALLOW--[Ask Cancelling]-->CANCELASKEDPURCHASEASK ,EMITTED--[Ask Cancelling]-->CANCELASKEDPURCHASEASK ,EMITTED--[Take PURCHASEASK]-->ATANALYSIS ,ATREVISION--[Ask Aproving]-->WAITINGALLOW ,ATREVISION--[Ask Cancelling]-->CANCELASKEDPURCHASEASK ,CANCELASKEDPURCHASEASK--[Recusar Cancelling]-->None ,ATANALYSIS--[Associate PURCHASEORDER]-->PURCHASEORDERCREATED ,ATANALYSIS--[Correct PURCHASEASK]-->ATREVISION ,ATANALYSIS--[Ask Cancelling]-->CANCELASKEDPURCHASEASK ,PURCHASEORDERCREATED--[Encerrando PURCHASEASK]-->PROCESSFINISHED ,PURCHASEORDERCREATED--[Ask Cancelling]-->CANCELASKEDPURCHASEASK ", transicoes);
        }
예제 #8
0
        void MainForm_Load(object sender, System.EventArgs e)
        {
            splashScreen.Close();
            //this.BringToFront();
            //splashScreen = null;
            WorkFlowManager.ActiveWorkFlow = WorkFlowManager.Create("HomeScreen", MainPanel, typeof(ReceivingGoodsStart));
            WorkFlowManager.Activate("HomeScreen");
            WorkFlowManager.ActiveWorkFlow.MainMenuPanel = typeof(ReceivingGoodsStart);
            //Cursor.Current = Cursors.Default;

            /* Label lbl = new Label();
             * lbl.Text = "Sample";
             * this.Controls[1].Controls.Add(lbl);
             * this.Show();*/
        }
예제 #9
0
        public void ConditionWithDifferentOperatorsLastParameterFalse()
        {
            IWorkFlow workteste = WorkFlowManager.GetManager();

            WorkFlowContext context = workteste.GetContext()
                                      .SetArea("TESTCONDITIONSICK")
                                      .SetSourceState("INITIAL");

            context["TESTCONDITIONEQUAL"] = new List <string> {
                "COLD"
            };
            context["TESTCONDITIONLT"] = new List <string> {
                "4"
            };
            context["TESTCONDITIONIN"] = new List <string> {
                "5", "8", "9", "10"
            };


            var activities = workteste.GetActivities(context);

            Assert.AreEqual(1, activities.Count);
        }
예제 #10
0
        public void ConditionWithDifferentOperators()
        {
            IWorkFlow workteste = WorkFlowManager.GetManager();

            WorkFlowContext context = workteste.GetContext()
                                      .SetArea("TESTCONDITIONSICK")
                                      .SetSourceState("INITIAL");

            context["TESTCONDITIONEQUAL"] = new List <string> {
                "COLD"
            };
            context["TESTCONDITIONLT"] = new List <string> {
                "4"
            };
            context["TESTCONDITIONIN"] = new List <string> {
                "5", "8"
            };


            var activities = workteste.GetActivities(context);

            // must be one because im not passing custom parameter...
            Assert.AreEqual(1, activities.Count);
        }
예제 #11
0
        public void OneParameterNotValidWithMessage()
        {
            IWorkFlow workteste = WorkFlowManager.GetManager();

            WorkFlowContext context = workteste.GetContext()
                                      .SetArea("TESTCONDITIONSICKNOVALID")
                                      .SetOperation("MAKEEFFORT")
                                      .SetSourceState("INITIAL");

            context["TESTCONDITIONEQUAL"] = new List <string> {
                "HOT"
            };
            context["TESTCONDITIONLT"] = new List <string> {
                "6"
            };
            context["TESTCONDITIONIN"] = new List <string> {
                "5", "8", "9"
            };

            var results = workteste.ValidateNextStatus(context);

            Assert.AreEqual(2, results.Count);
            Assert.IsTrue(results[1].Parameter.Message == "TESTCONDITIONLT NOT BIGGER THAN 5");
        }
예제 #12
0
 /// <summary>
 /// 获取系统角色
 /// </summary>
 /// <returns></returns>
 public static DataTable GetSysRole()
 {
     return(WorkFlowManager.GetSysRole());
 }
예제 #13
0
 /// <summary>
 /// 查询请假处理过程
 /// </summary>
 /// <param name="AppInstanceID">应用实例ID</param>
 /// <returns></returns>
 public static DataTable GetHrsLeaveOpinionListByAppInstanceID(string AppInstanceID)
 {
     return(WorkFlowManager.GetHrsLeaveOpinionListByAppInstanceID(AppInstanceID));
 }
예제 #14
0
 /// <summary>
 /// 查询业务流程
 /// </summary>
 /// <param name="sqlWhere">查询条件</param>
 /// <returns></returns>
 public static DataTable GetHrsLeaveOpinion(string sqlWhere)
 {
     return(WorkFlowManager.GetHrsLeaveOpinion(sqlWhere));
 }
예제 #15
0
 /// <summary>
 /// 得到业务公共实体
 /// </summary>
 /// <param name="AppInstanceID"></param>
 /// <returns></returns>
 public static HrsLeaveOpinionEntity GetHrsLeaveOpinionByAppInstanceID(string AppInstanceID)
 {
     return(WorkFlowManager.GetHrsLeaveOpinionByAppInstanceID(AppInstanceID));
 }
예제 #16
0
 /// <summary>
 /// 获取用户集合
 /// </summary>
 /// <param name="sqlWhere">查询条件</param>
 /// <returns></returns>
 public static DataTable GetSysUser(string sqlWhere)
 {
     return(WorkFlowManager.GetSysUser(sqlWhere));
 }
예제 #17
0
 /// <summary>
 /// 获取用户集合
 /// </summary>
 /// <param name="roleID">角色ID集合</param>
 /// <returns></returns>
 public static DataTable GetSysUserByRoleIdList(string roleIdList)
 {
     return(WorkFlowManager.GetSysUserByRoleIdList(roleIdList));
 }
예제 #18
0
 /// <summary>
 /// 查询业务流程
 /// </summary>
 /// <param name="AppInstanceID">应用实例ID</param>
 /// <returns></returns>
 public static DataTable GetBizAppFlowByAppInstanceID(string AppInstanceID)
 {
     return(WorkFlowManager.GetBizAppFlowByAppInstanceID(AppInstanceID));
 }
예제 #19
0
 /// <summary>
 /// 得到业务公共实体
 /// </summary>
 /// <param name="AppInstanceID"></param>
 /// <returns></returns>
 public static BizAppFlowEntity GetBizAppFlowModelByAppInstanceID(string AppInstanceID)
 {
     return(WorkFlowManager.GetBizAppFlowModelByAppInstanceID(AppInstanceID));
 }
예제 #20
0
 /// <summary>
 /// 新增一条业务流程数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int AddBizAppFlow(BizAppFlowEntity model)
 {
     return(WorkFlowManager.AddBizAppFlow(model));
 }
예제 #21
0
 /// <summary>
 /// 得到业务公共实体
 /// </summary>
 /// <param name="ID"></param>
 /// <returns></returns>
 public static BizAppFlowEntity GetBizAppFlowModel(int ID)
 {
     return(WorkFlowManager.GetBizAppFlowModel(ID));
 }
예제 #22
0
 public WorkFlowServices()
 {
     _workFlowManager = new WorkFlowManager();
 }
예제 #23
0
 /// <summary>
 /// 查询业务流程
 /// </summary>
 /// <param name="sqlWhere">查询条件</param>
 /// <returns></returns>
 public static DataTable GetBizAppFlow(string sqlWhere)
 {
     return(WorkFlowManager.GetBizAppFlow(sqlWhere));
 }
예제 #24
0
 /// <summary>
 /// 更新请假活动步骤数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static bool UpdateHrsLeave(HrsLeaveEntity model)
 {
     return(WorkFlowManager.UpdateHrsLeave(model));
 }
예제 #25
0
 /// <summary>
 /// 得到用户对象实体
 /// </summary>
 /// <param name="ID">用户ID</param>
 /// <returns></returns>
 public static SysUserEntity GetSysUserModel(int ID)
 {
     return(WorkFlowManager.GetSysUserModel(ID));
 }
예제 #26
0
 /// <summary>
 /// 查询请假流程实例
 /// </summary>
 /// <param name="sqlWhere">查询条件</param>
 /// <returns></returns>
 public static DataTable GetHrsLeaveProcessInstance(string sqlWhere)
 {
     return(WorkFlowManager.GetHrsLeaveProcessInstance(sqlWhere));
 }
예제 #27
0
 /// <summary>
 /// 获取用户集合
 /// </summary>
 /// <param name="roleID">角色ID</param>
 /// <returns></returns>
 public static DataTable GetSysUser(int roleID)
 {
     return(WorkFlowManager.GetSysUser(roleID));
 }
예제 #28
0
 /// <summary>
 /// 新增一条业务流程数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int AddHrsLeaveOpinion(HrsLeaveOpinionEntity model)
 {
     model.ChangedTime = DateTime.Now;
     return(WorkFlowManager.AddHrsLeaveOpinion(model));
 }
예제 #29
0
 /// <summary>
 /// 增加一条请假数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int AddHrsLeave(HrsLeaveEntity model)
 {
     return(WorkFlowManager.AddHrsLeave(model));
 }
예제 #30
0
 /// <summary>
 /// 得到业务公共实体
 /// </summary>
 /// <param name="ID"></param>
 /// <returns></returns>
 public static HrsLeaveOpinionEntity GetHrsLeaveOpinionModel(int ID)
 {
     return(WorkFlowManager.GetHrsLeaveOpinionModel(ID));
 }