public UserController(
     IListUsers listUser,
     IFindUser findUser,
     IUserNameAcceptable userNameAcceptable,
     ICreateUser createUser,
     IGetUser getUser)
 {
     this.listUser           = listUser;
     this.findUser           = findUser;
     this.userNameAcceptable = userNameAcceptable;
     this.createUser         = createUser;
     this.getUser            = getUser;
 }
Example #2
0
        /// <summary>
        /// 控制流程实例的流转
        /// </summary>
        /// qiy     16.04.29
        /// yaoy    16.07.27 移除流程引擎中开始流程方法
        /// <param name="data">流程数据</param>
        /// <returns></returns>
        public bool Process(FlowData data)
        {
            var          _action = new Action();
            InstanceInfo instance;

            ActionInfo action = _action.Get(data.ActionId);

            instance = _instance.Get(data.InstanceId.Value);
            IFindUser finduser = FindUser.CreateStrategy(action);

            instance.CurrentNode = action.Transfer;
            instance.CurrentUser = finduser.FindUser(data);
            instance.ProcessTime = DateTime.Now;
            instance.ProcessUser = User.User.CurrentUserId;

            if (action.Type == ActionInfo.TypeEnum.完成)
            {
                instance.Status = InstanceInfo.StatusEnum.完成;
            }
            else if (action.Type == ActionInfo.TypeEnum.终止)
            {
                instance.Status = InstanceInfo.StatusEnum.终止;
            }

            if (instance.Status != InstanceInfo.StatusEnum.正常)
            {
                instance.EndTime = DateTime.Now;
            }

            Log _log = new Log();

            _log.Add(new LogInfo
            {
                InstanceId  = instance.InstanceId,
                NodeId      = action.NodeId,
                ActionId    = action.ActionId,
                ProcessUser = instance.ProcessUser,
                ProcessTime = instance.ProcessTime,
                InOpinion   = data.InOpinion,
                ExOpinion   = data.ExOpinion
            });

            return(_instance.Modify(instance));
        }
Example #3
0
        /// <summary>
        /// 查找下一个处理者
        /// </summary>
        /// yand    16.09.13
        /// <param name="actionId"></param>
        /// <returns></returns>
        public UserInfo FindLastUser(int actionId, int instanceId)
        {
            UserInfo userinfo = new UserInfo();
            //根据行为ID查找对应的通知用户
            ActionInfo action   = new BLL.Flow.Action().Get(actionId);
            IFindUser  finduser = FindUser.CreateStrategy(action);

            //根据行为ID和实例ID查找下一个处理者
            FlowData flowData = new FlowData()
            {
                InstanceId = instanceId,
                ActionId   = actionId
            };
            // 判断是否查到人,查不到分配总经理账户
            int userId = finduser.FindUser(flowData) == null ? new DAL.User.UserInfoMapper().FindByRole("总经理").UserId : finduser.FindUser(flowData).Value;

            userinfo = new BLL.User.User().GetUser(userId);

            return(userinfo);
        }
Example #4
0
 public UserController(ICreateUser createUser, IFindUser findUser)
 {
     _createUser = createUser;
     _findUser   = findUser;
 }