示例#1
0
        /// <summary>
        /// 初始化超级用户
        /// </summary>
        /// <returns></returns>
        public bool InitSuperUser(NewUserRequest request)
        {
            bool success = false;

            var super = UsersAccessor.GetSuperUser();

            string[] codes = PermissionCache.Instance.GetCodeArray();

            if (super != null)
            {
                UserManage manage = new UserManage(super);
                success = manage.ModifyTo(new UserModifyState
                {
                    Email       = request.Email,
                    Mobile      = request.Mobile,
                    Name        = request.Name,
                    Title       = request.Title,
                    UserName    = request.Username,
                    Password    = request.Password,
                    Permissions = codes
                });
            }
            else
            {
                request.Permissions = codes;
                NewUser newUser = new NewUser(request, true);
                success = newUser.Save();
            }

            return(success);
        }
示例#2
0
        public bool Save()
        {
            ThrowExceptionIfValidateFailure();

            string permissionCodes = string.Empty;

            if (Permissions != null)
            {
                permissionCodes = string.Join(",", Permissions);
            }

            //新用户仓储对象
            Users user = new Users
            {
                UserId         = ID,
                Username       = Username,
                Name           = Name,
                Password       = EncryptPassword,
                Title          = Title,
                Email          = Email,
                Mobile         = Mobile,
                CreateTime     = DateTime.Now,
                LastTime       = DateTime.Now,
                LoginCount     = 0,
                Status         = Status,
                PermissionCode = permissionCodes,
                IsSuper        = IsSuper
            };

            return(UsersAccessor.Add(user, Study));
        }
示例#3
0
        /// <summary>
        /// 业务数据检测
        /// </summary>
        protected override void Validate()
        {
            //课程标题为空时
            if (string.IsNullOrWhiteSpace(Title))
            {
                AddBrokenRule(NewCourseFailureRule.TITLE_CANNOT_NULL_OR_EMPTY);
            }

            //课程内容为空时
            if (string.IsNullOrWhiteSpace(Content))
            {
                AddBrokenRule(NewCourseFailureRule.CONTENT_CANNOT_NULL_OR_EMPTY);
            }

            //学习目标为空时
            if (string.IsNullOrWhiteSpace(Objective))
            {
                AddBrokenRule(NewCourseFailureRule.OBJECTIVE_CANNOT_NULL_OR_EMPTY);
            }

            //所属科目不存在时
            if (!SubjectsAccessor.Exists(SubjectId))
            {
                AddBrokenRule(NewCourseFailureRule.SUBJECT_NOT_EXISTS);
            }

            //创建课程的用户不存在时
            if (!UsersAccessor.Exists(UserId))
            {
                AddBrokenRule(NewCourseFailureRule.CREATER_NOT_EXISTS);
            }
        }
示例#4
0
        /// <summary>
        /// 搜索学习计划信息
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <param name="keyword"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public PagerModel <StudyPlanResponse> Search(int pageSize, int pageIndex, string keyword, int?status)
        {
            StudyPlanSearch search = new StudyPlanSearch(pageIndex, pageSize, keyword, status);

            var result = search.Search();

            var userIds = result.Table.Select(p => p.UserId);

            var names = UsersAccessor.GetUsernames(userIds);

            List <StudyPlanResponse> list = new List <StudyPlanResponse>();

            foreach (var item in result.Table)
            {
                var temp = new StudyPlanResponse(item);

                string userName = names.ContainsKey(item.UserId) ? names[item.UserId] : string.Empty;

                temp.Creator = userName;

                list.Add(temp);
            }

            return(new PagerModel <StudyPlanResponse>
            {
                Count = result.Count,
                Index = result.Index,
                Size = result.Size,
                Table = list
            });
        }
示例#5
0
        UserSessionStorage CreateStorage()
        {
            if (user.IsGuest)
            {
                var storage = new UserSessionStorage();

                return(storage);
            }
            var data = UsersAccessor.Get(user.UserId);

            if (data != null)
            {
                try
                {
                    var storage = new UserSessionStorage();
                    storage.SessionId      = data.UserId;
                    storage.Username       = data.Username;
                    storage.Mobile         = data.Mobile;
                    storage.Email          = data.Email;
                    storage.Title          = data.Title;
                    storage.Name           = data.Name;
                    storage.Password       = data.Password;
                    storage.PermissionCode = data.PermissionCode;
                    return(storage);
                }
                catch
                {
                    user.Logout();
                }
            }
            user.Logout();
            return(new UserSessionStorage());
        }
示例#6
0
        /// <summary>
        /// 获取学员集合
        /// </summary>
        /// <returns></returns>
        private List <Student> GetStudents()
        {
            ThrowExceptionIfValidateFailure();

            var tempStudents = new List <Student>();

            //获取学员学习计划集合
            var studentPlans = UserStudyPlanAccessor.GetStudentStudyPlans(ID);

            //学员ID集合
            var studentIds = studentPlans.Select(p => p.UserId).ToArray();

            //根据学员ID集合获取学员信息
            var students = UsersAccessor.GetUserList(studentIds);

            foreach (var user in students)
            {
                var plan = studentPlans.FirstOrDefault(p => p.UserId == user.UserId);

                tempStudents.Add(new Student
                {
                    UserId        = user.UserId,
                    Email         = user.Email,
                    Mobile        = user.Mobile,
                    Title         = user.Title,
                    Name          = user.Name,
                    Username      = user.Username,
                    StudyStatus   = plan.Status,
                    Progress      = plan.Progress,
                    LastStudyTime = plan.UpdateTime
                });
            }

            return(tempStudents);
        }
示例#7
0
        public override void Execute()
        {
            Validate();

            var state = State as UserSignedEventState;

            UsersAccessor.UpdateSignInfo(state.UserId, state.SignedTime);
        }
示例#8
0
        /// <summary>
        /// Аутентификацию пользователя
        /// </summary>
        /// <param name="user">Пользователь</param>
        /// <param name="usersAccessor">Класс доступа к данным о пользователях</param>
        /// <returns>Статус аутентификации. True - успешная аутентификация</returns>
        internal static bool Login(this UserEntity user, UsersAccessor usersAccessor)
        {
            var isCorrectUser = usersAccessor.IsCorrectUser(user);

            if (!isCorrectUser) return false;

            FormsAuthentication.SetAuthCookie(user.Login, false);
            return true;
        }
示例#9
0
        /// <summary>
        /// 将<see cref="ExamUsers"/>类型转换为<see cref="UserExamSearchResultItem"/>类型数据
        /// </summary>
        /// <param name="sourceData"><see cref="ExamUsers"/>源数据</param>
        /// <returns></returns>
        public IEnumerable <UserExamSearchResultItem> ConvertToSearchResult(IEnumerable <ExamUsers> sourceData)
        {
            if (sourceData == null)
            {
                yield break;
            }

            //得到用户集合
            long[] userIds = sourceData.Select(p => p.UserId).ToArray();
            var    users   = UsersAccessor.GetSimpleUsers(userIds);

            //得到考卷模板集合
            long[] examIds = sourceData.Select(p => p.ExamId).ToArray();
            var    exams   = ExamsAccessor.GetSimpleExams(examIds);

            //循环处理
            foreach (var item in sourceData)
            {
                var user = users.FirstOrDefault(p => p.UserId == item.UserId);
                var exam = exams.FirstOrDefault(p => p.ExamId == item.ExamId);

                var result = new UserExamSearchResultItem
                {
                    UserExamId    = item.Id,
                    UserId        = item.UserId,
                    ExamId        = item.ExamId,
                    ActualTime    = item.Times,
                    MarkingStatus = item.MarkingStatus,
                    MarkingTime   = item.MarkingTime,
                    CreateTime    = item.CreateTime,
                    PostTime      = item.PostTime,
                    Score         = item.Total
                };

                if (user != null)
                {
                    result.UserMobile = user.Mobile;
                    result.UserName   = user.Name;
                    result.UserTitle  = user.Title;
                }

                if (exam != null)
                {
                    result.ExamTitle = exam.Title;
                    result.ExamType  = exam.ExamType;
                    result.MaxTime   = exam.Time;
                    result.Total     = exam.Total;
                    result.Pass      = exam.Pass;
                }

                yield return(result);
            }
        }
示例#10
0
        /// <summary>
        /// 转换数据
        /// </summary>
        /// <param name="userPlans">用户学习计划情况集合</param>
        /// <returns></returns>
        private List <UserStudyPlanSearchResultItem> TransferData(IEnumerable <Data.Entity.UserStudyPlan> userPlans)
        {
            if (userPlans == null || userPlans.Count() < 1)
            {
                return(new List <UserStudyPlanSearchResultItem>());
            }

            //用户学习计划ID集合
            var planIds = userPlans.Select(p => p.PlanId).ToArray();

            //获取所有的学习计划
            var plans = StudyPlanAccessor.GetList(planIds);

            if (plans == null || plans.Count() < 1)
            {
                return(null);
            }

            //计划制定者ID集合
            var creatorIds = plans.Select(p => p.UserId);
            //获取制定者名称集合
            var creatorNames = UsersAccessor.GetUsernames(creatorIds);

            var list = new List <UserStudyPlanSearchResultItem>();

            foreach (var plan in plans)
            {
                //用户学习计划执行情况
                var userPlan = userPlans.FirstOrDefault(p => p.PlanId == plan.PlanId);
                //制定者名称
                var creatorName = creatorNames[plan.UserId];

                list.Add(new UserStudyPlanSearchResultItem
                {
                    UserId        = userPlan.UserId,
                    PlanId        = plan.PlanId,
                    Title         = plan.Title,
                    Content       = plan.Content,
                    CreatorId     = plan.UserId,
                    Creator       = creatorName,
                    StudentCount  = plan.Student,
                    PlanStatus    = plan.Status,
                    CreateTime    = plan.CreateTime,
                    StudyStatus   = userPlan.Status,
                    Progress      = userPlan.Progress,
                    LastStudyTime = userPlan.UpdateTime
                });
            }

            return(list);
        }
示例#11
0
        public NewsService()
        {
            UsersAccessor = new UsersAccessor();
            Mapper.CreateMap<UserEntity, UserDto>();
            Mapper.CreateMap<UserDto, UserEntity>();

            NewsPostsAccessor = new NewsPostsAccessor();
            Mapper.CreateMap<NewsPostEntity, NewsPostDto>();
            Mapper.CreateMap<NewsPostDto, NewsPostEntity>();

            LogsAccessor = new LogsAccessor();
            Mapper.CreateMap<LogEntity, LogDto>();
            Mapper.CreateMap<LogDto, LogEntity>();
        }
示例#12
0
        /// <summary>
        /// 执行搜索
        /// </summary>
        public PagerModel <Users> Search()
        {
            this.ThrowExceptionIfValidateFailure();

            PagerModel <Users> pager = new PagerModel <Users>()
            {
                Index = PageIndex,
                Size  = PageSize
            };

            UsersAccessor.Get(pager, Keyword, Status);

            return(pager);
        }
示例#13
0
        /// <summary>
        /// 设置为禁用状态
        /// </summary>
        public bool SetDisabled()
        {
            //如果用户信息验证失败,则抛出异常
            ThrowExceptionIfValidateFailure(() =>
            {
                //不允许设置为禁用时,抛出错误异常
                if (!CanSetDisabled())
                {
                    AddBrokenRule(UserAccountFailureRules.CANNET_SET_DISABLED);
                }
            });

            return(UsersAccessor.SetStatus(ID, (int)UserStatus.DISABLED));
        }
示例#14
0
        protected override void Validate()
        {
            //计划制定者不存在
            if (!UsersAccessor.Exists(StudyPlan.UserId))
            {
                AddBrokenRule(NewStudyPlanFailureRule.CREATOR_NOT_EXISTS);
            }

            //标题为空
            if (string.IsNullOrWhiteSpace(StudyPlan.Title))
            {
                AddBrokenRule(NewStudyPlanFailureRule.TITLE_CANNOT_EMPTY);
            }

            //标题已存在
            if (StudyPlanAccessor.Exists(StudyPlan.Title))
            {
                AddBrokenRule(NewStudyPlanFailureRule.TITLE_CANNOT_REPEAT);
            }

            //计划内容说明为空
            if (string.IsNullOrWhiteSpace(StudyPlan.Content))
            {
                AddBrokenRule(NewStudyPlanFailureRule.CONTENT_CANNOT_EMPTY);
            }

            //未指定学员
            if (_studentIds == null || _studentIds.Count() < 1)
            {
                AddBrokenRule(NewStudyPlanFailureRule.STUDENTS_CANNOT_EMPTY);
            }

            //未指定关联课程
            if (_courseIds == null || _courseIds.Count() < 1)
            {
                AddBrokenRule(NewStudyPlanFailureRule.COURSE_CANNOT_EMPTY);
            }

            //并非所有课程都存在
            if (!CourseAccessor.AllExists(_courseIds))
            {
                AddBrokenRule(NewStudyPlanFailureRule.PARTOF_COURSE_NOT_EXSITS);
            }
        }
示例#15
0
        /// <summary>
        /// 获取并转换为<see cref="ExamsDetails"/>类型数据对象
        /// </summary>
        /// <returns></returns>
        public ExamsDetails ConvertToExamsDetails()
        {
            if (Exams == null)
            {
                return(null);
            }

            var details = new ExamsDetails
            {
                ExamId        = Exams.ExamId,
                ExamType      = Exams.ExamType,
                Title         = Exams.Title,
                Remarks       = Exams.Remarks,
                Time          = Exams.Time,
                Total         = Exams.Total,
                Pass          = Exams.Pass,
                Status        = Exams.Status,
                UserId        = Exams.UserId,
                UseCount      = Exams.UseCount,
                Answers       = Exams.Answers,
                Radio         = Exams.Radio,
                RedioTotal    = Exams.RedioTotal,
                Multiple      = Exams.Multiple,
                MultipleTotal = Exams.MultipleTotal,
                Judge         = Exams.Judge,
                JudgeTotal    = Exams.JudgeTotal,
                Filling       = Exams.Filling,
                FillingTotal  = Exams.FillingTotal,
                Ask           = Exams.Ask,
                AskTotal      = Exams.AskTotal,
                CreateTime    = Exams.CreateTime,
                StartTime     = Exams.StartTime,
                EndTime       = Exams.EndTime
            };

            details.CreatorName = UsersAccessor.GetUsernameFor(Exams.UserId);
            details.Questions   = SimpleQuestions;
            details.Courses     = DicCoursesTitle;

            return(details);
        }
示例#16
0
        /// <summary>
        /// 申请登陆
        /// </summary>
        /// <param name="name">账户名</param>
        /// <param name="password">登陆密码</param>
        /// <param name="effectiveTime">保存时间</param>
        /// <param name="isAdmin">是否管理员登陆</param>
        /// <returns></returns>
        private EnumLoginState ApplyLogin(string name, string password, int effectiveTime, bool isAdmin)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(EnumLoginState.AccountError);
            }
            Users user = new Users();

            if (name.Contains("@"))
            {
                user = UsersAccessor.GetByEmail(name);
            }
            else
            {
                user = UsersAccessor.GetByMobile(name);
            }
            if (user == null)
            {
                return(EnumLoginState.AccountError);
            }
            if (!string.Equals(user.Password, Strings.PasswordEncrypt(password)))
            {
                return(EnumLoginState.PasswordError);
            }


            UserId           = user.UserId;
            Password         = user.Password;
            Username         = user.Username;
            Mobile           = user.Mobile;
            Email            = user.Email;
            CurrentLoginTime = DateTime.Now;
            PermissionCode   = user.PermissionCode;

            SaveLogin(this, effectiveTime);
            SessionBag.Refresh();
            SessionBag.CopyValue();
            //更新用户登陆次数
            //更新在线数据
            return(EnumLoginState.Succeed);
        }
示例#17
0
        /// <summary>
        /// 获取指定学员的学习进度信息
        /// </summary>
        /// <returns></returns>
        private Student GetStudent(long studentId)
        {
            Student student = null;

            if (Students != null)
            {
                student = Students.FirstOrDefault(p => p.UserId == studentId);
            }
            else
            {
                //该学员的学习计划
                var userPlan = UserStudyPlanAccessor.Get(ID, studentId);

                //学习信息
                var user = UsersAccessor.Get(studentId);

                ThrowExceptionIfValidateFailure(() =>
                {
                    if (userPlan == null)
                    {
                        AddBrokenRule(StudyPlanEditFailureRule.STUDENT_NOT_EXISTS);
                    }
                });

                return(new Student
                {
                    UserId = studentId,
                    Email = user.Email,
                    Mobile = user.Mobile,
                    Username = user.Username,
                    Name = user.Name,
                    Title = user.Title,
                    StudyStatus = userPlan.Status,
                    Progress = userPlan.Progress,
                    LastStudyTime = userPlan.UpdateTime
                });
            }

            return(student);
        }
示例#18
0
        /// <summary>
        /// 重置用户登录密码
        /// </summary>
        /// <param name = "newWord" > </param>
        /// <returns> </returns>
        public bool ResetPassword(string newWord)
        {
            //如果用户信息验证失败,则抛出异常
            ThrowExceptionIfValidateFailure(() =>
            {
                //新密码不能为空
                if (string.IsNullOrWhiteSpace(newWord))
                {
                    AddBrokenRule(UserAccountFailureRules.NEW_PASSWORD_CANNOT_NULL);
                }
            });

            string encryptPwd = newWord.PasswordEncrypt();

            //重置后的密码与重置前密码一致,则无须修改
            if (encryptPwd.Equals(UserInfo.Password, StringComparison.OrdinalIgnoreCase))
            {
                return(true);
            }

            return(UsersAccessor.ResetPassword(ID, encryptPwd));
        }
示例#19
0
        /// <summary>
        /// 修改用户登录密码
        /// </summary>
        /// <param name = "oldWord" > </param>
        /// <param name = "newWord" > </param>
        /// <returns> </returns>
        public bool ModifyPassword(string oldWord, string newWord)
        {
            bool success = false;

            //如果用户信息验证失败,则抛出异常
            ThrowExceptionIfValidateFailure(() =>
            {
                //新密码不能为空
                if (string.IsNullOrWhiteSpace(newWord))
                {
                    AddBrokenRule(UserAccountFailureRules.NEW_PASSWORD_CANNOT_NULL);
                }
                //验证旧密码是否正确
                else if (string.IsNullOrWhiteSpace(oldWord) || !oldWord.PasswordEncrypt()
                         .Equals(UserInfo.Password, StringComparison.OrdinalIgnoreCase))
                {
                    AddBrokenRule(UserAccountFailureRules.OLD_PASSWORD_CHECK_FAILURE);
                }
            });

            //新旧密码不一致时,将新密码更新到数据库
            if (!oldWord.Equals(newWord))
            {
                string encryptPwd = newWord.PasswordEncrypt();

                if (encryptPwd.Equals(UserInfo.Password, StringComparison.OrdinalIgnoreCase))
                {
                    success = true;
                }
                else
                {
                    success = UsersAccessor.ResetPassword(ID, encryptPwd);
                }
            }

            return(success);
        }
示例#20
0
 /// <summary>
 /// 是否已存在超级用户
 /// </summary>
 /// <returns></returns>
 public bool HasSuper()
 {
     return(UsersAccessor.HasSuperUser());
 }
示例#21
0
 /// <summary>
 /// 检测手机号是否被使用
 /// </summary>
 /// <returns></returns>
 public bool CheckForMobile()
 {
     return(UsersAccessor.MobileExists(Mobile));
 }
示例#22
0
 /// <summary>
 /// 检测邮箱是否被使用
 /// </summary>
 /// <returns></returns>
 public bool CheckForEmail()
 {
     return(UsersAccessor.EmailExists(Email));
 }
示例#23
0
 /// <summary>
 /// 检测用户名是否被使用
 /// </summary>
 /// <returns></returns>
 public bool CheckForUsername()
 {
     return(UsersAccessor.UsernameExists(Username));
 }
示例#24
0
 /// <summary>
 /// 实例化<see cref="CourseStudy"/>对象
 /// </summary>
 /// <param name="studentId">学员ID</param>
 /// <param name="chapterId">学习的课程章节ID</param>
 public CourseStudy(long studentId, long chapterId)
 {
     Chapter = ChapterAccessor.Get(chapterId);
     Student = UsersAccessor.Get(studentId);
 }
示例#25
0
 /// <summary>
 /// 实例化<see cref="CourseStudy"/>对象
 /// </summary>
 /// <param name="chapter">课程章节</param>
 /// <param name="studentId">学员ID</param>
 public CourseStudy(long studentId, Data.Entity.Chapter chapter)
 {
     Chapter = chapter;
     Student = UsersAccessor.Get(studentId);
 }
示例#26
0
        /// <summary>
        /// 修改资料
        /// </summary>
        /// <param name = "state" > 用户名 </param>
        /// <returns> </returns>
        public bool ModifyTo(UserModifyState state)
        {
            ThrowExceptionIfValidateFailure(() =>
            {
                //编辑的内容为NULl
                if (state == null)
                {
                    AddBrokenRule(UserAccountFailureRules.MODIFYSTATE_CANNOT_NULL);
                }
                else
                {
                    // 用户名不能为空
                    if (string.IsNullOrWhiteSpace(state.UserName))
                    {
                        AddBrokenRule(UserAccountFailureRules.USERNAME_REQUIRE);
                    }
                    // 姓名不能为空
                    else if (string.IsNullOrWhiteSpace(state.Name))
                    {
                        AddBrokenRule(UserAccountFailureRules.NAME_REQUIRE);
                    }
                    // Email不能为空且格式要正确
                    else if (!state.Email.IsEmail())
                    {
                        AddBrokenRule(UserAccountFailureRules.EMAIL_ERROR);
                    }
                    // 手机号不能为空且格式要正确
                    else if (!state.Mobile.IsCnPhone())
                    {
                        AddBrokenRule(UserAccountFailureRules.MOBILE_ERROR);
                    }
                    // 用户名被使用
                    else if (UsersAccessor.UsernameExists(state.UserName, ID))
                    {
                        AddBrokenRule(UserAccountFailureRules.USERNAME_EXISTS);
                    }
                    // 邮箱被使用
                    else if (UsersAccessor.EmailExists(state.Email, ID))
                    {
                        AddBrokenRule(UserAccountFailureRules.EMAIL_EXISTS);
                    }
                    // 手机号被使用
                    else if (UsersAccessor.MobileExists(state.Mobile, ID))
                    {
                        AddBrokenRule(UserAccountFailureRules.MOBILE_EXISTS);
                    }
                }
            });

            //权限编号序列组
            string permissionCodes = string.Empty;

            if (state.Permissions != null)
            {
                permissionCodes = string.Join(",", state.Permissions);
            }

            bool success = false;

            if (state.IsModifyBySelf)
            {
                success = UsersAccessor.UpdateFor(ID, state.UserName, state.Email, state.Mobile, state.Title, state.Name);
            }
            else if (string.IsNullOrWhiteSpace(state.Password))
            {
                success = UsersAccessor.UpdateFor(ID, state.UserName, state.Email, state.Mobile, state.Title, state.Name, permissionCodes);
            }
            else
            {
                success = UsersAccessor.UpdateFor(ID, state.UserName, state.Email, state.Mobile, state.Title, state.Name, state.EncryptPassword, permissionCodes);
            }

            return(success);
        }
示例#27
0
        protected override void Validate()
        {
            //题目创建用户不存在
            if (!UsersAccessor.Exists(UserId))
            {
                AddBrokenRule(NewQuestionFailureRule.QUESTION_CREATOR_NOT_EXISTS);
            }

            //题目所属课程不存在
            if (!CourseAccessor.Exists(CourseId))
            {
                AddBrokenRule(NewQuestionFailureRule.COURSE_NOT_EXISTS);
            }

            //题目类型无效
            if (!((IList <int>)Enum.GetValues(typeof(QuestionType))).Contains(Type))
            {
                AddBrokenRule(NewQuestionFailureRule.QUESTION_TYPE_ERROR);
            }

            //题目标题不能为空
            if (string.IsNullOrWhiteSpace(Topic))
            {
                AddBrokenRule(NewQuestionFailureRule.TOPIC_CANNOT_EMPTY);
            }

            // 如果->非问答题且答案项为NULL,则抛出错误;
            // 否则->题目类型与答案项进能校验,校验规则如下:
            //  1、匹配,则验证答案项设置是否有效
            //  2、不匹配,则添加业务错误
            if (Type != (int)QuestionType.ESSAY_QUESTION && AnswerOptions == null)
            {
                AddBrokenRule(NewQuestionFailureRule.ANSWER_OPTIONS_CANNOT_EMPTY);
            }
            else if (QuestionTools.CheckAnswerOptionsType(AnswerOptions, Type))
            {
                //题目的答案项验证失败
                if (!AnswerOptions.Validate())
                {
                    if (AnswerOptions is SingleChoiceAnswer)
                    {
                        AddBrokenRule(NewQuestionFailureRule.SINGLE_CHOICE_ANSWER_OPTIONS_ERROR);
                    }
                    else if (AnswerOptions is MultipleChoiceAnswer)
                    {
                        AddBrokenRule(NewQuestionFailureRule.MULTIPLE_CHOICE_ANSWER_OPTIONS_ERROR);
                    }
                    else if (AnswerOptions is TrueFalseAnswer)
                    {
                        AddBrokenRule(NewQuestionFailureRule.TRUE_FALSE_ANSWER_OPTIONS_ERROR);
                    }
                    else if (AnswerOptions is GapFillingAnswer)
                    {
                        AddBrokenRule(NewQuestionFailureRule.GAP_FILLING_ANSWER_OPTIONS_ERROR);
                    }
                }
            }
            else
            {
                AddBrokenRule(NewQuestionFailureRule.QUESTION_TYPE_AND_ANSWER_OPTIONS_REGEX_FAILURE);
            }
        }
示例#28
0
 /// <summary>
 /// 获取指定用户的简要数据集合
 /// </summary>
 /// <param name="status"></param>
 /// <returns></returns>
 public List <UserSimpleInfo> GetSimpleUsers(int?status = null)
 {
     return(UsersAccessor.GetSimpleUsers(status));
 }