示例#1
0
        static public bool BusinessVerify(IDBProvider dBProvider, ILoginUser userData)
        {
            _stationInfo = StationInfo.GetLocateStationInfo(_serverName, dBProvider);
            if (_stationInfo == null)
            {
                MessageBox.Show("当前站点信息尚未配置,请联系管理员。", "提示");
                return(false);
            }

            //判断当前用户是否能够登录当前科室的系统
            UserModel um = new UserModel(dBProvider);
            List <UserReleationData> urds = um.GetUserDepartmentRoleInfos(userData.UserId);

            if (urds == null)
            {
                MessageBox.Show("未找到对应科室信息不能进行登录,请联系管理员。", "提示");
                return(false);
            }

            string departmentId = _stationInfo.DepartmentId;

            int index = urds.FindIndex(T => T.科室ID == departmentId);

            if (index < 0)
            {
                MessageBox.Show("当前科室 [" + _stationInfo.DepartmentName + "] 未配置该用户不能进行登录,请联系管理员。", "提示");
                return(false);
            }

            UserReleationData urd = urds[index];

            if (string.IsNullOrEmpty(urd.角色ID))
            {
                MessageBox.Show("当前用户尚未分配角色不能进行登录,请联系管理员。", "提示");
                return(false);
            }

            userData.RoleId       = urd.角色ID;
            userData.DepartmentId = urd.科室ID;

            return(true);
        }