using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Bowin.Web.Controls.Mvc;
using EMIS.Utility;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using EMIS.CommonLogic.CalendarManage;
using EMIS.ViewModel.CalendarManage;
using EMIS.Entities;
using Bowin.Common.Exceptions;
using Bowin.Common.Utility;
using Bowin.Common.Data;
namespace EMIS.Web.Controllers.CalendarManage
{
[Authorization]
public class SCalendarController : Controller
{
public ISCalendarServices SCalendarServices { get; set; }
///
/// 校历假日页面
///
///
public ActionResult List()
{
return View();
}
///
/// 列表查询
///
///
///
[HttpPost]
public ActionResult List(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var activitiesType = pararms.getExtraInt("ActivitiesTypeDropdown");
var timesSegment = pararms.getExtraInt("TimesSegmentDropdown");
return base.Json(SCalendarServices.GetSCalendarViewGrid(configuretView, activitiesType, timesSegment, (int)pararms.page, (int)pararms.rows));
}
///
/// 编辑页面
///
///
[HttpGet]
public ActionResult Edit(Guid? activitiesID)
{
SCalendarView scalendarView = new SCalendarView();
if (activitiesID != null && activitiesID != Guid.Empty)
scalendarView = SCalendarServices.GetSCalendarView(activitiesID);
return View(scalendarView);
}
///
/// 新增或更新
///
///
///
[HttpPost]
public ActionResult Edit(SCalendarView scalendarView)
{
try
{
if (!scalendarView.ActivitiesID.HasValue || scalendarView.ActivitiesID == Guid.Empty)
{
SCalendarServices.SCalendarAdd(scalendarView);
}
else
{
SCalendarServices.SCalendarUpdate(scalendarView);
}
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "保存成功!"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "保存失败:" + ex.Message
});
}
}
///
/// 删除
///
///
///
[HttpPost]
public ActionResult Delete(string activitiesIDs)
{
try
{
List list = new List();
for (int i = 0; i < activitiesIDs.Split(',').Length; i++)
{
string id = activitiesIDs.Split(',')[i];
if (!string.IsNullOrEmpty(id))
{
Guid activitiesID = new Guid(id);
list.Add(activitiesID);
}
}
SCalendarServices.SCalendarDelete(list);
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 + "!");
}
}
///
/// 导出Excel
///
///
///
[HttpPost]
public ActionResult Excel()
{
try
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
var activitiesType = Request.Form["ActivitiesTypeDropdown"].ParseStrTo();
var timesSegment = Request.Form["TimesSegmentDropdown"].ParseStrTo();
var dt = SCalendarServices.GetSCalendarViewList(configuretView, activitiesType, timesSegment).Select(x => new
{
x.Name,
ActivitiesTime = x.ActivitiesTime.Value.ToString("yyyy-MM-dd"),
x.TimesSegmentName,
x.ActivitiesTypeName,
x.ActivitiesContent
}).ToTable();
string[] liststring = { "活动名称", "活动日期", "时间段", "活动类型", "活动内容" };
neh.Export(dt, liststring, "校历管理信息");
return RedirectToAction("MsgShow", "Common", new
{
msg = "导出成功!",
url = Url.Content("~/SCalendar/List").AddMenuParameter()
});
}
catch (Exception ex)
{
return RedirectToAction("MsgShow", "Common", new
{
msg = "导出失败,原因:" + ex.Message + "!",
url = Url.Content("~/SCalendar/List").AddMenuParameter()
});
}
}
}
}