public ActionResult Majors() { var model = MajorRepository.GetAll(); return(View(model.ToList())); }
public ActionResult DeleteMajor(int id) { var major = MajorRepository.Get(id); return(View(major)); }
public ActionResult DeleteMajor(Major major) { MajorRepository.Delete(major.MajorId); return(RedirectToAction("Majors")); }
public ActionResult AddMajor(Major major) { MajorRepository.Add(major.MajorName); return(RedirectToAction("Majors")); }
public ActionResult EditMajor(Major major) { MajorRepository.Edit(major); return(RedirectToAction("Majors")); }
public MajorsController() { _majorRepository = new MajorRepository(); }
public ActionResult EditStudent(StudentVM studentVM) { studentVM.Student.Courses = new List <Course>(); foreach (var id in studentVM.SelectedCourseIds) { studentVM.Student.Courses.Add(CourseRepository.Get(id)); } studentVM.Student.Major = MajorRepository.Get(studentVM.Student.Major.MajorId); var student = StudentRepository.Get(studentVM.Student.StudentId); if (studentVM.Student.Address.Street1 != null) { student.Address = new Address(); student.Address.Street1 = studentVM.Student.Address.Street1; } if (studentVM.Student.Address.Street2 != null) { student.Address.Street2 = studentVM.Student.Address.Street2; studentVM.Student.Address.Street2 = ""; } else { studentVM.Student.Address.Street2 = ""; } if (studentVM.Student.Address.City != null) { student.Address.City = studentVM.Student.Address.City; } if (studentVM.Student.Address.State.StateAbbreviation != null) { student.Address.State = new State(); student.Address.State.StateAbbreviation = studentVM.Student.Address.State.StateAbbreviation; } if (studentVM.Student.Address.PostalCode != null) { student.Address.PostalCode = studentVM.Student.Address.PostalCode; } if (ModelState.IsValid) { StudentRepository.Edit(studentVM.Student); return(RedirectToAction("List")); } else { studentVM.SetMajorItems(MajorRepository.GetAll()); return(View(studentVM));// } }
public MajorController(ILogger <MajorController> logger, MajorRepository majorRepository) { _logger = logger; _majorRepository = majorRepository; }
/// <summary> /// 初始化评审数据:包括自动生成评审名称、专业名称,自动加入对应的项目和专家 /// </summary> /// <param name="review"></param> /// <returns></returns> private async Task InitReview(Review review) { var matchInstance = await MatchInstanceRepository.GetAllIncluding(o => o.Match).Where(o => o.Id == review.MatchInstanceId).FirstOrDefaultAsync(); //决赛评审初始化 if (review.ReviewType == ReviewType.Champion) { review.ReviewName = matchInstance.Match.Name + "-决赛"; review.ReviewExperts = new List <ReviewExpert>(); review.ReviewProjects = new List <ReviewProject>(); return; } var mainMajor = await MajorRepository.GetAsync(review.MajorId.Value); //评选的专业名称 review.ReviewMajorName = mainMajor.BriefName; if (review.SubMajorId != null) { var subMajor = await MajorRepository.GetAsync(review.SubMajorId.Value); review.ReviewMajorName += "-" + subMajor.BriefName; } review.ReviewName = matchInstance.Match.Name + "-" + review.ReviewMajorName; review.ReviewName += "-" + (review.ReviewType == ReviewType.Initial ? "初评" : "终评"); //验证数据 if (await Repository.CountAsync(o => o.MatchInstanceId == review.MatchInstanceId && o.ReviewName == review.ReviewName) > 0) { throw new UserFriendlyException("当前赛事下相同名称的评选活动已存在"); } if (review.SubMajorId == null) { //如果未指定子专业,则默认不选入项目和专家 review.ReviewExperts = new List <ReviewExpert>(); review.ReviewProjects = new List <ReviewProject>(); return; } //将当前赛事对应的项目加入 var projectQuery = ProjectRepository.GetAll().Where(o => o.MatchInstanceId == review.MatchInstanceId && o.Prize.MajorId == review.MajorId); //modi20181031去除混排类项目 projectQuery = projectQuery.Where(o => o.Prize.PrizeType != Prizes.PrizeType.Mixed); //&& (o.ProjectStatus==ProjectStatus.UnderReview || (o.ProjectStatus==ProjectStatus.Reviewing && o.Prize.PrizeType==Prizes.PrizeType.Multiple)) if (review.ReviewType == ReviewType.Initial) { //初评选择待评选和初评中的项目 projectQuery = projectQuery.Where(o => o.ProjectStatus == ProjectStatus.UnderReview || o.ProjectStatus == ProjectStatus.Reviewing); } else { //终评选择有终评标识的项目 projectQuery = projectQuery.Where(o => o.IsInFinalReview); } if (review.SubMajorId == null) { //针对专业大类的项目 projectQuery = projectQuery.Where(o => o.ProjectMajorInfos.Count == 1); } else { //有具体专业小类的项目 projectQuery = projectQuery.Where(o => o.ProjectMajorInfos.Count(p => p.MajorId == review.SubMajorId) > 0); } var projects = await projectQuery.ToListAsync(); var reviewProjects = new List <ReviewProject>(); for (var i = 0; i < projects.Count; i++) { var reviewProject = new ReviewProject() { Id = projects[i].Id, Sort = 0 }; //设置项目状态为初评中 if (review.ReviewType == ReviewType.Initial && projects[i].ProjectStatus != ProjectStatus.Reviewing) { projects[i].ProjectStatus = ProjectStatus.Reviewing; await ProjectManager.TraceLog(projects[i].Id, "进入初评", ProjectStatus.Reviewing); } else if (review.ReviewType == ReviewType.Finish && projects[i].ProjectStatus != ProjectStatus.FinalReviewing) { projects[i].ProjectStatus = ProjectStatus.FinalReviewing; //更改项目状态 await ProjectManager.TraceLog(projects[i].Id, "进入终评", ProjectStatus.FinalReviewing); } reviewProjects.Add(reviewProject); } review.ReviewProjects = reviewProjects; //加入对应专业的专家modi20181101 不自动选入专家 var reviewExperts = new List <ReviewExpert>(); //List<User> experts = new List<User>(); //var expertMajorId = review.SubMajorId == null ? review.MajorId : review.SubMajorId.Value; ////专家专业绑定使用的是原始专业树,而不是发布后复制出来的专业树,故需要通过专业sn去找 //var major = (await MajorManager.GetByIdAsync(expertMajorId)); //var oriMajor =await MajorRepository.GetAll().Where(o => o.BriefCode == major.BriefCode && o.MatchInstanceId==null && o.MatchId==major.MatchInstance.MatchId).FirstOrDefaultAsync(); //if (oriMajor != null) //{ // experts = await MajorManager.GetMajorExperts(oriMajor.Id); // reviewExperts.AddRange(experts.Select(o => new ReviewExpert() { Id = o.Id })); //} review.ReviewExperts = reviewExperts; }
public StudentsServices(StudentRepository studentRepository, MajorRepository majorRepository) { _studentRepository = studentRepository; _majorRepository = majorRepository; }