コード例 #1
0
        /// <summary>
        /// Kiểm tra 1 user có thỏa mãn 1 step config hay không
        /// </summary>
        /// <param name="user"></param>
        /// <param name="step"></param>
        /// <returns></returns>
        private bool CheckUserStep(UserInfoBO user, WF_STEP step, WF_STEP_USER_PROCESS config)
        {
            var isResult = true;

            if (config.CHUCVU_ID.HasValue)
            {
                if (user.CHUCVU_ID != config.CHUCVU_ID)
                {
                    isResult = false;
                    return(isResult);
                }
            }
            if (config.VAITRO_ID.HasValue)
            {
                if (!user.ListVaiTro.Any(x => x.DM_VAITRO_ID == config.VAITRO_ID))
                {
                    isResult = false;
                    return(isResult);
                }
            }
            if (config.PHONGBAN_ID.HasValue)
            {
                if (user.DM_PHONGBAN_ID != config.PHONGBAN_ID)
                {
                    isResult = false;
                    return(isResult);
                }
            }
            if (!config.IS_CUNGPHONG.HasValue)
            {
                return(false);
            }

            return(isResult);
        }
コード例 #2
0
        public JsonResult SaveConfig(WF_STEP_CONFIG config, bool isBack, bool isMain, WF_STEP_USER_PROCESS mainProcess, bool isJoin, WF_STEP_USER_PROCESS joinProcess)
        {
            var result = new JsonResultBO(true);

            AssignUserInfo();
            var WF_STEP_CONFIGBusiness       = Get <WF_STEP_CONFIGBusiness>();
            var WF_STEP_USER_PROCESSBusiness = Get <WF_STEP_USER_PROCESSBusiness>();

            try
            {
                if (config.ID == 0)
                {
                    config.create_at = DateTime.Now;
                    config.create_by = currentUser.ID;
                }
                else
                {
                    config.edit_at = DateTime.Now;
                    config.edit_by = currentUser.ID;
                }

                config.IS_BACK_USER = isBack;

                WF_STEP_CONFIGBusiness.Save(config);
                if (isMain)
                {
                    if (mainProcess.ID == 0)
                    {
                        mainProcess.create_at = DateTime.Now;
                        mainProcess.create_by = currentUser.ID;
                    }
                    else
                    {
                        mainProcess.edit_at = DateTime.Now;
                        mainProcess.edit_by = currentUser.ID;
                    }
                    WF_STEP_USER_PROCESSBusiness.Save(mainProcess);
                }
                else
                {
                    WF_STEP_USER_PROCESSBusiness.DeleteProcess(config.WF_STEP_ID.GetValueOrDefault(0), true);
                }


                if (isJoin)
                {
                    if (joinProcess.ID == 0)
                    {
                        joinProcess.create_at = DateTime.Now;
                        joinProcess.create_by = currentUser.ID;
                    }
                    else
                    {
                        joinProcess.edit_at = DateTime.Now;
                        joinProcess.edit_by = currentUser.ID;
                    }
                    WF_STEP_USER_PROCESSBusiness.Save(joinProcess);
                }
                else
                {
                    WF_STEP_USER_PROCESSBusiness.DeleteProcess(config.WF_STEP_ID.GetValueOrDefault(0), false);
                }
            }
            catch
            {
                result.Status  = false;
                result.Message = "Không cập nhật được";
            }


            return(Json(result));
        }