/// <summary> /// 排名接口 /// </summary> /// <param name="scoreIntput"></param> /// <returns></returns> public Result <List <ScoreOutput> > Ranking(ScoreIntput scoreIntput) { //if (string.IsNullOrEmpty(scoreIntput.ExaminationId) || scoreIntput.ExaminationId == "0") //{ // return Result<Paging<List<ScoreOutput>>>.Fail("该考试不存在"); //} long examinationId = 0; if (scoreIntput.DayOrWeek == "day") { if (_examination.Any(e => e.StartTime >= DateTime.Now.Date && e.EndTime > DateTime.Now && e.DayOrWeek == "day")) { examinationId = _examination.FirstOrDefault(e => e.StartTime >= DateTime.Now.Date && e.EndTime > DateTime.Now && e.DayOrWeek == "day").Id; } } else if (scoreIntput.DayOrWeek == "week") { var a = DateTimeHelper.GetWeekFirstDayMon(DateTime.Now.Date); if (_examination.Any(e => e.StartTime >= a && e.EndTime > DateTime.Now && e.DayOrWeek == "week")) { examinationId = _examination.FirstOrDefault(e => e.StartTime >= a && e.EndTime > DateTime.Now && e.DayOrWeek == "week").Id; } } if (examinationId == 0) { return(Result <List <ScoreOutput> > .Success(new List <ScoreOutput>())); } var query = _score.GetAll().Where(m => m.ExaminationId == examinationId); DateTime timeNow = DateTime.Now.Date; query = query.OrderByDescending(s => s.TotalScore).AsQueryable(); query = query.Skip(scoreIntput.PageIndex * 10).Take(10); var list = query.ToList(); var data = list.Select <Score, ScoreOutput>(item => { var thisUser = _user.Get(item.UserId); return(new ScoreOutput() { UserName = thisUser.UserName, Department = thisUser.Department, TotalScore = item.TotalScore }); }).ToList(); return(Result <List <ScoreOutput> > .Success(data)); }
public Result <List <ScoreOutput> > Ranking([FromQuery] ScoreIntput scoreIntput) { return(_iScoreService.Ranking(scoreIntput)); }