/// <summary> /// 作者:Ark /// 时间:2014-08-18 /// 描述:创建爽哥预习(课程结果) /// </summary> /// <param name="previewList"></param> /// <returns></returns> public static PreviewRuslt CreatePreview(List<PreviewModel> previewList) { var result = new PreviewRuslt { msg = "success", datas = new List<PreviewModel>() }; int active = ConvertEnum.StatusTypeForActive; if (null == previewList || !previewList.Any()) { result.code = 101; result.msg = "json data param error"; return result; } using (var edb = new EmeEntities()) { foreach (var item in previewList) { try { // 获取学员编号 var studentId = (from s in edb.Student join u in edb.User on s.UserId equals u.Id where u.Status == active && u.UserName == item.loginName && s.Status == active select s.Id).FirstOrDefault(); if (studentId > 0) { // 是否有新增的预习(课程结果) var flag = false; foreach (var courseId in item.emeIds) { var emeId = courseId.ToInt(); // 判断学员此课程是否已经同步过,已同步不处理,未同步新增 var isExist = edb.Preview.Any(p => p.StudentId == studentId && p.CourseId == emeId); if (!isExist) { flag = true; var preview = new Preview { StudentId = studentId, UserName = item.loginName, CourseId = emeId, CreateBy = -100, CreateTime = DateTime.Now }; edb.Preview.Add(preview); } } if (flag) edb.SaveChanges(); // 成功的预习(课程结果)返回给爽哥 result.datas.Add(item); result.count += 1; } } catch (Exception ex) { // 异常日志消息队列 QueueManager.AddExceptionLog(new ExceptionLogs() { ExceptionType = CommonHelper.To<int>(ExceptionType.Function), Message = string.Format("StudentBLL-CreatePreview:{0};{1};{2}", ex.Message, ex.InnerException.Message, ex.HelpLink), IsTreat = false, CreateBy = -1, CreateTime = DateTime.Now }); } } } if (result.count == 0) { result.code = 102; result.msg = "json data param error or database exception"; } return result; }
/// <summary> /// 作者:Ark /// 时间:2014.09.18 /// 描述:爽哥向Eme同步学员的预习(课程结果) /// </summary> /// <param name="jsonData"></param> /// <returns></returns> public string SyncLessonsResults(string jsonData) { var result = new PreviewRuslt { msg = "success" }; if (string.IsNullOrWhiteSpace(jsonData)) { result.code = 101; result.msg = "json data param empty"; } else { try { var previewList = JsonHelper.FromJson<List<PreviewModel>>(jsonData); result = StudentBLL.CreatePreview(previewList); } catch (Exception ex) { result.code = 103; result.msg = "json param format error"; } } return JsonHelper.ToJson(result); }