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

87 lines
3.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WeiSha.Common;
using Song.ServiceInterfaces;
using VTemplate.Engine;
namespace Song.Site
{
/// <summary>
/// 课程购买
/// </summary>
public class CourseBuy : BasePage
{
//课程ID
private int couid = WeiSha.Common.Request.QueryString["couid"].Int32 ?? 0;
protected override void InitPageTemplate(HttpContext context)
{
//当前课程id写入cookies
if (couid > 0)
{
context.Response.Cookies.Add(new HttpCookie("couid", couid.ToString()));
}
else
{
couid = WeiSha.Common.Request.Cookies["couid"].Int32 ?? 0;
}
this.Document.Variables.SetValue("couid", couid);
//判断,如果已经购买,则直接跳转
if (Extend.LoginState.Accounts.IsLogin)
{
bool isBuy = Business.Do<ICourse>().IsBuy(couid, Extend.LoginState.Accounts.CurrentUser.Ac_ID);
if (isBuy)
{
this.Response.Redirect("/CourseStudy.ashx?couid=" + couid);
return;
}
}
//当前课程
Song.Entities.Course course = Business.Do<ICourse>().CourseSingle(couid);
if (course != null)
{
course.Cou_Logo = Upload.Get["Course"].Virtual + course.Cou_Logo;
course.Cou_LogoSmall = Upload.Get["Course"].Virtual + course.Cou_LogoSmall;
}
//是否免费,或是限时免费
if (course.Cou_IsLimitFree)
{
DateTime freeEnd = course.Cou_FreeEnd.AddDays(1).Date;
if (!(course.Cou_FreeStart <= DateTime.Now && freeEnd >= DateTime.Now))
course.Cou_IsLimitFree = false;
}
if (course == null)
{
return;
}
if (!course.Cou_IsUse && null != Account && Account.Ac_IsOrgAdmin != 1)
{
return;
}
this.Document.Variables.SetValue("course", course);
//是否免费,限时免费也算
this.Document.Variables.SetValue("isfree", course.Cou_IsFree || course.Cou_IsLimitFree);
//所属专业
Song.Entities.Subject subject = Business.Do<ISubject>().SubjectSingle(course.Sbj_ID);
this.Document.Variables.SetValue("subject", subject);
//章节数
int olCount = Business.Do<IOutline>().OutlineOfCount(course.Cou_ID, 0, true);
this.Document.Variables.SetValue("olCount", olCount);
//试题数
int quesCount = Business.Do<IQuestions>().QuesOfCount(this.Organ.Org_ID, course.Sbj_ID, course.Cou_ID, 0, 0, true);
this.Document.Variables.SetValue("quesCount", quesCount);
//价格
Song.Entities.CoursePrice[] prices = Business.Do<ICourse>().PriceCount(-1, course.Cou_UID, true, 0);
this.Document.Variables.SetValue("prices", prices);
//上级专业
List<Song.Entities.Subject> sbjs = Business.Do<ISubject>().Parents(course.Sbj_ID, true);
this.Document.Variables.SetValue("sbjs", sbjs);
//支付接口
Song.Entities.Organization org = Business.Do<IOrganization>().OrganRoot();
Song.Entities.PayInterface[] pis = Business.Do<IPayInterface>().PayAll(org.Org_ID, "web", true);
this.Document.Variables.SetValue("pis", pis);
}
}
}