using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using EMIS.CommonLogic.GraduationManage.GraduationSetting;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using EMIS.ViewModel.GraduationManage.GraduationSetting;
using Bowin.Common.Utility;
using Bowin.Common.Data;
using Bowin.Web.Controls.Mvc;
using Bowin.Common.Linq.Entity;
namespace EMIS.Web.Controllers.GraduationManage.GraduationSetting
{
[Authorization]
public class GraduationConditionPackageController : Controller
{
public IGraduationConditionPackageServices GraduationConditionPackageServices { get; set; }
public IGraduationConditionServices GraduationConditionServices { get; set; }
///
/// 毕业公式页面
///
///
public ActionResult List()
{
return View();
}
///
/// 毕业公式列表查询
///
///
///
[HttpPost]
public ActionResult List(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
//是否默认
var isDefault = pararms.getExtraInt("IsDefaultDropDown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsDefaultDropDown");
return base.Json(GraduationConditionPackageServices.GetGradConditionPackageViewGrid(configuretView, isDefault, (int)pararms.page, (int)pararms.rows));
}
///
/// 复制新增
///
///
///
public ActionResult CopyAdd(Guid GraduationConditionPackageID)
{
GraduationConditionPackageView graduationConditionPackageView = new GraduationConditionPackageView();
graduationConditionPackageView = GraduationConditionPackageServices.GetGraduationConditionPackageView(GraduationConditionPackageID);
return View("Edit", graduationConditionPackageView);
}
///
/// 复制新增
///
///
///
[HttpPost]
public ActionResult CopyAdd(GraduationConditionPackageView graduationConditionPackageView)
{
graduationConditionPackageView.GraduationConditionPackageID = Guid.Empty;
return this.Edit(graduationConditionPackageView);
}
///
/// 编辑(新增、修改)
///
///
///
[HttpGet]
public ActionResult Edit(Guid? GraduationConditionPackageID)
{
ViewBag.Type = Request.Params["Type"];//临时性加参数控制、屏蔽列表进入无保存按钮权限
GraduationConditionPackageView graduationConditionPackageView = new GraduationConditionPackageView();
if (GraduationConditionPackageID.HasValue && GraduationConditionPackageID != Guid.Empty)
{
graduationConditionPackageView = GraduationConditionPackageServices.GetGraduationConditionPackageView(GraduationConditionPackageID);
}
else
{
graduationConditionPackageView.StudentTypeID = (int)CF_STUDENTTYPE.DefaultType;
graduationConditionPackageView.IsDefault = true;
}
return View(graduationConditionPackageView);
}
///
/// 编辑(新增、修改)
/// 注:判断是否默认状态(同一种学生类别,只有一种默认公式)
/// 暂时不考虑当公式被引用时,不可修改公式中条件的情况
///
///
///
[HttpPost]
public ActionResult Edit(GraduationConditionPackageView graduationConditionPackageView)
{
try
{
var graduationConditionViewList = DataGrid.GetTableData("dgGraduationConditionList");
GraduationConditionPackageServices.GraduationConditionPackageEdit(graduationConditionPackageView, graduationConditionViewList);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "保存成功。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "保存失败,原因:" + ex.Message + "。"
});
}
}
///
/// 删除(当对应的毕业公式被引用时,不可删除--毕业公式、对应的毕业条件)
///
///
///
[HttpPost]
public ActionResult Delete(string graduationConditionPackageIDs)
{
try
{
List list = graduationConditionPackageIDs.Split(',').Where(x => !string.IsNullOrEmpty(x))
.Select(x => (Guid?)new Guid(x)).ToList();
GraduationConditionPackageServices.GraduationConditionPackageDelete(list);
return base.Json("删除成功。");
}
catch (Exception ex)
{
return base.Json("删除失败,原因:" + ex.Message);
}
}
///
/// 毕业条件添加页面
///
///
public ActionResult GraduationConditionList()
{
return View();
}
///
/// 毕业条件添加页面查询列表
///
///
///
[HttpPost]
public ActionResult GraduationConditionList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var graduationConditionPackageID = Request["GraduationConditionPackageID"].ParseStrTo();
var isCurrent = (int)CF_GeneralPurpose.IsYes;
return base.Json(GraduationConditionPackageServices.GetGraduationConditionNoViewGrid(configuretView, graduationConditionPackageID, isCurrent, (int)pararms.page, (int)pararms.rows));
}
///
/// 毕业公式对应的毕业条件列表页面(根据对应的毕业公式ID查询)
///
///
///
public ActionResult GraduationConditionViewList(Guid? GraduationConditionPackageID)
{
var graduationConditionPackageList = new List();
if (GraduationConditionPackageID.HasValue && GraduationConditionPackageID != Guid.Empty)
{
graduationConditionPackageList = GraduationConditionPackageServices.GetGraduationConditionList(GraduationConditionPackageID);
}
return Json(new GridResultSet()
{
rows = graduationConditionPackageList,
total = graduationConditionPackageList.Count
});
}
///
/// Excel导出
///
///
[HttpPost]
public ActionResult Excel()
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
//是否默认
int? isDefault = Request["IsDefaultDropDown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request["IsDefaultDropDown"].ParseStrTo();
var dt = GraduationConditionPackageServices.GetGradConditionPackageViewList(configuretView, isDefault)
.Select(x => new
{
x.Title,
x.StudentTypeName,
x.IsDefaultName
}).ToTable();
string[] liststring = {
"公式名称", "学生类别", "是否默认"
};
neh.Export(dt, liststring, "毕业公式信息" + DateTime.Now.ToString("yyyyMMdd"));
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "导出成功。"
});
}
}
}