public bool SetDisable() { ThrowExceptionIfValidateFailure(() => { if (!CanSetDisable()) { AddBrokenRule(StudyPlanEditFailureRule.STATUS_CANNOT_SET_TO_DISABLE); } }); return(StudyPlanAccessor.SetStatus(ID, (int)StudyPlanStatus.DISABLED)); }
/// <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); }
/// <summary> /// 执行搜索 /// </summary> public PagerModel <Data.Entity.StudyPlan> Search() { this.ThrowExceptionIfValidateFailure(); PagerModel <Data.Entity.StudyPlan> pager = new PagerModel <Data.Entity.StudyPlan>() { Index = PageIndex, Size = PageSize }; StudyPlanAccessor.Get(pager, Keyword, status: Status); return(pager); }
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); } }
/// <summary> /// 保存 /// </summary> /// <returns></returns> public bool Save() { //验证 ThrowExceptionIfValidateFailure(); //入库 bool success = StudyPlanAccessor.Insert(StudyPlan, Courses, StudentsPlan); #region 事件处理 if (success) { ExecuteEventsAfterAdded(); } #endregion return(success); }
public StudyPlanManage(long planId) { ID = planId; StudyPlan = StudyPlanAccessor.Get(planId); }