public Response Execute(User currentUser, string request)
        {
            var req = JsonConvert.DeserializeObject <Request <GetCoachRelatedFilter> >(request);
            var cmd = CommandHelper.CreateProcedure <CoachStudent>(text: "sp_GetSealedStudentList");

            cmd.Params.Add(CommandHelper.CreateParam("@StudentName ", req.Filter.StudentName));
            cmd.Params.Add(CommandHelper.CreateParam("@CoachBootcampId ", req.Filter.CoachBootcampId));
            cmd.Params.Add(CommandHelper.CreateParam("@SealedOrganizationId ", req.Filter.SealedOrganizationId));
            cmd.CreateParamPager(req.Filter);

            var result = DbContext.GetInstance().Execute(cmd);

            result.SetRowCount();
            foreach (var item in result.Entities)
            {
                var obj = item as CoachStudent;
                CoachStudentBalance coachStudentBalance = new CoachStudentBalance();
                //获取学员集训课余额
                var balanceObj = CoachHelper.Instance.GetBootcampBalance(obj.UserId, obj.CoachBootcampId);
                if (balanceObj != null)
                {
                    coachStudentBalance.Amount      = balanceObj.Amount;
                    coachStudentBalance.TotalAmount = balanceObj.ThenTotalAmount;
                }
                //获取最后一次上课时间
                coachStudentBalance.LastGoCourseTime = CoachHelper.Instance.GetLastGoCourseTime(obj.UserId, CoachDic.BootcampCourse);
                obj.CoachBootcampBalance             = coachStudentBalance;
            }
            return(result);
        }
        public void GetBalance(CoachStudent coachStudent, string StudentUserId, string coachId)
        {
            //取大课的余额
            var bigCourseId = GetBigCourseId(StudentUserId, coachId);

            if (!string.IsNullOrEmpty(bigCourseId))
            {
                var moneyObj = CoachHelper.Instance.GetBigCourseBalance(StudentUserId, bigCourseId);
                if (moneyObj != null)
                {
                    CoachStudentBalance coachStudentBalance = new CoachStudentBalance();
                    coachStudentBalance.Amount      = moneyObj.Amount;
                    coachStudentBalance.TotalAmount = moneyObj.ThenTotalAmount;
                    //取大课最后一次上课日期
                    coachStudentBalance.LastGoCourseTime = CoachHelper.Instance.GetLastGoCourseTime(StudentUserId, CoachDic.BigCourse);
                    coachStudent.BigCourseBalance        = coachStudentBalance;
                }
            }
            //取私教的余额
            var moneyObjPrivate = CoachHelper.Instance.GetPrivateCourseBalance(StudentUserId, coachId);

            if (moneyObjPrivate != null)
            {
                CoachStudentBalance coachStudentBalance = new CoachStudentBalance();
                coachStudentBalance.Amount      = moneyObjPrivate.Amount;
                coachStudentBalance.TotalAmount = moneyObjPrivate.ThenTotalAmount;
                //取大课最后一次上课日期
                coachStudentBalance.LastGoCourseTime = CoachHelper.Instance.GetLastGoCourseTime(StudentUserId, CoachDic.PrivateCourse);
                coachStudent.PrivateCourseBalance    = coachStudentBalance;
            }

            //取集训班的余额
            var moneyObjBootcamp = CoachHelper.Instance.GetBootcampAllBalance(StudentUserId);

            if (moneyObjBootcamp != null)
            {
                CoachStudentBalance coachStudentBalance = new CoachStudentBalance();
                coachStudentBalance.Amount           = moneyObjBootcamp.Amount;
                coachStudentBalance.TotalAmount      = moneyObjBootcamp.ThenTotalAmount;
                coachStudentBalance.LastGoCourseTime = CoachHelper.Instance.GetLastGoCourseTimeInBootcamp(StudentUserId, CoachDic.BootcampCourse);
                coachStudent.CoachBootcampBalance    = coachStudentBalance;
            }
        }