using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Service;
using Domain;
using System.Data;
namespace WebSite.Controllers
{
public class RoomControlController : BaseController
{
private const int AUTHORITY_RoomControl = 11;
public IHostManager HostManager { get; set; }
public IGroupManager GroupManager { get; set; }
public IRoomStatusManager RoomStatusManager { get; set; }
public IRoomTypeManager RoomTypeManager { get; set; }
public IHostTimingControlManager HostTimingControlManager { get; set; }
public IRoomTypeSceneManager RoomTypeSceneManager { get; set; }
public ISysUserManager SysUserManager { get; set; }
public IRoomCardTypeManager RoomCardTypeManager { get; set; }
public ITestManager TestManager { get; set; }
#region Action
[Authorize]
public ActionResult Index()
{
return View("SimonIndex");
}
///
/// 加载定时记录
///
///
///
///
///
///
[Authorize]
public ActionResult LoadByRoomControl(int page, int rows, string order, string sort)
{
long total = 0;
var list = HostTimingControlManager.LoadAllByPage(out total, page, rows, order, sort, CurrentHotelID);
var restult = list.Select(r => new
{
r.ID,
r.HotelID,
r.HostIDs,
RoomNumbers = GetRoomNumberByIDs(r.HostIDs),
r.GroupID,
GroupName = r.GroupID > 0 ? GroupManager.Get(r.GroupID).Name : "",
r.RoomTypeID,
RoomTypeName = r.RoomTypeID > 0 ? RoomTypeManager.Get(r.RoomTypeID).Name : "",
r.RoomStatusID,
RoomStatusName = r.RoomStatusID > 0 ? RoomStatusManager.Get(r.RoomStatusID).Name : "",
r.RoomCardTypeID,
RoomCardTypeName = r.RoomCardTypeID > -1 ? RoomCardTypeManager.Get(r.RoomCardTypeID).Name : "",
r.RoomTypeSceneID,
RoomTypeSceneName = RoomTypeSceneManager.Get(r.RoomTypeSceneID).Name,
r.TimingType,
r.TimingDay,
r.Timing,
r.ActiveIndicator,
ExecStatus = r.ExecStatus ? true : false,
ExecTime = r.ExecStatus ? Convert.ToDateTime(r.ExecTime).ToString("yyyy-MM-dd HH:mm:ss") : ""
}).ToList();
return Json(new { total = restult.Count, rows = restult });
}
private string GetRoomNumberByIDs(string hostIDs)
{
string roomNumbers = "";
foreach (string id in hostIDs.Split(','))
{
var item = HostManager.Get(Convert.ToInt32(id));
if (item != null)
{
roomNumbers += item.RoomNumber + ",";
}
}
if (roomNumbers.Length > 0 && roomNumbers.LastIndexOf(",") == roomNumbers.Length - 1)
{
roomNumbers = roomNumbers.Substring(0, roomNumbers.Length - 1);
}
return roomNumbers;
}
///
/// 编辑定时
///
///
///
[Authorize]
public ActionResult Edit(int? id)
{
HostTimingControl model = new HostTimingControl { ID = 0 };
model.RoomCardTypeID = -1;
if (id.HasValue && id != 0)
{
model = HostTimingControlManager.Get(id);
}
return View(model);
}
///
/// 保存新增、编辑定时
///
///
[Authorize]
public ActionResult SaveRoomControrl(string jsonData)
{
var entity = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonData);
if (entity.ID == 0)
{
entity.HotelID = CurrentHotelID;
entity.ActiveIndicator = false;
entity.ExecStatus = false;
entity.ExecTime = Convert.ToDateTime("1999-01-01");
HostTimingControlManager.Save(entity);
}
else
{
var timingEntity = HostTimingControlManager.Get(entity.ID);
timingEntity.HotelID = CurrentHotelID;
timingEntity.GroupID = entity.GroupID;
timingEntity.RoomTypeID = entity.RoomTypeID;
timingEntity.HostIDs = entity.HostIDs;
timingEntity.RoomStatusID = entity.RoomStatusID;
timingEntity.RoomCardTypeID = entity.RoomCardTypeID;
timingEntity.RoomTypeSceneID = entity.RoomTypeSceneID;
timingEntity.TimingType = entity.TimingType;
timingEntity.TimingDay = entity.TimingDay;
timingEntity.Timing = entity.Timing;
timingEntity.ActiveIndicator = false;
HostTimingControlManager.Update(timingEntity);
}
TestManager.Save(new Test() { MyName="nihao"});
return Json(new { IsSuccess = true, Message = HttpContext.InnerLanguage("SaveSuccess") });
}
///
/// 刪除定时记录
///
///
///
[Authorize]
public ActionResult Delete(IList idList)
{
HostTimingControlManager.Delete(idList.Cast