ZhiYeJianKang_PeiXun/Song.Site/Ajax/SelfCourse.ashx.cs
2025-02-20 15:41:53 +08:00

98 lines
4.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WeiSha.Common;
using Song.ServiceInterfaces;
using Song.Extend;
namespace Song.Site.Ajax
{
/// <summary>
/// 我的课程
/// </summary>
public class SelfCourse : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//此页面的ajax提交全部采用了POST方式
if (context.Request.ServerVariables["REQUEST_METHOD"] == "POST")
{
string action = WeiSha.Common.Request.Form["action"].String;
//如果未登录
if (!Extend.LoginState.Accounts.IsLogin)
{
string tm = "\"sum\":{0}";
context.Response.Write("{" + string.Format(tm, 0, 0) + "}");
}
else
{
//学员登录id
int stid = Extend.LoginState.Accounts.UserID;
switch (action)
{
case "buycou":
List<Song.Entities.Course> buyCou = Business.Do<ICourse>().CourseForStudent(stid, null, 1, false, -1);
context.Response.Write(_toJosn(buyCou, action, stid));
break;
case "overcou":
List<Song.Entities.Course> overCou = Business.Do<ICourse>().CourseForStudent(stid, null, 2, false, -1);
context.Response.Write(_toJosn(overCou, action, stid));
break;
case "trycou":
List<Song.Entities.Course> trycou = Business.Do<ICourse>().CourseForStudent(stid, null, -1, true, -1);
context.Response.Write(_toJosn(trycou, action, stid));
break;
}
}
context.Response.End();
}
}
/// <summary>
/// 生成json
/// </summary>
protected string _toJosn(List<Song.Entities.Course> courses, string action,int stid)
{
string tm = "{\"sum\":" + courses.Count + ",\"action\":\"" + action + "\",\"object\":[";
for (int i = 0; i < courses.Count; i++)
{
Song.Entities.Course c = courses[i];
c.Cou_LogoSmall = Upload.Get["Course"].Virtual + c.Cou_LogoSmall;
c.Cou_Logo = Upload.Get["Course"].Virtual + c.Cou_Logo;
//是否免费,或是限时免费
if (c.Cou_IsLimitFree)
{
DateTime freeEnd = c.Cou_FreeEnd.AddDays(1).Date;
if (!(c.Cou_FreeStart <= DateTime.Now && freeEnd >= DateTime.Now))
c.Cou_IsLimitFree = false;
}
c.Cou_Intro = c.Cou_Target = c.Cou_Content = "";
c.Cou_Name = c.Cou_Name.Replace("\"", "&quot;");
//增加输出项
Dictionary<string, object> addParas = new Dictionary<string, object>();
addParas.Add("olcount", Business.Do<IOutline>().OutlineOfCount(c.Cou_ID, -1, true)); //当前课程里的章节数
addParas.Add("quscount", Business.Do<IQuestions>().QuesOfCount(c.Org_ID, c.Sbj_ID, c.Cou_ID, -1, 0, true)); //当前课程的试题
//获取课程的购买信息
Song.Entities.Student_Course sc = Business.Do<ICourse>().StudentCourse(stid, c.Cou_ID);
if (sc != null)
{
addParas.Add("starttime", sc.Stc_StartTime);
addParas.Add("endtime", sc.Stc_EndTime);
}
tm += "" + c.ToJson(null, null, addParas);
if (i < courses.Count - 1) tm += ",";
}
tm += "]}";
return tm;
}
public bool IsReusable
{
get
{
return false;
}
}
}
}