using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //using System.Web.Mvc; using Song.Entities; using Song.ServiceInterfaces; using Song.ViewData.Attri; using WeiSha.Common; namespace Song.ViewData.Methods { /// /// 课程管理 /// [HttpGet] public class Course : IViewAPI { /// /// 根据课程ID获取课程信息 /// /// /// [Cache(Expires = 60)] public Song.Entities.Course ForID(int id) { Song.Entities.Course cur = Business.Do().CourseSingle(id); return _tran(cur); } /// /// 分页获取课程 /// /// 机构id /// 章节id,可以为多个,以逗号分隔 /// 检索字符,按课程名称 /// 每页几条 /// 第几页 /// public ListResult Pager(int orgid, string sbjids, string search, int size, int index) { int count = 0; List eas = null; eas = Business.Do().CoursePager(orgid, sbjids, true, search, "", size, index, out count); for (int i = 0; i < eas.Count; i++) { eas[i] = _tran(eas[i]); } ListResult result = new ListResult(eas); result.Index = index; result.Size = size; result.Total = count; return result; } /// /// 记录当前学员的视频学习进度 /// /// 课程ID /// 章节ID /// 观看进度,单位:毫秒 /// 学习时间,单位:秒 /// 视频总时长,单位:秒 /// [Student] [HttpPost] public double StudyLog(int couid, int olid, int playTime, int studyTime, int totalTime) { //当前学员 Song.Entities.Accounts student = Extend.LoginState.Accounts.CurrentUser; if (student == null) return -1; double per = Business.Do().LogForStudyUpdate(couid, olid, student, playTime*1000, studyTime, totalTime*1000); return per; } #region 私有方法,处理对象的关联信息 /// /// 处理课程信息,图片转为全路径,并生成clone对象 /// /// 课程对象的clone /// private Song.Entities.Course _tran(Song.Entities.Course cour) { if (cour == null) return cour; Song.Entities.Course curr = cour.Clone(); curr.Cou_Logo = WeiSha.Common.Upload.Get["Course"].Virtual + curr.Cou_Logo; curr.Cou_LogoSmall = WeiSha.Common.Upload.Get["Course"].Virtual + curr.Cou_LogoSmall; return curr; } #endregion } }