using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using DIDAO.Admin.Common;
using DIDAO.BLL;
using DIDAO.Common;
using DIDAO.Model;
namespace DIDAO.Admin.Course
{
/// <summary>
/// CategoryController 的摘要说明
/// </summary>
public class CategoryController : BaseController
{
MyORM_BLL myORM_BLL = new MyORM_BLL();
//public void ProcessRequest(HttpContext context)
//{
//context.Response.ContentType = "text/html";
//#region 检查用户是否登录
//LoginHelper.CheckHasLogin(context);
//#endregion
//string action = context.Request["action"];
//if(action=="list") //类别列表
public void list(HttpContext context)
{
#region 类别列表
string pidStr = context.Request["pid"];
int pid = VolidHelper.CheckStrToInt(pidStr);
//要展示类别列表,需要该类别副PID下面没有子类别,确保不会同时存在(子类别和课程)的混乱情况
bool flag = new CourseBLL().CheckHasCourseInPid(pid);
if(flag)
{
RazorHelper.RazorParse(context, "~/error.cshtml", new { Msg = "该类别ID下面含有课程,不能进行子类别的显示和添加" });
return;
}
//
List<object> list = new CourseBLL().SelectCategoryByPID(pid);
RazorHelper.RazorParse(context, "~/Course/CategoryList.cshtml", new { cates = list, pid = pid });
#endregion
}
//else if(action=="addnew") //新增展示
public void addnew(HttpContext context)
{
#region 新增展示
AdminHelper.CheckHasPower(context, "新增视频类别");
string pidStr = context.Request["pid"];
int pid = VolidHelper.CheckStrToInt(pidStr);
RazorHelper.RazorParse(context, "~/Course/CategoryAlter.cshtml", new { action = "addnew", id = "", no = "", name = "", pid = pid });
#endregion
}
//else if (action == "edit") //编辑展示
public void edit(HttpContext context)
{
#region 编辑展示
AdminHelper.CheckHasPower(context, "编辑视频类别");
string idStr = context.Request["id"];
int id = VolidHelper.CheckStrToInt(idStr);
object obj = myORM_BLL.SelectModelById(typeof(TD_VIDEOCATEGORY), 1, id);
if (obj == null)
{
RazorHelper.RazorParse(context, "~/error.cshtml", new { Msg = "未查询到该类别:" + id });
return;
}
TD_VIDEOCATEGORY cate = obj as TD_VIDEOCATEGORY;
RazorHelper.RazorParse(context, "~/Course/CategoryAlter.cshtml", new { action = "edit", id = id, no = cate.NO, name = cate.NAME, pid = cate.PID });
#endregion
}
//else if (action == "disable") //类别禁用
public void disable(HttpContext context)
{
#region 类别禁用
AdminHelper.CheckHasPower(context, "禁用视频类别");
string idStr = context.Request["id"];
int id = VolidHelper.CheckStrToInt(idStr);
string pidStr = context.Request["pid"];
int pid = VolidHelper.CheckStrToInt(pidStr);
//获得类别实例
object obj = myORM_BLL.SelectModelById(typeof(TD_VIDEOCATEGORY), id);
if(obj==null)
{
RazorHelper.RazorParse(context, "~/error.cshtml", new { Msg = "未查询到该类别:" + id });
return;
}
TD_VIDEOCATEGORY cate = obj as TD_VIDEOCATEGORY;
long currid = (long)LoginHelper.GetSessionID(context);
bool falg = myORM_BLL.DeleteOrDisableModelByUpdateStatus(typeof(TD_VIDEOCATEGORY),3,currid,DateTime.Now, id);
AdminHelper.RecordOperateLog(context, "禁用视频类别:" + cate.NAME);
context.Response.Redirect("/Course/CategoryController.ashx?action=list&pid=" + pid);
#endregion
}
//else if(action=="delete") //类别真删除
public void delete(HttpContext context)
{
#region 类别真删除
AdminHelper.CheckHasPower(context, "真删除视频类别");
string idStr = context.Request["id"];
int id = VolidHelper.CheckStrToInt(idStr);
string pidStr = context.Request["pid"];
int pid = VolidHelper.CheckStrToInt(pidStr);
//获得类别实例
object obj = myORM_BLL.SelectModelById(typeof(TD_VIDEOCATEGORY), id);
if (obj == null)
{
RazorHelper.RazorParse(context, "~/error.cshtml", new { Msg = "未查询到该类别:" + id });
return;
}
TD_VIDEOCATEGORY cate = obj as TD_VIDEOCATEGORY;
//根绝类别Id 真删类别及下面的所有课程
new CourseBLL().DeleteTrueCategoryById(id);
AdminHelper.RecordOperateLog(context, "真删除视频类别:"+cate.NAME);
context.Response.Redirect("/Course/CategoryController.ashx?action=list&pid=" + pid);
#endregion
}
//else if (action == "save") //类别保存
public void save(HttpContext context)
{
#region 类别保存
string saveAction = context.Request["saveAction"];
string noStr = context.Request["no"];
string name = context.Request["name"];
string pidStr = context.Request["pid"];
int pid = VolidHelper.CheckStrToInt(pidStr);
#region 验证 非空及格式
if (!VolidHelper.CheckStringIsAllIntNotComma(noStr))
{
AjaxHelper.WriteJson(context, "error", "序号必须是数字");
return;
}
if (string.IsNullOrWhiteSpace(name))
{
AjaxHelper.WriteJson(context, "error", "请填写类别名称");
return;
}
#endregion
int no = VolidHelper.CheckStrToInt(noStr);
TD_VIDEOCATEGORY cateNew = new TD_VIDEOCATEGORY();
cateNew.DELETEBY = null;
cateNew.DELETEDATE = null;
cateNew.NAME = name;
cateNew.NO = no;
cateNew.STATUS = 1;
cateNew.PID = pid;
long currid = (long)LoginHelper.GetSessionID(context);
if (saveAction == "addnew") //新增保存
{
#region 新增保存
AdminHelper.CheckHasPower(context, "新增视频类别");
bool flag = new CourseBLL().AddCategory(cateNew,currid);
if (!flag)
{
AjaxHelper.WriteJson(context, "error", "新增视频类别失败:" + name);
return;
}
AdminHelper.RecordOperateLog(context, "新增视频类别:"+name);
AjaxHelper.WriteJson(context, "ok", "新增视频类别 成功");
#endregion
}
else if (saveAction == "edit") //编辑保存
{
#region 编辑保存
AdminHelper.CheckHasPower(context, "编辑视频类别");
string idStr = context.Request["id"];
int id = VolidHelper.CheckStrToInt(idStr);
bool flag = new CourseBLL().EditCategory(cateNew, id,currid);
if (!flag)
{
AjaxHelper.WriteJson(context, "error", "编辑视频类别失败:" + name);
return;
}
AdminHelper.RecordOperateLog(context, "编辑视频类别:" + name);
AjaxHelper.WriteJson(context, "ok", "编辑视频类别 成功");
#endregion
}
else
{
throw new Exception("未知的saveAction:" + saveAction);
}
#endregion
}
//else
//{
// throw new Exception("未知的action:"+action);
//}
//}
//public bool IsReusable
//{
// get
// {
// return false;
// }
//}
}
}