public ActionResult GetChannelInfoList() { APIInvokeResult result = new APIInvokeResult(); //if (!string.IsNullOrWhiteSpace(model.ParentCode)) //{ // var channelId = int.Parse(model.ParentCode); // var channel = _channelRepository.GetEntity(m => m.ChannelID == channelId); // if (channel != null) // { // model.ParentId = channel.ChannelID; // } //} var date = _channelRepository.GetChannelList(out int totalCount).Select(s => new CourseCategoryResult { Id = s.ChannelID, ParentId = s.parentid.Value, Img = "", Name = s.ChannelName } ).ToList(); var json = new ResultInfo <CourseChannelInfo> { TotalCount = totalCount, List = date.Where(m => m.ParentId == 1).Select(s => new CourseChannelInfo { ChannelId = s.Id, ChannelName = s.Name, ParentId = s.ParentId.ToString(), ImgUrl = "", CourseCount = "" }).ToList() }; result.Data = json; return(Json(result)); }
public ActionResult GetCourseInfoList(CourseModelP model) { APIInvokeResult result = new APIInvokeResult(); if (model.ChannelId < 0) { model.ChannelId = 0; } if (!string.IsNullOrWhiteSpace(model.ChannelCode)) { var channelId = int.Parse(model.ChannelCode); var channel = _channelRepository.GetEntity(m => m.ChannelID == channelId); if (channel == null) { result.Type = ERRORCODE.Failed; result.Message = "无此频道"; return(Json(result)); } model.ChannelId = channel.ChannelID; } var userid = LoginUserInfo(); var date = _courseRepository.GetCourseWareList(model.Keyword, model.TeacherName, model.ChannelId, model.Page, model.Rows, out int totalcount); var json = new ResultInfo <CourseInfo> { TotalCount = totalcount, List = date.Select(s => { var courseDownloadUrl = ""; var flag = _courseProcessRepository.IsAny(userid, s.Id.ToString()); // var coursePlayUrl = _channelMmrRepository.GetEntity(m => m.CourseID == s.Id).Mms; { var ci = new CourseInfo { CourseId = s.Id.ToString(), CourseName = s.Name, CourseType = "Mp4", RequiredFlag = s.RequiredFlag ? "1" : "0", Credit = s.Credit.ToString("0.0"), CreateDate = s.CreateDate, DownloadUrl = courseDownloadUrl, DownloadUrlLow = courseDownloadUrl.Replace(".mp4", "_low.mp4"), OnlineUrl = "", Description = s.Description ?? "", Duration = s.Duration.ToString(), TeacherName = s.Teacher, CourseImg = "http://www.cszsjy.com/Fwadmin/Manager/Admin/Lession/Save/" + s.Img, ExamId = s.Exam, CommentCredit = Convert.ToSingle(s.CommentCredit).ToString(), SelectFlag = flag, BrowseScore = s.Learning + "%", AvgScore = s.CommentCredit.ToString(), CourseSize = s.CourseSize ?? "0", ClickCount = s.ClickCount.ToString(), NodeList = null, //课程分类 ChannelName = s.channelName, Remainder = "", LastNodeId = "" }; return(ci); } }) }; result.Data = json; return(Json(result)); }
public ActionResult GetUserCourseInfoList(UserCourseModelP model) { APIInvokeResult result = new APIInvokeResult(); List <CourserWareModel> list; int count = 0; var id = LoginUserInfo(); list = _courseRepository.RelatedFinishCourseList(id, model.Finish, model.Page, model.Rows, out int totalcount); count = totalcount; var json = new ResultInfo <CourseInfo> { TotalCount = count, List = list.Select((s, i) => { CourseProcess cpquery = new CourseProcess(); cpquery.CourseId = int.Parse(s.Id.ToString()); cpquery.UserId = LoginUserInfo(); var cplist = s.Learning; var lastpostion = cplist; var lastnodeid = "S001"; //var examstring = string.Empty; //foreach (var exam in s.Course.Exam.Where(w=>w.PortalExam.Any(a=>a.PortalId==PortalId))) //{ // // examstring+=exam.Name+""+exam //} var channel = s.channelName; var onlineurl = ""; //if (s.Course.Standards == CourseStandards.Office.ToString()) //{ // if (!string.IsNullOrWhiteSpace(onlineurl)) // { // onlineurl = "/api/mobile/GetOffice?file=" + VerifyEncrypt.UrlEncode(onlineurl); // // onlineurl = "/Content/plugins/pdf/web/viewer.html?file=" + VerifyEncrypt.UrlEncode(onlineurl); // } //} return(new CourseInfo { Index = (i + 1), CourseId = s.Id.ToString(), CourseName = s.Name, Credit = s.Credit.ToString(), CourseType = "Mp4", CreateDate = s.CreateDate, FinishDate = DateTime.Now, BrowseScore = ((decimal)s.Times / (decimal)s.Length * 100).ToString("F2") + "%", LastLocation = 0, ////TODO 2015-02-28 09:24:08 添加LastNodeID LastNodeId = lastnodeid ?? "S001", // lastnodeid, TeacherName = s.Teacher, Description = s.Description, Duration = s.Length.ToString(), OnlineUrl = onlineurl,// online != null ? online.Url : "", CourseImg = "http://www.cszsjy.com/Fwadmin/Manager/Admin/Lession/Save/" + s.Img, ChannelName = s.channelName, RequiredFlag = "", DownloadUrl = "", DownloadUrlLow = "", ExamId = "", CommentCredit = "", SelectFlag = "已选", AvgScore = "0", ClickCount = s.ClickCount.ToString(), CourseSize = "", Remainder = (s.Length - s.Times).ToString() }); }).ToList() }; result.Data = json; return(Json(result)); }
/// <summary> /// 获取课程详细 /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public ActionResult CourseDetial(int Id) { APIInvokeResult result = new APIInvokeResult(); if (Id == 0) { result.Type = ERRORCODE.Failed; result.Message = "请求错误"; return(Json(result)); } var userLoginId = LoginUserInfo(); var course = _courseRepository.GetCourserModel(Id, userLoginId); if (course == null) { result.Type = ERRORCODE.Failed; result.Message = "课程已下线"; return(Json(result)); } var courseDownloadUrl = ""; var coursePlayUrl = _channelMmrRepository.Getfirst(course.Id).Mms.Replace("\\", "/"); var videoLength = _channelMmrRepository.Getfirst(Id); var len = videoLength.Video_Length > 0 ? videoLength.Video_Length : 100; string coursenumber = _courseRepository.GetEntity(p => p.COURSE_ID == Id).COURSE_NUMBER; if (_courseProcessRepository.IsAny(LoginUserInfo(), coursenumber) == "未选") { AICC_J_HIGH_SCORE pp = new AICC_J_HIGH_SCORE { COURSE_ID = coursenumber, length = int.Parse(len.ToString()), OBJ_FIRST_DATE = DateTime.Now, OBJ_HIGH_SCORE = "0", OBJ_OBJECTIVE_ID = "1", SESSION_ID = "0", STUDENT_ID = LoginUserInfo(), timems = 1 }; _courseProcessRepository.Insert(pp); } var json = new CourseInfo { CourseId = course.Id.ToString(), CourseName = course.Name, CourseType = coursePlayUrl.Contains("index.html") ? "H5" : "Mp4", RequiredFlag = "1", Credit = course.Credit.ToString("0.0"), CreateDate = course.CreateDate, DownloadUrl = courseDownloadUrl, DownloadUrlLow = courseDownloadUrl.Replace(".mp4", "_low.mp4"), OnlineUrl = coursePlayUrl ?? "", Description = course.Description, Duration = ((decimal)len / 60).ToString("F0") + '.' + ((decimal)len % 60).ToString("F0"), TeacherName = course.Teacher, CourseImg = "http://www.cszsjy.com/Fwadmin/Manager/Admin/Lession/Save/" + course.Img, ExamId = course.Exam, CommentCredit = Convert.ToSingle(course.CommentCredit).ToString(), SelectFlag = _courseProcessRepository.IsAny(userLoginId, coursenumber), BrowseScore = course.Learning + "%", UserCount = 0, //课程分类 ChannelName = course.channelName, Remainder = "" }; //获取进度 var entity = _courseProcessRepository.GetEntity(m => m.COURSE_ID == coursenumber && m.STUDENT_ID == userLoginId); var lastpostion = entity != null ? entity.timems.Value : 0; var lastnodeid = "S001"; //最后的位置 json.LastLocation = lastpostion; ////TODO 2015-02-28 09:24:08 添加LastNodeID json.BrowseScore = entity != null ? ((decimal)lastpostion / (decimal)len * 100).ToString("F2") + "%" : "0%"; json.LastNodeId = lastnodeid ?? "S001"; // lastnodeid, //评分 json.AvgScore = course.Score; json.CourseSize = course.CourseSize ?? "0"; json.ClickCount = course.ClickCount.ToString(); result.Data = json; return(View(json)); }
public ActionResult UploadTimeNode(Mp4CourseProcessDataModel model) { APIInvokeResult result = new APIInvokeResult(); var courseid = model.CourseId; //string playingCourseKey = string.Format(CacheKey.PlayingCourseKey, LoginUserId); //JYCache.OneCacheMananger().Add(playingCourseKey, courseid); //var course = ServicesItems.CourseServices.GetCourse(courseid); var course = _courseRepository.GetEntity(m => m.COURSE_ID == courseid); string coruse_number = course.COURSE_NUMBER; var userid = LoginUserInfo(); var userNm = _userRepository.GetEntity(j => j.USER_ID == userid).USER_NM; decimal time = 0; var videoLength = _channelMmrRepository.GetEntity(n => n.CourseID == courseid); var len = videoLength.Video_Length > 0 ? videoLength.Video_Length : 100; if (course != null && !string.IsNullOrEmpty(model.TimeNode)) { var h = Convert.ToDecimal(model.TimeNode.Substring(0, 2)); var m = Convert.ToDecimal(model.TimeNode.Substring(2, 2)); var s = Convert.ToDecimal(model.TimeNode.Substring(4, 2)); time = h * 3600 + m * 60 + s; //Debug.WriteLine(time); // Console.WriteLine(time + ":::::"); CourseProcess process = new CourseProcess { //PortalId = PortalId, PortalId = "", UserId = LoginUserInfo(), Position = time, CourseId = courseid }; var courseProcess = _courseProcessRepository.GetEntity(mm => mm.COURSE_ID == coruse_number && mm.STUDENT_ID == userid); if (courseProcess != null) { courseProcess.timems = int.Parse(time.ToString()); _courseProcessRepository.Update(courseProcess); } else { AICC_J_HIGH_SCORE pp = new AICC_J_HIGH_SCORE { COURSE_ID = coruse_number, length = int.Parse(len.ToString()), OBJ_FIRST_DATE = DateTime.Now, OBJ_HIGH_SCORE = "0", OBJ_OBJECTIVE_ID = "1", SESSION_ID = "0", STUDENT_ID = userid, timems = int.Parse(time.ToString()) }; _courseProcessRepository.Insert(pp); } } var courseProcesss = _courseProcessRepository.GetEntity(mm => mm.COURSE_ID == coruse_number && mm.STUDENT_ID == userid); UserStudyInfo usi = new UserStudyInfo(); usi.CourseId = courseid.ToString(); usi.StartTime = courseProcesss.OBJ_FIRST_DATE != null?Convert.ToDateTime(courseProcesss.OBJ_FIRST_DATE) : Convert.ToDateTime("1900-01-01"); usi.CurrentProgress = ((decimal)courseProcesss.timems.Value / (decimal)videoLength.Video_Length.Value).ToString("F2"); usi.LastLoation = courseProcesss.timems.ToString(); usi.LastNodeId = "0"; usi.NodeList = new List <NodeInfo>(); result.Data = usi; return(Json(result)); }