Esempio n. 1
0
        public ActionResult Majors()
        {
            var model = MajorRepository.GetAll();

            return(View(model.ToList()));
        }
Esempio n. 2
0
        public ActionResult DeleteMajor(int id)
        {
            var major = MajorRepository.Get(id);

            return(View(major));
        }
Esempio n. 3
0
 public ActionResult DeleteMajor(Major major)
 {
     MajorRepository.Delete(major.MajorId);
     return(RedirectToAction("Majors"));
 }
Esempio n. 4
0
 public ActionResult AddMajor(Major major)
 {
     MajorRepository.Add(major.MajorName);
     return(RedirectToAction("Majors"));
 }
Esempio n. 5
0
 public ActionResult EditMajor(Major major)
 {
     MajorRepository.Edit(major);
     return(RedirectToAction("Majors"));
 }
Esempio n. 6
0
 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;
 }
Esempio n. 9
0
        /// <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;
 }