using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Domain; using Service; namespace WebSite.Controllers { public class AlarmSettingController : BaseController { private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(AlarmSettingController)); private const int AUTHORITY_AlarmSetting = 21; public IAlarmSettingManager AlarmSettingManager { get; set; } #region Action [Authorize] public ActionResult Index() { return View("SimonIndex"); } [Authorize] public ActionResult Edit() { return View(AlarmSettingManager.LoadAll().Where(r => r.HotelID == CurrentHotelID)); } [Authorize] public ActionResult LoadAll() { var settings = AlarmSettingManager.LoadAll().Where(r => r.HotelID == CurrentHotelID); var result = new Dictionary(); foreach(var s in settings) { result.Add(s.Code, s); } return Json(new { IsSuccess = true, Data = result }, JsonRequestBehavior.AllowGet); } [Authorize] public ActionResult LoadAll2() { List list = AlarmSettingManager.LoadAll().Where(r => r.HotelID == CurrentHotelID).OrderBy(r => r.Sort).ToList(); if (list.Count == 0) { return Json(new { IsSuccess = false, Data = "当前酒店没有报警信息数据。" }, JsonRequestBehavior.AllowGet); } IEnumerable> list2 = list.GroupBy(r => r.Type); IDictionary> list3 = new Dictionary>(); foreach (var item in list2) { var type = item.Key.ToString(); list3[type] = new List(); foreach (var setting in item) { list3[type].Add(new { setting.Type, setting.Code, Name = ((Boolean)Session["isCN"]) ? setting.Name : setting.EName, Value = int.Parse(setting.Value), setting.Color, setting.Sort, setting.Beep }); } } return Json(new { IsSuccess = true, Data = list3 }, JsonRequestBehavior.AllowGet); } /// /// 加载服务和异常设置 /// /// public ActionResult LoadServicesAndAbnormities() { var list = new List(); list.AddRange(AlarmSettingManager.LoadAll('B').Where(r => r.HotelID == CurrentHotelID)); list.AddRange(AlarmSettingManager.LoadAll('C').Where(r => r.HotelID == CurrentHotelID)); var result = list.Select(r => new { r.Code, Name = r.Name != null ? r.Name:r.EName});// ((Boolean)Session["isCN"]) ? r.Name : r.EName }); return Json(new { total = result.Count(), rows = result }); } /// /// 获取当前服务信息 /// /// [Authorize] public ActionResult LoadCurrentMsg() { var settings = AlarmSettingManager.LoadAll().Where(r => r.HotelID == CurrentHotelID && r.Type == 'B' && r.Value == "1").OrderBy(r => r.Sort); return Json(new { IsSuccess = true, Data = settings }, JsonRequestBehavior.AllowGet); } [Authorize] public ActionResult Save(string jsonData) { try { IList settings = Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonData); if (settings != null) { foreach (var setting in settings) { var entity = AlarmSettingManager.Get(CurrentHotelID, setting.Type, setting.Code); entity.Value = setting.Value; entity.Beep = setting.Beep; AlarmSettingManager.Update(entity); } } SaveSystemLog(AUTHORITY_AlarmSetting, HttpContext.InnerLanguage("EditAlarmSetting"), ""); return Json(new { IsSuccess = true, Message = HttpContext.InnerLanguage("SaveSuccess") }); } catch (Exception ex) { if (logger.IsErrorEnabled) { logger.Error(HttpContext.InnerLanguage("FailedToSaveTheAlarmSettings"), ex); } SaveSystemLog(AUTHORITY_AlarmSetting, HttpContext.InnerLanguage("EditAlarmSetting"), "", false); return Json(new { IsSuccess = false, Message = HttpContext.InnerLanguage("SaveFailedBecause") + ex.Message }); } } #endregion } }