using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using EMIS.ViewModel.ExaminationApply;
using EMIS.CommonLogic.ExaminationApply;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using Bowin.Common.Data;
using Bowin.Common.Utility;
using Bowin.Common.Exceptions;
using Bowin.Web.Controls.Mvc;
namespace EMIS.Web.Controllers.ExaminationApply
{
[Authorization]
public class ExaminationSubjectsController : Controller
{
public IExaminationSubjectsServices ExaminationSubjectServices { get; set; }
//
// GET: /ExaminationSubjects/
public ActionResult List()
{
return View();
}
///
/// 列表查询
///
///
///
[HttpPost]
public ActionResult List(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var examinationFormID = pararms.getExtraInt("ExaminationFormDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ExaminationFormDropdown"); ;
if (configuretView.Attribute == Bowin.Web.Controls.Mvc.DropdownList.SELECT_ALL.ToString()) configuretView.Attribute = "";
return base.Json(ExaminationSubjectServices.GetExaminationSubjectViewList(configuretView, examinationFormID, (int)pararms.page, (int)pararms.rows));
}
public ActionResult Edit(Guid? ExaminationSubjectID)
{
ExaminationSubjectView examinationSubjectView = new ExaminationSubjectView();
if (ExaminationSubjectID != null && ExaminationSubjectID != Guid.Empty)
{
examinationSubjectView = ExaminationSubjectServices.GetExaminationSubjectViewInfo(ExaminationSubjectID);
}
ViewBag.ID = ExaminationSubjectID;
return View(examinationSubjectView);
}
///
/// 修改
///
///
[HttpPost]
public ActionResult Edit(ExaminationSubjectView examinationSubjectView)
{
try
{
var user = HttpContext.User as EMIS.Utility.FormValidate.CustomPrincipal;
ExaminationSubjectServices.Save(examinationSubjectView);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "保存成功!"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "保存失败:" + ex.Message
});
}
}
///
/// 删除
///
///
///
[HttpPost]
public ActionResult Delete(string examinationSubjectIDs)
{
try
{
var examinationSubjectIDList = examinationSubjectIDs.Split(',').Select(x => (Guid?)new Guid(x)).ToList();
ExaminationSubjectServices.Delete(examinationSubjectIDList);
return base.Json("删除成功");
}
catch (Exception ex)
{
string mge = ex.Message;
System.Data.SqlClient.SqlException num = ExceptionHelper.GetSqlException(ex);
if (num != null)
{
if (num.Number == 547)
mge = "请先删除所有关联的数据,如:要求通过科目为该考试科目的数据、或者考场安排等";
}
return base.Json("删除失败,原因:" + mge + "!");
}
}
[HttpPost]
public ActionResult Excel()
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
var examinationFormID = Request.Form["ExaminationFormDropdown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["ExaminationFormDropdown"].ParseStrTo(); ;
if (configuretView.Attribute == Bowin.Web.Controls.Mvc.DropdownList.SELECT_ALL.ToString()) configuretView.Attribute = "";
var dt = ExaminationSubjectServices.GetExaminationSubjectViewList(configuretView, examinationFormID, null).Select(x => new
{
x.Name,
//ExaminationDate = (x.ExaminationDate.HasValue ? x.ExaminationDate.Value.ToString("yyyy-MM-dd") : ""),
//x.ExaminationTypeName,
x.ExaminationFormName,
//x.PeopleNumLimit,
//x.SchoolyearCode
}).ToTable();
string[] liststring = { "考试科目", "考试性质"};
neh.Export(dt, liststring, "考试科目信息");
return RedirectToAction("MsgShow", "Common", new
{
msg = "导出成功!",
url = Url.Content("~/ExaminationSubjects/List").AddMenuParameter()
});
}
public ActionResult Validation(string ExaminationTypeIDs, string SchoolyearIDs, string ExaminationFormIDs, string names)
{
List list2 = new List();
foreach (var i in ExaminationFormIDs.Split(','))
{
list2.Add(Convert.ToInt32(i));
}
List list3 = new List();
foreach (var i in names.Split(','))
{
list3.Add(i);
}
string[] result = ExaminationSubjectServices.Validation(list2, list3);
return Json(new ReturnMessage()
{
IsSuccess = result[0] == "true" ? true : false,
Message = result[1]
});
}
}
}