Пример #1
0
 public GeneralApiResult<StudentDto> GetBookRecords(string userName, bool isToday = true)
 {
     var result = new GeneralApiResult<StudentDto>();
     var user = UserBLL.GetUserInfoByUserName(userName);
     if (user != null)
     {
         var userDto = StudentBLL.GetStudentDtoByUserId(user.UserId);
         var bookrecords = StudyBLL.GetWaitingCourseListByUserId(userDto.UserId);
         if (isToday)
         {
             bookrecords = bookrecords.Where(b => b.BeginTime.Date == DateTime.Today).ToList();
         }
         var student = new StudentDto()
         {
             UserId = user.UserId,
             UserName = userName,
             CName = user.CName,
             EName = user.EName,
             CC = userDto.CC,
             BookRecords = new List<BookRecordDto>(bookrecords.Count)
         };
         foreach (var bookRecordModel in bookrecords)
         {
             var bookRecordDto = new BookRecordDto()
             {
                 ArrangeCourseBeginTime = bookRecordModel.BeginTime,
                 ArrangeCourseEndTime = bookRecordModel.EndTime,
                 ArrangeCourseId = bookRecordModel.ArrangeCourseId,
                 AttendStatusType = (AttendStatusType)System.Enum.ToObject(typeof(AttendStatusType), bookRecordModel.AttendStatusType),
                 BranchCName = bookRecordModel.BranchCName,
                 CourseEName = bookRecordModel.CourseName,
                 PassStatusType = (PassStatusType)System.Enum.ToObject(typeof(PassStatusType), bookRecordModel.PassStatusType),
                 ProductLevelId = bookRecordModel.ProductLevelId,
                 ProductLevelName = bookRecordModel.ProductLevelName,
                 TeacherName = bookRecordModel.TeacherName,
                 IsOc = bookRecordModel.IsOc,
                 // IsUnBook = bookRecordModel.IsUnBook,
                 IsOnline = bookRecordModel.IsOnline,
                 IsVip = bookRecordModel.IsVip,
                 //UnBookReason = bookRecordModel.UnBookReason,
                 //UnBookTime = bookRecordModel.UnBookTime,
                 //UnBookUserId = bookRecordModel.UnBookUserId,
                 //UnBookUserName = bookRecordModel.UnBookUserName,
                 ClassRoom = bookRecordModel.ClassroomName
             };
             student.BookRecords.Add(bookRecordDto);
         }
         result.Code = "0";
         result.Message = "OK";
         result.Result = true;
         result.Data = student;
     }
     return result;
 }
Пример #2
0
        private void SendSms(StudentDto studentDto)
        {
            var logs = SmsLogsBll.GetLogs(studentDto.UserName, DateTime.Today);
            if (logs.Any()) return;

            var sa = StudentBLL.GetSaInfoByUserName(studentDto.UserName);
            var workTime = UserBLL.GetUserWorkTimeByUserId(sa.UserId, DateTime.Today);
            if (workTime != null)
            {
                var strBuilder = new StringBuilder();
                foreach (var bookRecordDto in studentDto.BookRecords)
                {
                    strBuilder.AppendFormat(Global.WelcomeSmsCourseTemplate, bookRecordDto.CourseEName,
                        bookRecordDto.ArrangeCourseBeginTime, bookRecordDto.ClassRoom, bookRecordDto.TeacherName);
                }
                string smsContent = string.Format(Global.WelcomeSmsTemplate, studentDto.CName, studentDto.CC) + strBuilder;
                var smsApi = new Api.Invoke.Sms.SmsApi();
                var recordId = Guid.NewGuid().ToString();
                var smsResults = smsApi.Send(sa.Mobile, smsContent, recordId);//发送短信
                if (smsResults == null) throw new InvalidOperationException();
                var log = new SmsLogs();
                log.SmsRecordId = recordId;
                log.CreateDateTime = DateTime.Now;
                log.FromUserName = studentDto.UserName;
                log.ToUserName = sa.User.UserName;
                log.SendToPhone = sa.Mobile;
                log.SmsContentType = (int)SmsLogContentType.WelcomeSms;
                log.SmsContent = smsResults.Code == 0
                    ? smsContent
                    : string.Format("SMS Failure,Code:{0},ErrorMsg:{1}", smsResults.Code, smsResults.Msg);
                SmsLogsBll.AddLog(log);
            }
        }