using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Linq.Dynamic;
using System.Text.RegularExpressions;
using System.Web.Mvc;
using Domain;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Service;
using Common;
using System.Web.Routing;
using RCUHost;
using System.Threading;
using System.Threading.Tasks;
using System.Text;
using System.Web;
using CommonEntity;
using WebSite.Models;
using RCUHost.Protocols;
using RCUHost.Implement;
using RestSharp;
using System.Net;
namespace WebSite.Controllers
{
public class HostController : BaseController
{
private const int AUTHORITY_Host = 30;
private const int AUTHORITY_Secret = 34;
///
/// 数据升级权限ID
///
private const int AUTHORITY_DataUpgrade = 1003;
private const int AUTHORITY_CHostUpgrade = 1006;//C主机升级权限
private const int AUTHORITY_HostAuthority = 1007;//主机授权权限
private const int AUTHORITY_MACAuthority = 1008;//MAC查询授权权限
private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(HostController));
private static string tool_sync_url = System.Configuration.ConfigurationManager.AppSettings["tool_sync_url"];
public IHostManager HostManager { get; set; }
public IHostAirManager HostAirManager { get; set; }
public IHostUpdateManager HostUpdateManager { get; set; }
public IRoomStatusManager RoomStatusManager { get; set; }
public IRoomTypeAirManager RoomTypeAirManager { get; set; }
public IGroupManager GroupManager { get; set; }
public ISysUserManager SysUserManager { get; set; }
public IPowerSupplyControlManager PowerSupplyControlManager { get; set; }
public ISysHotelManager SysHotelManager { get; set; }
public IHostRCUManager HostRCUManager { get; set; }
public IRoomTypeManager RoomTypeManager { get; set; }
public ITFTP_SettingMananger TFTPManager { get; set; }
//public ISmartRobotDisableTimeMananger SmartRobotDisableTimeMananger { get; set; }
public IHostModalManager HostModalManager { get; set; }
#region Action
[Authorize]
public ActionResult Index()
{
ViewData["EnableDataUpgrade"] = SysUserManager.HasAuthority(User.Identity.Name, AUTHORITY_DataUpgrade);
ViewData["AUTHORITY_CHostUpgrade"] = SysUserManager.HasAuthority(User.Identity.Name, AUTHORITY_CHostUpgrade);
ViewData["AUTHORITY_HostAuthority"] = SysUserManager.HasAuthority(User.Identity.Name, AUTHORITY_HostAuthority);
ViewData["AUTHORITY_MACAuthority"] = SysUserManager.HasAuthority(User.Identity.Name, AUTHORITY_MACAuthority);
return View("SimonIndex");
}
[Authorize]
public ActionResult SecretMgtIndex()
{
return View("SecretMgtIndex");
}
[Authorize]
public ActionResult HostInfo()
{
return View("HostInfo");
}
[Authorize]
public ActionResult Edit(int? id, string hostNumber, string ip, string mac, string version)
{
ViewData["Account"] = User.Identity.Name;
if (id.HasValue)
{
return View(HostManager.Get(id.Value));
}
else
{
var hotel = SysHotelManager.Get(CurrentHotelID);
return View(new Host
{
ID = 0,
HostNumber = hostNumber,
RoomNumber = hostNumber,
MAC = mac,
SysHotel = hotel,
Group = null,
RoomType = null,
Remark = hotel.Code,
IsSyncRoomNumber = false,
IsAutoUpdate = false,
ServerIP = "106.75.37.225",
ServerPort = 3339,
IPType = 1,
LanIP = "192.168.1.200",
LanPort = 3341,
SubnetMask = "255.255.255.0",
Gateway = "192.168.1.1",
DNS = "114.114.114.114",
FCS_locationUUID = ""
});
//var host = HostManager.GetByMAC(mac, CurrentHotelID);
//if (host != null)
//{
// return View(host);
//}
//else
//{
// var hotel = SysHotelManager.Get(CurrentHotelID);
// return View(new Host
// {
// ID = 0,
// HostNumber = hostNumber,
// RoomNumber = hostNumber,
// MAC = mac,
// SysHotel = hotel,
// Group = null,
// RoomType = null,
// Remark = hotel.Code,
// IsSyncRoomNumber = false,
// IsAutoUpdate = false,
// ServerIP = "106.75.37.225",
// ServerPort = 3339,
// IPType = 1,
// LanIP = "192.168.1.200",
// LanPort = 3341,
// SubnetMask = "255.255.255.0",
// Gateway = "192.168.1.1",
// DNS = "114.114.114.114",
// FCS_locationUUID=""
// });
//}
}
}
[Authorize]
public ActionResult NetworkSetting()
{
return View();
}
///
///
///
///
///
///
///
///
/// 房号
/// mac地址
/// 房型名称
/// 房号是否同步:0否,1是,2全部
///
[Authorize]
public ActionResult LoadAllByPage(int page, int rows, string order, string sort, int? groupId, string roomNumber = "", string mac = "", string roomType = "", int isSyncRoomNumber = 1)
{
long total = 0;
if (groupId.HasValue)
{
var list = HostManager.LoadAllByPage(out total, page, rows, order, sort, groupId.GetValueOrDefault(), CurrentHotelID, roomNumber, mac, roomType, isSyncRoomNumber).ToList();
IList