public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <UserSport> >(request); var sql = "SELECT a.*,b.GradeName,b.LeftScore,b.RightScore,b.GradeIndex FROM UserSport a LEFT JOIN ScoreGrade b ON a.Score>=b.LeftScore AND a.Score<=b.RightScore WHERE UserId=@userId"; var cmd = CommandHelper.CreateText <UserSport>(FetchType.Fetch, sql); cmd.Params.Add("@userId", currentUser.Id); var result = DbContext.GetInstance().Execute(cmd); if (result.Entities.Count > 0) { UserSport us = result.Entities[0] as UserSport; ScoreGrade sg = null; if (us.GradeIndex == 1) { us.PreLeftGradeName = us.GradeName; us.PreLeftScore = us.LeftScore; } else { sg = GetGradeByGradeIndex(us.GradeIndex - 1);//前一段对象 us.PreLeftGradeName = sg.GradeName; us.PreLeftScore = sg.RightScore; } if (us.GradeIndex == 10)//最后一段 { us.PreLeftGradeName = us.GradeName; us.PreLeftScore = us.RightScore; } else { sg = GetGradeByGradeIndex(us.GradeIndex + 1);//后一段对象 us.NextRightGradeName = sg.GradeName; us.NextRightScore = sg.LeftScore; } } return(result); }
public async Task <bool> SignUpUserAsync(int sportId, string userId) { var courseInfo = await GetSportInfo(sportId, userId); if (courseInfo == null || courseInfo.StartDate < DateTime.UtcNow.Date || courseInfo.IsStudentEnrolledInSport) { return(false); } var studentInCourse = new UserSport { SportId = sportId, UserId = userId }; await this.db.AddAsync(studentInCourse); await this.db.SaveChangesAsync(); return(true); }