using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Domain;
using Service;
using System;
using System.IO;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using CommonEntity;
using Common;
using WebSite.Models;
using RestSharp;
using System.Configuration;
namespace WebSite.Controllers
{
public class SysHotelController : BaseController
{
private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(SysHotelController));
private const int AuthorityID = 54;
///
/// 酒店编辑权限ID
///
private const int AUTHORITY_EditHotel = 1005;
public ISysHotelManager SysHotelManager { get; set; }
public IGroupManager GroupManager { get; set; }
public IAlarmSettingManager AlarmSettingManager { get; set; }
public IAppMenuManager AppMenuManager { get; set; }
public IRoomTypeManager RoomTypeManager { get; set; }
public ISysHotelGroupManager SysHotelGroupManager { get; set; }
public ISysUserManager SysUserManager { get; set; }
public ISysProvinceManager SysProvinceManager { get; set; }
public IHostManager HostManager { get; set; }
///
/// 空调ECO
///
/// 阿宝添加的
///
public IECO_SettingMananger Air_ECO_SettingManager { get; set; }
public IECO_RoomDetailManager RoomDetailManager { get; set; }
public ILieECOMananger LieECOManager { get; set; }
public ActionResult Index()
{
ViewData["EditHotel"] = SysUserManager.HasAuthority(User.Identity.Name, AUTHORITY_EditHotel);
return View();
}
public ActionResult Edit(int? id)
{
ViewData["IsApprove"] = false;
switch (User.Identity.Name.ToLower())
{
case "admin":
case "leo":
case "blw":
ViewData["IsApprove"] = true;
break;
}
if (id.HasValue)
{
return View(SysHotelManager.Get(id.Value));
}
var lastHotel = SysHotelManager.LoadAll().OrderByDescending(r => r.Code).FirstOrDefault();
int code = Convert.ToInt16(lastHotel.Code) + 1;
return View(new SysHotel { ID = 0, Code = code.ToString(), Sort = code, Styles = "0", ValidateDate = DateTime.Now.AddYears(1).AddMonths(4), Status = 2, IsApprove = false });
}
public ActionResult EditDockingInfo()
{
var q = SysHotelManager.Get(CurrentHotelID);
return View(q);
}
public ActionResult LoadAll()
{
var list = SysHotelManager.LoadAll().OrderBy(o => o.Sort).ToList();
var result = list.Select(r => new { r.ID, Name = r.Code + "-" + ReturnNameByLanguage(r.Name, r.EName, r.TWName), r.Code }).ToList();
//result.Insert(0, new { ID = 0, Name = HttpContext.InnerLanguage("All") });
return Json(result);
}
[Authorize]
public ActionResult LoadAllByPage(int page, int rows, string order, string sort, string query, int? groupId)
{
if (groupId.HasValue)
{
long total = 0;
IList list = this.SysHotelManager.LoadAllByPage(out total, page, rows, order, sort, query, groupId);
IList province = SysProvinceManager.LoadAll();
IList city = SysProvinceManager.LoadAllCity();
IList county = SysProvinceManager.LoadAllCounty();
foreach (SysHotel hotel in list)
{
hotel.SysHotelGroupName = hotel.SysHotelGroup == null ? "" : hotel.SysHotelGroup.Name;
if (!string.IsNullOrEmpty(hotel.ProvinceCode))
{
hotel.Address = province.Where(r => r.Code == hotel.ProvinceCode).FirstOrDefault().Name +
city.Where(r => r.Code == hotel.CityCode).FirstOrDefault().Name +
county.Where(r => r.Code == hotel.CountyCode).FirstOrDefault().Name + hotel.Address;
}
}
return Json(new { total = total, rows = list });
}
else
{
return Json(new { total = 0, rows = new List