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
}
}