using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Bowin.Web.Controls.Mvc;
using Bowin.Common.Utility;
using Bowin.Common.Data;
using Bowin.Common.JSON;
using EMIS.Utility;
using EMIS.Web.Controls;
using EMIS.ViewModel;
using EMIS.ViewModel.SchedulingManage.SchedulingSettings;
using EMIS.CommonLogic.SchedulingManage.SchedulingSettings;
namespace EMIS.Web.Controllers.SchedulingManage.SchedulingSettings
{
[Authorization]
public class CollegeClassroomController : Controller
{
public ICollegeClassroomServices CollegeClassroomServices { get; set; }
///
/// 院系教室页面
///
///
public ActionResult List()
{
return View();
}
///
/// 院系教室列表查询
///
///
///
[HttpPost]
public ActionResult List(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var collegeCampusID = pararms.getExtraGuid("CollegeCampusDropdown");
var collegeID = pararms.getExtraGuid("CollegeDropdown");
var buildingsID = pararms.getExtraGuid("BuildingsDropdown");
//教室名称
var classroomName = pararms.getExtraString("ClassroomNameDropdown");
//教室类型
var classroomTypeID = pararms.getExtraInt("ClassroomTypeDictionary") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ClassroomTypeDictionary");
//可否多班教学
var isConcurrentUse = pararms.getExtraInt("IsConcurrentUseDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsConcurrentUseDropdown");
//是否预留
var isReserve = pararms.getExtraInt("IsReserveDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsReserveDropdown");
//是否可用
var isAvailable = pararms.getExtraInt("IsAvailableDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsAvailableDropdown");
return Json(CollegeClassroomServices.GetCollegeClassroomViewGrid(configuretView, collegeCampusID, collegeID, buildingsID,
classroomName, classroomTypeID, isConcurrentUse, isReserve, isAvailable, (int)pararms.page, (int)pararms.rows));
}
///
/// 院系教室下拉列表信息(仅查询预留为否、状态为可用的院系教室信息)
///
///
///
[HttpPost]
public ActionResult ClassroomListComboGrid(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var collegeCampusID = pararms.getExtraGuid("CollegeCampusDropdown");
var collegeID = Request.Form["collegeID"].ParseStrTo();
var buildingsID = pararms.getExtraGuid("BuildingsDropdown");
//教室名称
var classroomName = pararms.getExtraString("ClassroomNameDropdown");
//教室类型
int? classroomTypeID = pararms.getExtraString("ClassroomTypeID").ParseStrTo();
//可否多班教学
var isConcurrentUse = pararms.getExtraInt("IsConcurrentUseDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsConcurrentUseDropdown");
//是否预留
var isReserve = (int)CF_GeneralPurpose.IsNo;
//是否可用
var isAvailable = (int)CF_GeneralPurpose.IsYes;
return Json(CollegeClassroomServices.GetCollegeClassroomViewGrid(configuretView, collegeCampusID, collegeID, buildingsID,
classroomName, classroomTypeID, isConcurrentUse, isReserve, isAvailable, (int)pararms.page, (int)pararms.rows));
}
///
/// 复制新增
///
///
///
public ActionResult CopyAdd(Guid collegeClassroomID)
{
CollegeClassroomView collegeClassroomView = new CollegeClassroomView();
collegeClassroomView = CollegeClassroomServices.GetCollegeClassroomView(collegeClassroomID);
return View("Edit", collegeClassroomView);
}
///
/// 复制新增
///
///
///
[HttpPost]
public ActionResult CopyAdd(CollegeClassroomView collegeClassroomView)
{
collegeClassroomView.CollegeClassroomID = Guid.Empty;
return this.Edit(collegeClassroomView);
}
///
/// 编辑(新增、修改)
///
///
///
public ActionResult Edit(Guid? collegeClassroomID)
{
CollegeClassroomView collegeClassroomView = new CollegeClassroomView();
if (collegeClassroomID.HasValue && collegeClassroomID != Guid.Empty)
{
collegeClassroomView = CollegeClassroomServices.GetCollegeClassroomView(collegeClassroomID);
}
return View(collegeClassroomView);
}
///
/// 编辑(新增、修改)
///
///
///
[HttpPost]
public ActionResult Edit(CollegeClassroomView collegeClassroomView)
{
try
{
CollegeClassroomServices.CollegeClassroomEdit(collegeClassroomView);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "保存成功。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "保存失败,原因:" + ex.Message
});
}
}
///
/// 院系教室信息批量新增(根据院系所信息选择教室信息新增)
///
///
[HttpGet]
public ActionResult BatchAdd()
{
CollegeClassroomView collegeClassroomView = new CollegeClassroomView();
return View(collegeClassroomView);
}
///
/// 院系教室信息批量新增(根据院系所信息选择教室信息新增)
///
///
///
public ActionResult BatchAdd(CollegeClassroomView collegeClassroomView)
{
try
{
var classroomIDList = Request["classroomIDList"].JsonToObject>();
string result = CollegeClassroomServices.CollegeClassroomBatchAdd(classroomIDList, collegeClassroomView);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "新增成功" + result + "。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "新增失败,原因:" + ex.Message
});
}
}
///
/// 查询对应的未新增教室信息ClassroomView
///
///
///
[HttpPost]
public ActionResult ClassroomNoAddList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var campusID = pararms.getExtraGuid("CampusDropdown");
var buildingsID = pararms.getExtraGuid("BuildingsDropdown");
//教室名称
var classroomName = pararms.getExtraString("ClassroomNameDropdown");
//教室类型
var classroomTypeID = pararms.getExtraInt("ClassroomTypeDictionary") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ClassroomTypeDictionary");
//可否多班教学
var isConcurrentUse = pararms.getExtraInt("IsConcurrentUseDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsConcurrentUseDropdown");
//是否预留
var isReserve = pararms.getExtraInt("IsReserveDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsReserveDropdown");
//是否可用
var isAvailable = pararms.getExtraInt("IsAvailableDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsAvailableDropdown");
//分配的院系所ID(只能选择一个)
var collegeID = pararms.getExtraGuid("CollegeID");
return base.Json(CollegeClassroomServices.GetClassroomViewNoAddGrid(configuretView, campusID, buildingsID, classroomName,
classroomTypeID, isConcurrentUse, isReserve, isAvailable, collegeID, (int)pararms.page, (int)pararms.rows));
}
///
/// 院系教室信息批量新增(根据院系教室信息新增)
///
///
[HttpGet]
public ActionResult CollegeClassroomBatchAdd()
{
CollegeClassroomView collegeClassroomView = new CollegeClassroomView();
return View(collegeClassroomView);
}
///
/// 院系教室信息批量新增(根据院系教室信息新增)
///
///
///
public ActionResult CollegeClassroomBatchAdd(CollegeClassroomView collegeClassroomView)
{
try
{
var collegeClassroomViewList = Request["collegeClassroomViewList"].JsonToObject>();
string result = CollegeClassroomServices.CollegeClassroomBatchAdd(collegeClassroomViewList, collegeClassroomView);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "新增成功" + result + "。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "新增失败,原因:" + ex.Message
});
}
}
///
/// 查询对应的未新增院系教室信息
///
///
///
[HttpPost]
public ActionResult CollegeClassroomNoAddList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var buildingsInfoCampusID = pararms.getExtraGuid("BuildingsInfoCampusDropdown");
var buildingsID = pararms.getExtraGuid("BuildingsDropdown");
//教室名称
var classroomName = pararms.getExtraString("ClassroomNameDropdown");
//教室类型
var classroomTypeID = pararms.getExtraInt("ClassroomTypeDictionary") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("ClassroomTypeDictionary");
//可否多班教学
var isConcurrentUse = pararms.getExtraInt("IsConcurrentUseDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsConcurrentUseDropdown");
//是否预留
var isReserve = pararms.getExtraInt("IsReserveDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsReserveDropdown");
//是否可用
var isAvailable = pararms.getExtraInt("IsAvailableDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsAvailableDropdown");
//分配的院系所ID(可多选)
var collegeID = pararms.getExtraGuid("CollegeDropdown");
return base.Json(CollegeClassroomServices.GetCollegeClassroomViewNoAddGrid(configuretView, buildingsInfoCampusID,
buildingsID, classroomName, classroomTypeID, isConcurrentUse, isReserve, isAvailable, collegeID, (int)pararms.page, (int)pararms.rows));
}
///
/// 删除
///
///
///
public ActionResult Delete(string collegeClassroomIDs)
{
try
{
List list = collegeClassroomIDs.Split(',').Where(x => !string.IsNullOrEmpty(x))
.Select(x => (Guid?)new Guid(x)).ToList();
CollegeClassroomServices.CollegeClassroomDelete(list);
return base.Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" });
}
catch (Exception ex)
{
return base.Json(new ReturnMessage { IsSuccess = false, Message = "删除失败,原因:" + ex.Message });
}
}
///
/// Excel导出
///
///
///
[HttpPost]
public ActionResult Excel()
{
try
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
var collegeCampusID = Request.Form["CollegeCampusDropdown"].ParseStrTo();
var collegeID = Request.Form["CollegeDropdown"].ParseStrTo();
var buildingsID = Request.Form["BuildingsDropdown"].ParseStrTo();
//教室名称
var classroomName = Request.Form["ClassroomNameDropdown"].ToString();
//教室类型
var classroomTypeID = Request.Form["ClassroomTypeDictionary"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["ClassroomTypeDictionary"].ParseStrTo();
//可否多班教学
var isConcurrentUse = Request.Form["IsConcurrentUseDropdown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsConcurrentUseDropdown"].ParseStrTo();
//是否预留
var isReserve = Request.Form["IsReserveDropdown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsReserveDropdown"].ParseStrTo();
//是否可用
var isAvailable = Request.Form["IsAvailableDropdown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsAvailableDropdown"].ParseStrTo();
var dt = CollegeClassroomServices.GetCollegeClassroomViewList(configuretView, collegeCampusID, collegeID, buildingsID,
classroomName, classroomTypeID, isConcurrentUse, isReserve, isAvailable)
.Select(x => new
{
x.CollegeNo,
x.CollegeName,
x.UnitCategoryName,
x.CollegeCampusNo,
x.CollegeCampusName,
x.ClassroomCode,
x.ClassroomName,
x.ClassroomTypeName,
x.RoomUseName,
x.Totalseating,
x.Effectiveseating,
x.BuildingsInfoCode,
x.BuildingsInfoName,
x.CampusNo,
x.CampusName,
x.IsConcurrentUseName,
x.IsReserveName,
x.IsAvailableName,
}).ToTable();
string[] liststring = {
RSL.Get("CollegeCode"), RSL.Get("CollegeName"), "单位类别", RSL.Get("CampusCode"),
RSL.Get("CampusName"), "教室编号", "教室名称", "教室类型", "房间用途", "总座位数",
"有效座位数", "建筑物编号", "建筑物名称", "所属" + RSL.Get("CampusCode"),
"所属" + RSL.Get("CampusName"), "可否多班教学", "是否预留", "是否可用"
};
neh.Export(dt, liststring, "院系教室信息" + DateTime.Now.ToString("yyyyMMdd"));
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "导出成功。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "导出失败,原因:" + ex.Message
});
}
}
}
}