using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using Bowin.Web.Controls.Mvc;
using EMIS.CommonLogic.MinorGraduation.MinorGraduationSetting;
using EMIS.ViewModel.MinorGraduation.MinorGraduationSetting;
using Bowin.Common.Linq.Entity;
using Bowin.Common.Utility;
using Bowin.Common.Data;
namespace EMIS.Web.Controllers.MinorGraduation.MinorGraduationSetting
{
[Authorization]
public class MinorGraduationConditionPackageController : Controller
{
//
// GET: /MinorGraduationConditionPackage/
public IMinorGraduationConditionPackageServices minorGraduationConditionPackageServices { get; set; }
public IMinorGraduationConditionServices minorGraduationConditionServices { 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(minorGraduationConditionPackageServices.GetMinorGraduationConditionPackageViewGrid(configuretView, isDefault, (int)pararms.page, (int)pararms.rows));
}
///
/// 复制新增
///
///
///
public ActionResult CopyAdd(Guid minorGraduationConditionPackageID)
{
MinorGraduationConditionPackageView minorGraduationConditionPackageView = new MinorGraduationConditionPackageView();
minorGraduationConditionPackageView = minorGraduationConditionPackageServices.GetMinorGraduationConditionPackageView(minorGraduationConditionPackageID);
return View("Edit", minorGraduationConditionPackageView);
}
///
/// 复制新增
///
///
///
[HttpPost]
public ActionResult CopyAdd(MinorGraduationConditionPackageView minorGraduationConditionPackageView)
{
minorGraduationConditionPackageView.MinorGraduationConditionPackageID = Guid.Empty;
return this.Edit(minorGraduationConditionPackageView);
}
///
/// 编辑(新增、修改)
///
///
///
[HttpGet]
public ActionResult Edit(Guid? minorGraduationConditionPackageID)
{
ViewBag.Type = Request.Params["Type"];
MinorGraduationConditionPackageView minorGraduationConditionPackageView = new MinorGraduationConditionPackageView();
if (minorGraduationConditionPackageID.HasValue && minorGraduationConditionPackageID != Guid.Empty)
{
minorGraduationConditionPackageView = minorGraduationConditionPackageServices.GetMinorGraduationConditionPackageView(minorGraduationConditionPackageID);
}
else
{
minorGraduationConditionPackageView.StudentTypeID = (int)CF_STUDENTTYPE.DefaultType;
minorGraduationConditionPackageView.IsDefault = true;
}
return View(minorGraduationConditionPackageView);
}
///
/// 编辑(新增、修改)
/// 注:判断是否默认状态(同一种学生类别,只有一种默认公式)
/// 暂时不考虑当公式被引用时,不可修改公式中条件的情况
///
///
///
[HttpPost]
public ActionResult Edit(MinorGraduationConditionPackageView minorGraduationConditionPackageView)
{
try
{
var minorGraduationConditionViewList = DataGrid.GetTableData("dgMinorGraduationConditionList");
minorGraduationConditionPackageServices.MinorGraduationConditionPackageEdit(minorGraduationConditionPackageView, minorGraduationConditionViewList);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "保存成功。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "保存失败,原因:" + ex.Message + "。"
});
}
}
///
/// 删除(当对应的毕业公式被引用时,不可删除--毕业公式、对应的毕业条件)
///
///
///
[HttpPost]
public ActionResult Delete(string minorGraduationConditionPackageIDs)
{
try
{
List list = minorGraduationConditionPackageIDs.Split(',').Where(x => !string.IsNullOrEmpty(x))
.Select(x => (Guid?)new Guid(x)).ToList();
minorGraduationConditionPackageServices.MinorGraduationConditionPackageDelete(list);
return base.Json("删除成功。");
}
catch (Exception ex)
{
return base.Json("删除失败,原因:" + ex.Message);
}
}
///
/// 毕业条件列表(根据对应的毕业公式ID查询)
///
///
///
public ActionResult MinorGraduationConditionViewList(Guid? minorGraduationConditionPackageID)
{
var minorGraduationConditionPackageList = new List();
if (minorGraduationConditionPackageID.HasValue)
{
minorGraduationConditionPackageList = minorGraduationConditionPackageServices
.GetMinorGraduationConditionViewList(minorGraduationConditionPackageID);
}
return Json(new GridResultSet()
{
rows = minorGraduationConditionPackageList,
total = minorGraduationConditionPackageList.Count
});
}
///
/// 毕业条件添加页面
///
///
public ActionResult MinorGraduationConditionList()
{
return View();
}
///
/// 毕业条件添加页面查询列表
///
///
///
[HttpPost]
public ActionResult MinorGraduationConditionList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
//启用状态(默认为启用)
var isCurrent = (int)CF_GeneralPurpose.IsYes;
return base.Json(minorGraduationConditionServices.GetMinorGraduationConditionViewGrid(configuretView, isCurrent, (int)pararms.page, (int)pararms.rows));
}
///
/// 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 minorGraduationConditionPackageIDString = Request.Form["SelectedID"];
var minorGraduationConditionPackageIDList = minorGraduationConditionPackageIDString.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => (Guid?)new Guid(x)).ToList();
var dt = minorGraduationConditionPackageServices.GetMinorGraduationConditionPackageViewList(configuretView, isDefault, minorGraduationConditionPackageIDList)
.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 = "导出成功。"
});
}
}
}