初始化CRICS
This commit is contained in:
31
Dao/Implement/AlarmSettingRepository.cs
Normal file
31
Dao/Implement/AlarmSettingRepository.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class AlarmSettingRepository : RepositoryBase<AlarmSetting>, IAlarmSettingRepository
|
||||
{
|
||||
public IQueryable<AlarmSetting> LoadAll(char type)
|
||||
{
|
||||
return LoadAllFromCache().Where(r => r.Type == type);
|
||||
}
|
||||
|
||||
public AlarmSetting Get(int hotelID, char type, string code)
|
||||
{
|
||||
return LoadAllFromCache().FirstOrDefault(r => r.HotelID == hotelID && r.Type == type && r.Code == code);
|
||||
}
|
||||
|
||||
public AlarmSetting Get(int hotelID, char type, int modalTypeId)
|
||||
{
|
||||
return LoadAllFromCache().FirstOrDefault(r => r.HotelID == hotelID && r.Type == type && r.ModalTypeID == modalTypeId);
|
||||
}
|
||||
|
||||
public AlarmSetting Get(int hotelID, char type, string code, int modalTypeId)
|
||||
{
|
||||
return LoadAllFromCache().FirstOrDefault(r => r.HotelID == hotelID && r.Type == type && r.Code == code && r.ModalTypeID == modalTypeId);
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/AppHotelRepository.cs
Normal file
12
Dao/Implement/AppHotelRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class AppHotelRepository : RepositoryBase<AppHotel>, IAppHotelRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
29
Dao/Implement/AppMenuRepository.cs
Normal file
29
Dao/Implement/AppMenuRepository.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class AppMenuRepository : RepositoryBase<AppMenu>, IAppMenuRepository
|
||||
{
|
||||
public IQueryable<AppMenu> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public IQueryable<AppMenu> LoadAll(int type, int hotelID)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.Type == type && r.HotelID == hotelID);
|
||||
}
|
||||
}
|
||||
}
|
||||
47
Dao/Implement/AppRoomRepository.cs
Normal file
47
Dao/Implement/AppRoomRepository.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class AppRoomRepository : RepositoryBase<AppRoom>, IAppRoomRepository
|
||||
{
|
||||
public IQueryable<AppRoom> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public bool isExistMac(string mac)
|
||||
{
|
||||
int count = this.LoadAll().Where(f => f.MAC == mac).Count();
|
||||
|
||||
if (count > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public AppRoom GetRoomNumber(string mac)
|
||||
{
|
||||
return this.LoadAll().FirstOrDefault(r => r.MAC == mac);
|
||||
}
|
||||
}
|
||||
}
|
||||
30
Dao/Implement/CarbonScene_SetRepository.cs
Normal file
30
Dao/Implement/CarbonScene_SetRepository.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class CarbonScene_SetRepository : RepositoryBase<CarbonScene>, ICarbonScene_SetRepository
|
||||
{
|
||||
public CarbonScene GetDataBy(int hostid)
|
||||
{
|
||||
var qqq = this.LoadAll().Where(A => A.HostID == hostid).FirstOrDefault();
|
||||
return qqq;
|
||||
}
|
||||
|
||||
public int Add(CarbonScene entity)
|
||||
{
|
||||
int i = 0;
|
||||
string nnn = this.Save(entity).ToString();
|
||||
int.TryParse(nnn, out i);
|
||||
return i;
|
||||
}
|
||||
|
||||
public void UpdateData(CarbonScene entity)
|
||||
{
|
||||
this.Update(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Dao/Implement/ECO_DetailRepository.cs
Normal file
33
Dao/Implement/ECO_DetailRepository.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
using System.Data;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class ECO_DetailRepository: RepositoryBase<ECO_Detail>,IECO_DetailRepository
|
||||
{
|
||||
|
||||
public int Add(ECO_Detail test)
|
||||
{
|
||||
object obj= this.Save(test);
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
|
||||
|
||||
public ECO_Detail GetDetail(int hotelid, int hostid)
|
||||
{
|
||||
return this.LoadAll().Where(A=>A.HostID==hostid&&A.HotelID==hotelid).FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
public void ZeroRefresh()
|
||||
{
|
||||
Session.CreateSQLQuery("update ECO_Detail set IsTrigger=0;")
|
||||
.ExecuteUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
19
Dao/Implement/ECO_SettingRepository.cs
Normal file
19
Dao/Implement/ECO_SettingRepository.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class ECO_SettingRepository : RepositoryBase<ECO_Setting>,IECO_SettingRepository
|
||||
{
|
||||
|
||||
public int Add(ECO_Setting test)
|
||||
{
|
||||
object obj= this.Save(test);
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
89
Dao/Implement/EnergyConsumptionStatisticsRepository.cs
Normal file
89
Dao/Implement/EnergyConsumptionStatisticsRepository.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Spring.Data.Core;
|
||||
using Spring.Data.NHibernate.Generic.Support;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class EnergyConsumptionStatisticsRepository : HibernateDaoSupport, IEnergyConsumptionStatisticsRepository
|
||||
{
|
||||
public IList<string> LoadRoomNumbers()
|
||||
{
|
||||
IList<string> roomNumbers = new List<string>();
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "SELECT DISTINCT RoomNumber FROM tb_HostModalEnergy ORDER BY RoomNumber";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
|
||||
using (IDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
roomNumbers.Add(reader["RoomNumber"].ToString());
|
||||
}
|
||||
}
|
||||
|
||||
return roomNumbers;
|
||||
}
|
||||
|
||||
public DataTable LoadModals(string roomNumber, DeviceType? deviceType)
|
||||
{
|
||||
IList<string> roomNumbers = new List<string>();
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
string sqlstr = @"WITH HostModalEnergy AS
|
||||
(
|
||||
SELECT DISTINCT RoomTypeID,ModalAddress
|
||||
FROM tb_HostModalEnergy E
|
||||
WHERE RoomNumber=@RoomNumber ";
|
||||
|
||||
if (deviceType.HasValue)
|
||||
{
|
||||
|
||||
|
||||
sqlstr += "AND EXISTS(SELECT * FROM tb_RoomTypeModal M WHERE E.ModalAddress = M.ModalAddress AND M.Type =@deviceType)";
|
||||
}
|
||||
|
||||
sqlstr += @")
|
||||
SELECT c.Name 'RoomType',b.ModalAddress,b.Outlet,b.Name,b.EnglishName
|
||||
FROM HostModalEnergy a
|
||||
INNER JOIN tb_RoomTypeModal b ON a.RoomTypeID=b.RoomTypeID AND a.ModalAddress=b.ModalAddress
|
||||
INNER JOIN tb_RoomType c ON c.ID=b.RoomTypeID";
|
||||
|
||||
cmd.CommandText = sqlstr;
|
||||
|
||||
cmd.CommandType = CommandType.Text;
|
||||
|
||||
var parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@RoomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
|
||||
if (deviceType.HasValue)
|
||||
{
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@deviceType";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = (int)deviceType.GetValueOrDefault();
|
||||
cmd.Parameters.Add(parameter);
|
||||
}
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter((SqlCommand)cmd);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Dao/Implement/FaultRecordRepository.cs
Normal file
34
Dao/Implement/FaultRecordRepository.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class FaultRecordsRepository : RepositoryBase<FaultRecord>, IFaultRecordsRepository
|
||||
{
|
||||
public IQueryable<FaultRecord> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public string GenerateFaultNumber()
|
||||
{
|
||||
return Session.GetNamedQuery("GenerateFaultNumber").UniqueResult().ToString();
|
||||
}
|
||||
|
||||
public int GetFaultsCount(int faultTypeID)
|
||||
{
|
||||
return base.LoadAll().Count(r => r.FaultType.ID == faultTypeID);
|
||||
}
|
||||
}
|
||||
}
|
||||
29
Dao/Implement/FaultTypeRepository.cs
Normal file
29
Dao/Implement/FaultTypeRepository.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class FaultTypeRepository : RepositoryBase<FaultType>, IFaultTypeRepository
|
||||
{
|
||||
public IQueryable<FaultType> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public FaultType Get(string code)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.Code == code);
|
||||
}
|
||||
}
|
||||
}
|
||||
153
Dao/Implement/GroupRepository.cs
Normal file
153
Dao/Implement/GroupRepository.cs
Normal file
@@ -0,0 +1,153 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
using System.Linq.Dynamic;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class GroupRepository : RepositoryBase<Group>, IGroupRepository
|
||||
{
|
||||
public IList<Group> GetGroupList(Group group)
|
||||
{
|
||||
IList<Group> groupList = new List<Group>();
|
||||
|
||||
if (group == null)
|
||||
{
|
||||
return groupList;
|
||||
}
|
||||
|
||||
groupList.Add(group);
|
||||
|
||||
IList<Group> subGroups = LoadAll().Where(r => r.Parent == group).OrderBy(o => o.Sort).ToList();
|
||||
|
||||
foreach (Group subGroup in subGroups)
|
||||
{
|
||||
foreach (Group subGroup1 in GetGroupList(subGroup))
|
||||
{
|
||||
groupList.Add(subGroup1);
|
||||
}
|
||||
}
|
||||
|
||||
return groupList;
|
||||
}
|
||||
|
||||
public IList<Group> GetGroupList(int hotelID)
|
||||
{
|
||||
IList<Group> groupList = new List<Group>();
|
||||
|
||||
if (hotelID == 0)
|
||||
{
|
||||
return groupList;
|
||||
}
|
||||
IList<Group> groups = LoadAll().Where(r => r.HotelID == hotelID).ToList();
|
||||
groupList.Add(groups[0]);
|
||||
|
||||
IList<Group> subGroups = LoadAll().Where(r => r.Parent == groups[0]).OrderBy(o => o.Sort).ToList();
|
||||
|
||||
foreach (Group subGroup in subGroups)
|
||||
{
|
||||
foreach (Group subGroup1 in GetGroupList(subGroup))
|
||||
{
|
||||
groupList.Add(subGroup1);
|
||||
}
|
||||
}
|
||||
|
||||
return groupList;
|
||||
}
|
||||
|
||||
public GroupMenu GetGroupMenu(int id, int hotelID)
|
||||
{
|
||||
GroupMenu groupMenu = null;
|
||||
|
||||
using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
using (IDbCommand command = session.Connection.CreateCommand())
|
||||
{
|
||||
command.CommandType = CommandType.Text;
|
||||
command.CommandText = "SELECT ID, ParentID, Name, Sort FROM tb_Groups WHERE ID=@ID AND HotelID=@HotelID";
|
||||
|
||||
IDbDataParameter parameter = command.CreateParameter();
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.ParameterName = "@ID";
|
||||
parameter.Value = id;
|
||||
command.Parameters.Add(parameter);
|
||||
|
||||
parameter = command.CreateParameter();
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.ParameterName = "@HotelID";
|
||||
parameter.Value = hotelID;
|
||||
command.Parameters.Add(parameter);
|
||||
|
||||
using (IDataReader reader = command.ExecuteReader())
|
||||
{
|
||||
if (reader.Read())
|
||||
{
|
||||
groupMenu = new GroupMenu();
|
||||
groupMenu.ID = reader.GetInt32(0);
|
||||
groupMenu.Name = reader.GetString(2);
|
||||
groupMenu.Sort = reader.GetInt32(3);
|
||||
|
||||
IList<GroupMenu> subGroupMenus = GetGroupMenuListByParentID(groupMenu.ID);
|
||||
foreach (var subGroupMenu in subGroupMenus)
|
||||
{
|
||||
groupMenu.SubGroupMenus.Add(subGroupMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return groupMenu;
|
||||
}
|
||||
|
||||
public IList<GroupMenu> GetGroupMenuListByParentID(int? parentId)
|
||||
{
|
||||
IList<GroupMenu> groupMenus = new List<GroupMenu>();
|
||||
|
||||
using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
using (IDbCommand command = session.Connection.CreateCommand())
|
||||
{
|
||||
command.CommandType = CommandType.Text;
|
||||
|
||||
if (parentId.HasValue)
|
||||
{
|
||||
command.CommandText = "SELECT ID, ParentID, Name, Sort FROM tb_Groups WHERE ParentID=@ParentID ORDER BY Sort";
|
||||
|
||||
IDbDataParameter parameter = command.CreateParameter();
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.ParameterName = "@ParentID";
|
||||
parameter.Value = parentId.Value;
|
||||
command.Parameters.Add(parameter);
|
||||
}
|
||||
else
|
||||
{
|
||||
command.CommandText = "SELECT ID, ParentID, Name, Sort FROM tb_Groups WHERE ParentID IS NULL ORDER BY Sort";
|
||||
}
|
||||
|
||||
using (IDataReader reader = command.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var groupMenu = new GroupMenu();
|
||||
groupMenu.ID = reader.GetInt32(0);
|
||||
groupMenu.Name = reader.GetString(2);
|
||||
groupMenu.Sort = reader.GetInt32(3);
|
||||
|
||||
IList<GroupMenu> subGroupMenus = GetGroupMenuListByParentID(groupMenu.ID);
|
||||
foreach (var subGroupMenu in subGroupMenus)
|
||||
{
|
||||
groupMenu.SubGroupMenus.Add(subGroupMenu);
|
||||
}
|
||||
|
||||
groupMenus.Add(groupMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return groupMenus;
|
||||
}
|
||||
}
|
||||
}
|
||||
123
Dao/Implement/HostAirRecordRepository.cs
Normal file
123
Dao/Implement/HostAirRecordRepository.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostAirRecordRepository : RepositoryBase<HostAirRecord>, IHostAirRecordRepository
|
||||
{
|
||||
public DataTable LoadHostAirRecords(out long total, int page, int rows, string order, string sort, string roomNumber, int airNo, string startTime, string endTime, string tempTypes, int hotelID)
|
||||
{
|
||||
total = 0;
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostAirRecords";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@order";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = order;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@sort";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = sort;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@airNo";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = airNo;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@startTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = startTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@endTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = endTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@tempTypes";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = tempTypes;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
|
||||
da.Fill(ds);
|
||||
|
||||
parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
|
||||
total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
|
||||
public HostAirRecord GetLastHostAirRecord(int hostId, int airNo, TempType type)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostId && r.AirNo == airNo && r.TempType == type && r.EndTime == null);
|
||||
}
|
||||
|
||||
public HostAirRecord GetLastHostAirRecord(int hostId, int airNo, TempType type, int temp)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostId && r.AirNo == airNo && r.TempType == type && r.Temp == temp && r.EndTime == null);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
39
Dao/Implement/HostAirRepository.cs
Normal file
39
Dao/Implement/HostAirRepository.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostAirRepository : RepositoryBase<HostAir>, IHostAirRepository
|
||||
{
|
||||
public IQueryable<HostAir> LoadByHostID(int hostID)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID);
|
||||
}
|
||||
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostAir WHERE HostID=?").SetInt32(0, hostID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public HostAir Get(int hostID, string modalAddress)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostID && r.Modal.ModalTypeName == modalAddress);
|
||||
}
|
||||
|
||||
public void DeteleByRoomTypeAirID(int hostID, int roomTypeAir)
|
||||
{
|
||||
var list = LoadAll().FirstOrDefault(r => r.HostID == hostID && r.Modal.ID == roomTypeAir);
|
||||
|
||||
if (list != null)
|
||||
{
|
||||
Session.Delete(list);
|
||||
Session.Flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
134
Dao/Implement/HostFaultRecordsRepository.cs
Normal file
134
Dao/Implement/HostFaultRecordsRepository.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Spring.Data.Core;
|
||||
using Spring.Data.NHibernate.Generic.Support;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostFaultRecordsRepository : RepositoryBase<HostFaultRecords>, IHostFaultRecordsRepository
|
||||
{
|
||||
public IList<string> LoadRoomNumbers(int hotelID)
|
||||
{
|
||||
IList<string> roomNumbers = new List<string>();
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
cmd.CommandText = "SELECT DISTINCT hfr.RoomNumber FROM tb_HostFaultRecords hfr LEFT JOIN tb_Hosts h ON h.ID=hfr.HostID WHERE h.HotelID=" + hotelID + " ORDER BY RoomNumber";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
using (IDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
roomNumbers.Add(reader["RoomNumber"].ToString());
|
||||
}
|
||||
}
|
||||
return roomNumbers;
|
||||
}
|
||||
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostFaultRecords WHERE HostID=?").SetInt32(0, hostID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public DataTable LoadHostFaultRecords(out long total, int page, int rows, string order, string sort, string roomNumber, string startTime, string endTime, DeviceType? deviceType, string modalIds, int hotelID)
|
||||
{
|
||||
total = 0;
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostFaultRecords";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@order";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = order;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@sort";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = sort;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@startTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = startTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@endTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = endTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
if (deviceType.HasValue)
|
||||
{
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@deviceType";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = (int)deviceType.GetValueOrDefault();
|
||||
cmd.Parameters.Add(parameter);
|
||||
}
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@modalAddresses";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = modalIds;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
//parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
//total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
total = ds.Tables[0].Rows.Count;
|
||||
return ds.Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
109
Dao/Implement/HostFaultsRepository.cs
Normal file
109
Dao/Implement/HostFaultsRepository.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Spring.Data.Core;
|
||||
using Spring.Data.NHibernate.Generic.Support;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostFaultsRepository : RepositoryBase<HostFaults>, IHostFaultsRepository
|
||||
{
|
||||
public IQueryable<HostFaults> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HostID == hotelID);
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
|
||||
public HostFaults Get(int hostID, string address)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID && r.Address == address).FirstOrDefault();
|
||||
}
|
||||
|
||||
public void DeleteByAddress(string address, int roomTypeID)
|
||||
{
|
||||
string sql = String.Format(@"DELETE FROM tb_HostFaults WHERE [Address]={0} AND
|
||||
HostID IN (SELECT h.ID FROM tb_Hosts h WHERE H.RoomTypeID={1})", String.Join(",", address), roomTypeID);
|
||||
|
||||
Session.CreateSQLQuery(sql).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostFaults WHERE HostID=?").SetInt32(0, hostID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public IList<object[]> LoadCurrentHostFaultStatistics(int hotelID, IList<int> groupIDs, int type)
|
||||
{
|
||||
string sql = "";
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case 1://状态:1离线,0在线
|
||||
sql = String.Format(@"SELECT DISTINCT h.RoomNumber,hf.[Address] FROM tb_HostFaults hf INNER JOIN tb_Hosts h ON h.ID=hf.HostID
|
||||
WHERE h.GroupID IN({0}) AND h.HotelID={1} AND hf.AbnormalStatus=1
|
||||
ORDER BY h.RoomNumber", String.Join(",", groupIDs), hotelID);
|
||||
break;
|
||||
case 2://电量
|
||||
sql = String.Format(@"SELECT DISTINCT h.RoomNumber,hf.[Address] FROM tb_HostFaults hf INNER JOIN tb_Hosts h ON h.ID=hf.HostID
|
||||
WHERE h.GroupID IN({0}) AND h.HotelID={1} AND hf.AbnormalElectricQty<26
|
||||
ORDER BY h.RoomNumber", String.Join(",", groupIDs), hotelID);
|
||||
break;
|
||||
case 3://电流(10MA)
|
||||
break;
|
||||
case 4://1901故障检测次数
|
||||
break;
|
||||
}
|
||||
|
||||
return Session.CreateSQLQuery(sql).List<object[]>();
|
||||
}
|
||||
|
||||
// public IList<object[]> LoadCurrentHostFault(int hostID)
|
||||
// {
|
||||
// string sql = String.Format(@"SELECT hf.[Address],hf.AbnormalStatus,hf.StatusDate,hf.AbnormalElectricQty,hf.ElectricQtyDate,
|
||||
//ISNULL((SELECT TOP 1 rtm.Name FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS AddressName,
|
||||
//ISNULL((SELECT TOP 1 rtm.EnglishName FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS AddressEnglishName,
|
||||
//ISNULL((SELECT TOP 1 rtm.TWName FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS AddressTWName
|
||||
//FROM tb_HostFaults hf INNER JOIN tb_Hosts h ON h.ID=hf.HostID WHERE h.ID={0} ORDER BY hf.[Address]", hostID);
|
||||
|
||||
// return Session.CreateSQLQuery(sql).List<object[]>();
|
||||
// }
|
||||
|
||||
//异常信息显示
|
||||
public IList<object[]> LoadHostFault(int hostID)
|
||||
{
|
||||
// string sql = String.Format(@"SELECT ISNULL((SELECT TOP 1 rtm.Name FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS AddressName,
|
||||
// ISNULL((SELECT TOP 1 rtm.EnglishName FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS AddressEnglishName,
|
||||
// ISNULL((SELECT TOP 1 rtm.TWName FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS AddressTWName,
|
||||
// ISNULL((SELECT TOP 1 rtm.OfflineDisplay FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS OfflineDisplay,
|
||||
// ISNULL((SELECT TOP 1 rtm.LowPowerDisplay FROM tb_RoomTypeModal rtm WHERE rtm.RoomTypeID=h.RoomTypeID AND hf.[Address]=rtm.ModalAddress),'') AS LowPowerDisplay,hf.*
|
||||
// FROM tb_HostFaults hf INNER JOIN tb_Hosts h ON h.ID=hf.HostID WHERE h.ID={0} ORDER BY hf.[Address]", hostID);
|
||||
|
||||
string sql = string.Format(@"
|
||||
SELECT
|
||||
ISNULL(rtm.NAME, '') AS AddressName,
|
||||
ISNULL(rtm.EnglishName, '') AS AddressEnglishName,
|
||||
ISNULL(rtm.TWName, '') AS AddressTWName,
|
||||
ISNULL(rtm.OfflineDisplay, '') AS OfflineDisplay,
|
||||
ISNULL(rtm.LowPowerDisplay, '') AS LowPowerDisplay,
|
||||
hf.*
|
||||
FROM
|
||||
tb_HostFaults hf
|
||||
INNER JOIN tb_Hosts h ON h.ID = hf.HostID
|
||||
INNER JOIN tb_RoomTypeModal rtm ON rtm.RoomTypeID = h.RoomTypeID
|
||||
AND hf.[Address] = rtm.ModalAddress
|
||||
WHERE
|
||||
h.ID = {0}
|
||||
ORDER BY
|
||||
hf.[Address];",hostID);
|
||||
return Session.CreateSQLQuery(sql).List<object[]>();
|
||||
}
|
||||
}
|
||||
}
|
||||
201
Dao/Implement/HostModalRecordRepository.cs
Normal file
201
Dao/Implement/HostModalRecordRepository.cs
Normal file
@@ -0,0 +1,201 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostModalRecordRepository : RepositoryBase<HostModalRecord>, IHostModalRecordRepository
|
||||
{
|
||||
public IQueryable<HostModalRecord> LoadByHostID(int hostID, string modalAddress = "")
|
||||
{
|
||||
if (string.IsNullOrEmpty(modalAddress))
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID);
|
||||
}
|
||||
else
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID && r.ModalAddress == modalAddress);
|
||||
}
|
||||
}
|
||||
|
||||
public DataTable LoadHostModalRecords(out long total, int page, int rows, string order, string sort, string roomNumber, string deviceTypes, string deviceSubtypes, string startTime, string endTime, int hotelID)
|
||||
{
|
||||
total = 0;
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostModalRecords2";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@order";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = order;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@sort";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = sort;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@deviceTypes";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = deviceTypes;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@deviceSubtypes";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = deviceSubtypes;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@startTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = startTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@endTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = endTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
|
||||
da.Fill(ds);
|
||||
|
||||
parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
|
||||
total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
|
||||
public HostModalRecord GetLastHostModalRecord(int hostId, int roomTypeModalId)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostId && r.RoomTypeModalID == roomTypeModalId && r.EndTime == null);
|
||||
//return LoadAll().Where(r => r.HostID == hostId && r.RoomTypeModalID == roomTypeModalId && r.EndTime == null).ToList().FirstOrDefault();
|
||||
}
|
||||
|
||||
public IList<string> LoadRoomNumbers(int hotelID)
|
||||
{
|
||||
IList<string> roomNumbers = new List<string>();
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "SELECT DISTINCT hmr.RoomNumber FROM tb_HostModalRecords_bak hmr LEFT JOIN tb_Hosts h ON hmr.HostID=h.ID WHERE h.HotelID=" + hotelID + " ORDER BY hmr.RoomNumber";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
using (IDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
roomNumbers.Add(reader["RoomNumber"].ToString());
|
||||
}
|
||||
}
|
||||
cmd = Session.Connection.CreateCommand();
|
||||
cmd.CommandText = "SELECT DISTINCT hmr.RoomNumber FROM tb_HostModalRecords hmr LEFT JOIN tb_Hosts h ON hmr.HostID=h.ID WHERE h.HotelID=" + hotelID + " ORDER BY hmr.RoomNumber";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
using (IDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
string roomNumber = reader["RoomNumber"].ToString();
|
||||
if (!roomNumbers.Contains(roomNumber))
|
||||
{
|
||||
roomNumbers.Add(roomNumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
return roomNumbers;
|
||||
}
|
||||
|
||||
public DataTable LoadModals(string roomNumber, int hotelID)
|
||||
{
|
||||
IList<string> roomNumbers = new List<string>();
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = @"WITH HostModals AS
|
||||
(
|
||||
SELECT DISTINCT RoomTypeID,ModalAddress
|
||||
FROM tb_HostModalRecords
|
||||
WHERE RoomNumber=@roomNumber
|
||||
)
|
||||
SELECT c.Name 'RoomType',b.ModalAddress,b.Outlet,b.Name,b.EnglishName,b.TWName
|
||||
FROM HostModals a
|
||||
INNER JOIN tb_RoomTypeModal b ON a.RoomTypeID=b.RoomTypeID AND a.ModalAddress=b.ModalAddress
|
||||
INNER JOIN tb_RoomType c ON c.ID=b.RoomTypeID WHERE c.HotelID=@hotelID";
|
||||
|
||||
cmd.CommandType = CommandType.Text;
|
||||
|
||||
var parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter((SqlCommand)cmd);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
49
Dao/Implement/HostModalRepository.cs
Normal file
49
Dao/Implement/HostModalRepository.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostModalRepository : RepositoryBase<HostModal>, IHostModalRepository
|
||||
{
|
||||
public IQueryable<HostModal> LoadByHostID(int hostID)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID);
|
||||
}
|
||||
|
||||
public HostModal Get(int hostID, int roomTypeModalId)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID && r.Modal != null && r.Modal.ID == roomTypeModalId).FirstOrDefault();//该方法太慢了
|
||||
}
|
||||
|
||||
public HostModal Get(int hostID, string modalAddress)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID && r.Modal != null && r.Modal.ModalAddress == modalAddress).FirstOrDefault();//该方法太慢了
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据主机ID删除所有回路
|
||||
/// </summary>
|
||||
/// <param name="hostID"></param>
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostModal WHERE HostID=?")
|
||||
.SetInt32(0, hostID)
|
||||
.ExecuteUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据房型回路ID删除所有主机的对应回路
|
||||
/// </summary>
|
||||
/// <param name="hostID"></param>
|
||||
/// <param name="roomTypeSceneID"></param>
|
||||
public void DeteleByRoomTypeModal(int hostID, int roomTypeModalID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostModal WHERE HostID=? and RoomTypeModalID=?")
|
||||
.SetInt32(0, hostID)
|
||||
.SetInt32(1, roomTypeModalID)
|
||||
.ExecuteUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Dao/Implement/HostRCURepository.cs
Normal file
34
Dao/Implement/HostRCURepository.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostRCURepository : RepositoryBase<HostRCU>, IHostRCURepository
|
||||
{
|
||||
public IQueryable<HostRCU> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public HostRCU GetByHostID(int hostID)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.HostID == hostID).FirstOrDefault();
|
||||
}
|
||||
|
||||
public List<HostRCU> LoadAll(int hotelID)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.HotelID == hotelID).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
795
Dao/Implement/HostRepository.cs
Normal file
795
Dao/Implement/HostRepository.cs
Normal file
@@ -0,0 +1,795 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Common;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
using NHibernate.Criterion;
|
||||
using CommonEntity;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostRepository : RepositoryBase<Host>, IHostRepository
|
||||
{
|
||||
public IList<Host> LoadAll(string order, string sort, IList<Group> groups, string roomNumber)
|
||||
{
|
||||
int[] groupIDs = groups.Select(r => r.ID).ToArray();
|
||||
var list = Session.QueryOver<Host>().Where(r => r.IsDeleted != true);
|
||||
if (!String.IsNullOrEmpty(roomNumber))
|
||||
{
|
||||
list = list.Where(r => r.RoomNumber == roomNumber);
|
||||
}
|
||||
if (groupIDs != null)
|
||||
{
|
||||
list = list.WhereRestrictionOn(r => r.Group.ID).IsIn(groupIDs);
|
||||
}
|
||||
list.OrderBy(sort, order);
|
||||
return list.List();
|
||||
}
|
||||
|
||||
public IList<Host> LoadAll(IList<Group> groupList)
|
||||
{
|
||||
var list = Session.QueryOver<Host>().Where(r => !r.IsDeleted);
|
||||
if (groupList != null && groupList.Count > 0)
|
||||
{
|
||||
list.WhereRestrictionOn(r => r.Group.ID).IsIn(groupList.Select(r => r.ID).ToArray());
|
||||
}
|
||||
return list.List();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 这段代码有BUG
|
||||
/// </summary>
|
||||
/// <param name="hotelID"></param>
|
||||
/// <param name="roomNumber"></param>
|
||||
/// <returns></returns>
|
||||
public IList<Host> LoadAll(int hotelID, string roomNumber = "")
|
||||
{
|
||||
if (string.IsNullOrEmpty(roomNumber))
|
||||
{
|
||||
return Session.QueryOver<Host>().Where(r => !r.IsDeleted && r.SysHotel.ID == hotelID).List();
|
||||
}
|
||||
else
|
||||
{
|
||||
return Session.QueryOver<Host>().Where(r => !r.IsDeleted && r.SysHotel.ID == hotelID && r.RoomNumber == roomNumber).List();
|
||||
}
|
||||
}
|
||||
|
||||
public IList<Host> GetByHotelCode(string hotelcode)
|
||||
{
|
||||
return base.LoadAll().Where(r => !r.IsDeleted && r.SysHotel.Code.Equals(hotelcode)).ToList();
|
||||
}
|
||||
|
||||
|
||||
public IList<Host> LoadAll(IList<Group> groupList, RoomStatus roomStatus, RoomType roomType)
|
||||
{
|
||||
var list = Session.QueryOver<Host>().Where(r => !r.IsDeleted); ;
|
||||
if (roomStatus != null)
|
||||
{
|
||||
list.Where(r => r.RoomStatus == roomStatus);
|
||||
}
|
||||
if (roomType != null)
|
||||
{
|
||||
list.Where(r => r.RoomType == roomType);
|
||||
}
|
||||
if (groupList != null && groupList.Count > 0)
|
||||
{
|
||||
list.WhereRestrictionOn(r => r.Group.ID).IsIn(groupList.Select(r => r.ID).ToArray());
|
||||
}
|
||||
return list.List();
|
||||
}
|
||||
|
||||
public IQueryable<Host> LoadAllByPage(out long total, int page, int rows, string order, string sort, int groupId, int hotelID, string roomNumber, string mac, string roomType, int isSyncRoomNumber)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => !r.IsDeleted && (r.SysHotel.ID == hotelID) && ((r.Group.ID == groupId) || (r.Group.Parent != null && r.Group.Parent.ID == groupId)));
|
||||
if (!string.IsNullOrEmpty(roomNumber))
|
||||
{
|
||||
list = list.Where(r => r.RoomNumber.Contains(roomNumber));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(mac))
|
||||
{
|
||||
list = list.Where(r => r.MAC.Contains(mac));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(roomType))
|
||||
{
|
||||
list = list.Where(r => r.RoomType.Name.Contains(roomType));
|
||||
}
|
||||
switch (isSyncRoomNumber)
|
||||
{
|
||||
case 0:
|
||||
list = list.Where(r => r.IsSyncRoomNumber == false);
|
||||
break;
|
||||
case 1:
|
||||
list = list.Where(r => r.IsSyncRoomNumber == true);
|
||||
break;
|
||||
}
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
public override void Delete(object id)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<Host>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.MAC = entity.MAC + "-del";
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="idList"></param>
|
||||
public override void Delete(IList<object> idList)
|
||||
{
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<Host>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.MAC = entity.MAC + "-del";
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
}
|
||||
|
||||
public DataTable LoadHostWithPage(out long total, int page, int rows, string order, string sort, int groupId, int hotelID, string roomNumber, string mac, string roomType)
|
||||
{
|
||||
total = 0;
|
||||
|
||||
//using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
//using (IDbCommand cmd = session.Connection.CreateCommand())
|
||||
//{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
cmd.CommandText = "QueryHostWithPage";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@order";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = order;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@sort";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = sort;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@groupId";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = groupId;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@mac";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = mac;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomType";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomType;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
return ds.Tables[0];
|
||||
//}
|
||||
}
|
||||
|
||||
public IList<Room> LoadRooms(out long total, int page, int rows, int? groupId, int lang, int hotelID)
|
||||
{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryRoomInfo";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
var parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
if (groupId.HasValue)
|
||||
{
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@groupId";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = groupId;
|
||||
cmd.Parameters.Add(parameter);
|
||||
}
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@lang";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = lang;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter adapter = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
adapter.Fill(ds);
|
||||
//parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
//total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
|
||||
IList<Room> rooms = new List<Room>();
|
||||
foreach (DataRow dataRow in ds.Tables[0].Rows)
|
||||
{
|
||||
Room room = new Room();
|
||||
room.HostID = Convert.ToInt32(dataRow["ID"]);
|
||||
room.HostNumber = Convert.ToString(dataRow["HostNumber"]);
|
||||
//房间状态从数据库里面拉取
|
||||
var aaa = Common.CSRedisCacheHelper.Contains(Convert.ToString(dataRow["HostNumber"]),
|
||||
Convert.ToString(dataRow["MAC"]));
|
||||
//System.IO.File.WriteAllText("1.txt","ffffff:"+aaa);
|
||||
room.HostStatus = aaa;// Convert.ToInt32(dataRow["HostStatus"]);
|
||||
room.IP = Convert.ToString(dataRow["IP"]);
|
||||
room.RoomNumber = Convert.ToString(dataRow["RoomNumber"]);
|
||||
room.RoomStatus = Convert.ToString(dataRow["RoomStatus"]);
|
||||
room.RoomStatusID = Convert.ToInt32(dataRow["RoomStatusID"]);
|
||||
room.DoorLock = Convert.ToBoolean(dataRow["DoorLock"]);
|
||||
room.Identity = Convert.ToString(dataRow["Identity"]);
|
||||
//room.IsConnectingRoom = Convert.ToBoolean(dataRow["IsConnectingRoom"]);
|
||||
room.GroupID = Convert.ToInt32(dataRow["GroupID"]);
|
||||
room.GroupSort = Convert.ToInt32(dataRow["GroupSort"]);
|
||||
room.MAC = Convert.ToString(dataRow["MAC"]);
|
||||
room.PowerSupply = Convert.ToBoolean(dataRow["PowerSupply"]);
|
||||
room.LockStatus = Convert.ToInt16(dataRow["LockStatus"]);
|
||||
room.LockVoltage = Convert.ToSingle(dataRow["LockVoltage"]);
|
||||
room.PeripheralOfflineCount = Convert.ToInt16(dataRow["PeripheralOfflineCount"]);
|
||||
room.PeripheralLowPowerCount = Convert.ToInt16(dataRow["PeripheralLowPowerCount"]);
|
||||
|
||||
rooms.Add(room);
|
||||
}
|
||||
total = rooms.Count;
|
||||
return rooms;
|
||||
}
|
||||
|
||||
public IList<Host> LoadAllByGroups(IList<int> groupIDs)
|
||||
{
|
||||
return Session.QueryOver<Host>().WhereRestrictionOn(r => r.Group.ID).IsIn(groupIDs.ToArray()).List();
|
||||
}
|
||||
|
||||
public Host GetByHostNumber(string hostNumber, string code = "")
|
||||
{
|
||||
if (string.IsNullOrEmpty(code))
|
||||
{
|
||||
return base.LoadAll().Where(r => r.HostNumber == hostNumber && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
return base.LoadAll().Where(r => r.SysHotel.Code == code && r.HostNumber == hostNumber && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
public Host GetByMAC(string mac, int hotelID)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.MAC == mac && r.SysHotel.ID == hotelID && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
|
||||
//public Host GetByRoomNumber(string roomNumber, string code)
|
||||
//{
|
||||
// return base.LoadAll().Where(r => r.RoomNumber == roomNumber && r.SysHotel.Code == code).FirstOrDefault();
|
||||
//}
|
||||
|
||||
public Host GetByXiaoDuCUID(string cuid)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.XiaoDuCUID.Contains(cuid) && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
|
||||
public Host GetByTianMaoCUID(string cuid)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.TianMaoCUID.Contains(cuid) && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
|
||||
public Host GetByHuaWeiCUID(string cuid)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.HuaWeiCUID.Contains(cuid) && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
|
||||
public Host GetByTCLCUID(string cuid)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.TCLCUID.Contains(cuid) && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
/// <summary>
|
||||
/// 通过mac地址获取主机列表(只限C系列主机)
|
||||
/// </summary>
|
||||
/// <param name="mac"></param>
|
||||
/// <returns></returns>
|
||||
public IList<Host> LoadByMac(string mac)
|
||||
{
|
||||
//return base.LoadAll().Where(r => r.MAC == mac && r.Version.StartsWith("C") && !r.IsDeleted).ToList();
|
||||
var Q = base.LoadAll().Where(r => r.MAC.Equals(mac) && !r.IsDeleted).ToList();
|
||||
var QS = Q.Where(A => A.Version.StartsWith("C")).ToList();
|
||||
return QS;
|
||||
}
|
||||
|
||||
//public Host GetByIP(string ip)
|
||||
//{
|
||||
// return base.LoadAll().Where(r => r.IP == ip).FirstOrDefault();
|
||||
//}
|
||||
|
||||
public IList<Host> GetByGroup(Group group)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.Group == group && !r.IsDeleted).OrderBy(r => r.RoomNumber).ToList();
|
||||
}
|
||||
|
||||
public int GetHostsCount()
|
||||
{
|
||||
return base.LoadAll().Where(r => !r.IsDeleted).Count();
|
||||
}
|
||||
|
||||
public DataTable LoadRoomNumbers(Group group, int hotelID)
|
||||
{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "LoadRoomNumbersByGroup";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@groupId";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = group != null ? group.ID : 0;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
return ds.Tables[0];
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置主机基本信息(房态更新命令调用)
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
public void SetHostInfo(Host host)
|
||||
{
|
||||
string sql = sql = "UPDATE tb_Hosts SET FrameNo=?,PowerSupply=?,LockVoltage=?,HostTemp=?,FrameNoTime=GETDATE() WHERE ID=?";
|
||||
IQuery query = query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, host.FrameNo);
|
||||
query.SetBoolean(1, host.PowerSupply);
|
||||
query.SetSingle(2, host.LockVoltage);
|
||||
query.SetInt32(3, host.HostTemp);
|
||||
query.SetInt32(4, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置房卡:插卡同时插入新记录,拔卡同时更新拔卡时间
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <param name="roomCard"></param>
|
||||
public void SetRoomCard(Host host, RoomCard roomCard)
|
||||
{
|
||||
//using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
//{
|
||||
host.RoomCard = roomCard;
|
||||
string sql;
|
||||
IQuery query;
|
||||
if (roomCard != null)
|
||||
{
|
||||
sql = "UPDATE tb_Hosts SET RoomCardID=? WHERE ID=?";//插卡同时设置卡ID
|
||||
query = Session.CreateSQLQuery(sql);
|
||||
//query = session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, roomCard.ID);
|
||||
query.SetInt32(1, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
|
||||
sql = "INSERT tb_HostRoomCard (HostID,RoomNumber,RoomCardID,CardNumber,CardTypeID,UserNumber,UserName,InCardTime)VALUES(?,?,?,?,?,?,?,?)";
|
||||
query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, host.ID);
|
||||
query.SetString(1, host.RoomNumber);
|
||||
query.SetInt32(2, roomCard.ID);
|
||||
query.SetString(3, roomCard.CardNumber);
|
||||
query.SetInt32(4, roomCard.RoomCardType.ID);
|
||||
query.SetString(5, roomCard.UserNumber);
|
||||
query.SetString(6, roomCard.UserName);
|
||||
query.SetDateTime(7, DateTime.Now);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "UPDATE tb_Hosts SET RoomCardID=NULL WHERE ID=?";//拔卡,同时更新拔卡时间
|
||||
query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
|
||||
sql = "UPDATE tb_HostRoomCard SET OutCardTime=GETDATE() WHERE HostID=? AND OutCardTime IS NULL";
|
||||
query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
//}
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置主机温度
|
||||
/// </summary>
|
||||
/// <param name="host">主机</param>
|
||||
/// <param name="hostTemp">主机温度</param>
|
||||
public void SetHostTemp(Host host, int hostTemp)
|
||||
{
|
||||
string sql = "UPDATE tb_Hosts SET HostTemp=? WHERE ID=?";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, hostTemp);
|
||||
query.SetInt32(1, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置主机bool字段内容
|
||||
/// </summary>
|
||||
/// <param name="hostID"></param>
|
||||
/// <param name="field"></param>
|
||||
/// <param name="value"></param>
|
||||
public void SetHostByField(int hostID, string field, bool value)
|
||||
{
|
||||
string sql = "UPDATE tb_Hosts SET " + field + "=? WHERE ID=?";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetBoolean(0, value);
|
||||
query.SetInt32(1, hostID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置微信锁
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <param name="lockStatus"></param>
|
||||
public void SetLockStatus(Host host, int lockStatus)
|
||||
{
|
||||
string sql = "UPDATE tb_Hosts SET LockStatus=? WHERE ID=?";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, lockStatus);
|
||||
query.SetInt32(1, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
host.LockStatus = lockStatus;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置门锁状态
|
||||
/// </summary>
|
||||
/// <param name="host">主机</param>
|
||||
/// <param name="doorLockStatus">True/开,False/关</param>
|
||||
public void SetDoorLockStatus(Host host, bool doorLockStatus)
|
||||
{
|
||||
string sql = "";
|
||||
IQuery query = null;
|
||||
if (host.DoorLockStatus != doorLockStatus || host.DoorLockStatusUpdateTime == null)
|
||||
{
|
||||
sql = "UPDATE tb_Hosts SET DoorLockStatus=?, DoorLockStatusUpdateTime=? WHERE ID=?";
|
||||
query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, doorLockStatus ? 1 : 0);
|
||||
query.SetDateTime(1, DateTime.Now);
|
||||
query.SetInt32(2, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
|
||||
host.DoorLockStatus = doorLockStatus;
|
||||
host.DoorLockStatusUpdateTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置保险箱状态
|
||||
/// </summary>
|
||||
/// <param name="host">主机</param>
|
||||
/// <param name="safeBoxStatus">保险箱:0关,1开,2未接保险箱</param>
|
||||
public void SetSafeBoxStatus(Host host, int safeBoxStatus)
|
||||
{
|
||||
if (host != null)
|
||||
{
|
||||
host.SafeStatus = safeBoxStatus;
|
||||
string sql = "UPDATE tb_Hosts SET SafeStatus=? WHERE ID=?";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, safeBoxStatus);
|
||||
query.SetInt32(1, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据房型获取所有主机列表
|
||||
/// </summary>
|
||||
/// <param name="hotelID"></param>
|
||||
/// <param name="roomTypeID"></param>
|
||||
/// <returns></returns>
|
||||
public IList<Object> LoadAllHostByRoomType(int hotelID, int roomTypeID)
|
||||
{
|
||||
string sql = "select a.ID,a.HostNumber,a.RoomNumber,a.MAC,a.RoomTypeID,a.ExpireTime,a.SetExpireTime from tb_Hosts a"
|
||||
+ " where isnull(a.MAC,'')<>'' and a.HotelID=? and a.RoomTypeID=? and a.IsDeleted<>1";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, hotelID);
|
||||
query.SetInt32(1, roomTypeID);
|
||||
return query.List<Object>();
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据房型获取主机列表(C主机升级使用)
|
||||
/// </summary>
|
||||
/// <param name="hotelID"></param>
|
||||
/// <param name="roomTypeID"></param>
|
||||
/// <returns></returns>
|
||||
public IList<Object> LoadHostByRoomType(int hotelID, int roomTypeID)
|
||||
{
|
||||
string sql = "select a.ID,a.HostNumber,a.RoomNumber,a.MAC,a.RoomTypeID,a.Model,a.LauncherVersion,a.Version,a.ConfigVersion,a.UpgradeStatus,a.UpgradeTime,a.LanIP,a.LanPort,b.TypeNumber from tb_Hosts a left join tb_HostsRCU b on a.ID=b.HostID"
|
||||
+ " where isnull(a.MAC,'')<>'' and a.HotelID=? and a.RoomTypeID=? and a.Version like 'C%' and a.IsDeleted<>1";//left join tb_HostUpdateStatus b on b.HostID=a.ID
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, hotelID);
|
||||
query.SetInt32(1, roomTypeID);
|
||||
return query.List<Object>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据房型,房间号获取房间信息(C系列)
|
||||
/// </summary>
|
||||
/// <param name="hotelID"></param>
|
||||
/// <param name="roomTypeID"></param>
|
||||
/// <param name="roomnumber"></param>
|
||||
/// <returns></returns>
|
||||
public IList<Object> LoadHostByRoomTypeChengZiHao(int hotelID, int roomTypeID, string roomNumber)
|
||||
{
|
||||
string sql = "select a.ID,a.HostNumber,a.RoomNumber,a.MAC,a.RoomTypeID,a.Model,a.LauncherVersion,a.Version,a.ConfigVersion,a.UpgradeStatus,a.UpgradeTime,a.LanIP,a.LanPort,b.TypeNumber from tb_Hosts a left join tb_HostsRCU b on a.ID=b.HostID"
|
||||
+ " where isnull(a.MAC,'')<>'' and a.HotelID=? and a.RoomTypeID=? and a.RoomNumber=? and a.Version like 'C%' and a.IsDeleted<>1";//left join tb_HostUpdateStatus b on b.HostID=a.ID
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetInt32(0, hotelID);
|
||||
query.SetInt32(1, roomTypeID);
|
||||
query.SetString(2, roomNumber);
|
||||
return query.List<Object>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置升级状态
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <param name="upgradeStatus"></param>
|
||||
public void SetUpgradeStatus(Host host, int upgradeStatus, bool isReseet = false)
|
||||
{
|
||||
string sql = "UPDATE tb_Hosts SET UpgradeStatus=" + upgradeStatus + ",UpgradeTime=" + (isReseet ? "NULL" : "GETDATE()") + " WHERE ID=" + host.ID;
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置机型和Launcher
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <param name="model"></param>
|
||||
/// <param name="launcher"></param>
|
||||
public void SetModelAndLauncher(Host host, string lanIP, int lanPort, string model, string launcher, DateTime expireTime, DateTime setExpireTime)
|
||||
{
|
||||
string HostNumberOnly = host.HostNumber;
|
||||
Host host_take = null;
|
||||
string Key = CacheKey.HostInfo_Key_HostNumber + "_" + HostNumberOnly;
|
||||
object obj = MemoryCacheHelper.Get(Key);
|
||||
if (obj != null)
|
||||
{
|
||||
host_take = obj as Host;
|
||||
|
||||
#region 更新缓存
|
||||
host_take.ExpireTime = host.ExpireTime;
|
||||
host_take.SetExpireTime = host.SetExpireTime;
|
||||
|
||||
host_take.LanIP = host.LanIP;
|
||||
host_take.LanPort = host.LanPort;
|
||||
|
||||
host_take.ServerIP = host.ServerIP;
|
||||
host_take.ServerPort = host.ServerPort;
|
||||
host_take.SubnetMask = host.SubnetMask;
|
||||
host_take.Gateway = host.Gateway;
|
||||
host_take.DNS = host.DNS;
|
||||
host_take.Version = host.Version;
|
||||
host_take.RunTime = host.RunTime;
|
||||
host_take.LauncherVersion = host.LauncherVersion;
|
||||
host_take.MAC = host.MAC;
|
||||
host_take.SysHotel.Code = host.SysHotel.Code;
|
||||
host_take.RoomType.ID = host.RoomType.ID;
|
||||
host_take.ConfigVersion = host.ConfigVersion;
|
||||
host_take.RoomStatus.ID = host.RoomStatus.ID;
|
||||
host_take.Season = host.Season;
|
||||
|
||||
host_take.RoomNumber = host.RoomNumber;
|
||||
host_take.Model = host.Model;
|
||||
host_take.UpgradeTime = host.UpgradeTime;
|
||||
#endregion
|
||||
}
|
||||
|
||||
string sql = "UPDATE tb_Hosts SET LanIP=?,LanPort=?,Model=?,LauncherVersion=?,ExpireTime=?,SetExpireTime=? WHERE ID=?";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetString(0, lanIP);
|
||||
query.SetInt32(1, lanPort);
|
||||
query.SetString(2, model);
|
||||
query.SetString(3, launcher);
|
||||
query.SetDateTime(4, expireTime);
|
||||
query.SetDateTime(5, setExpireTime);
|
||||
query.SetInt32(6, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置是否发布
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <param name="isPublish"></param>
|
||||
public void SetPublish(Host host, bool isPublish)
|
||||
{
|
||||
string sql = "UPDATE tb_Hosts SET IsPublish=? WHERE ID=?";
|
||||
IQuery query = Session.CreateSQLQuery(sql);
|
||||
query.SetBoolean(0, isPublish);
|
||||
query.SetInt32(1, host.ID);
|
||||
query.ExecuteUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置当前温度
|
||||
/// </summary>
|
||||
/// <param name="host">主机</param>
|
||||
/// <param name="currentTemp">当前温度</param>
|
||||
//public void SetCurrentTemp(Host host, int currentTemp)
|
||||
//{
|
||||
// host.CurrentTemp = currentTemp;
|
||||
|
||||
// string sql = "UPDATE tb_Hosts SET CurrentTemp=? WHERE ID=?";
|
||||
// IQuery query = Session.CreateSQLQuery(sql);
|
||||
// query.SetInt32(0, currentTemp);
|
||||
// query.SetInt32(1, host.ID);
|
||||
// query.ExecuteUpdate();
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 设置设定温度
|
||||
/// </summary>
|
||||
/// <param name="host">主机</param>
|
||||
/// <param name="settingTemp">设定温度</param>
|
||||
//public void SetSettingTemp(Host host, int settingTemp)
|
||||
//{
|
||||
// string sql = "UPDATE tb_Hosts SET SettingTemp=? WHERE ID=?";
|
||||
// IQuery query = Session.CreateSQLQuery(sql);
|
||||
// query.SetInt32(0, settingTemp);
|
||||
// query.SetInt32(1, host.ID);
|
||||
// query.ExecuteUpdate();
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 设置风速
|
||||
/// </summary>
|
||||
/// <param name="host">主机</param>
|
||||
/// <param name="speed">风速</param>
|
||||
//public void SetSpeed(Host host, int speed)
|
||||
//{
|
||||
// string sql = "UPDATE tb_Hosts SET Speed=? WHERE ID=?";
|
||||
// IQuery query = Session.CreateSQLQuery(sql);
|
||||
// query.SetInt32(0, speed);
|
||||
// query.SetInt32(1, host.ID);
|
||||
// query.ExecuteUpdate();
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 返回与指定 host 连通的 Host,结果中不包含指定的host。
|
||||
/// </summary>
|
||||
/// <param name="host"></param>
|
||||
/// <returns></returns>
|
||||
//public IList<Host> GetConnectRoomHosts(Host host)
|
||||
//{
|
||||
// var hostList = new List<Host>();
|
||||
|
||||
// if (String.IsNullOrEmpty(host.ConnectingRooms))
|
||||
// {
|
||||
// return hostList;
|
||||
// }
|
||||
|
||||
// var hosts = host.ConnectingRooms.Split(',').Select(r => Get(int.Parse(r)));
|
||||
|
||||
// foreach (var h in hosts)
|
||||
// {
|
||||
// if (h != null && h != host && !hostList.Contains(h))
|
||||
// {
|
||||
// hostList.Add(h);
|
||||
// }
|
||||
// }
|
||||
|
||||
// return hostList;
|
||||
//}
|
||||
|
||||
|
||||
public Host GetByHiWeiCUID(string cuid)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.HiWeiCUID.Equals(cuid) && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 找到那些使用新版本协议的主机
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IList<HostMappingData> LoadAllID_HostNumberMapping()
|
||||
{
|
||||
return base.LoadAll().Where(A => A.SysHotel.IsNewVersionProtocol == true && A.IsDeleted == false).Select(A => new HostMappingData() { Id = A.ID, HostNumber = A.HostNumber }).ToList();
|
||||
}
|
||||
|
||||
|
||||
public IList<HostRoomNumberMapping> LoadAll_RoomNumberMapping()
|
||||
{
|
||||
return base.LoadAll().Where(A => A.IsDeleted == false).Select(A => new HostRoomNumberMapping() { RoomNumber = A.RoomNumber, HostNumber = A.HostNumber }).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
162
Dao/Implement/HostRoomCardRepository.cs
Normal file
162
Dao/Implement/HostRoomCardRepository.cs
Normal file
@@ -0,0 +1,162 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostRoomCardRepository : RepositoryBase<HostRoomCard>, IHostRoomCardRepository
|
||||
{
|
||||
public IQueryable<HostRoomCard> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public HostRoomCard GetLastHostRoomCard(int hostID, string cardNumber)
|
||||
{
|
||||
return LoadAll()
|
||||
.Where(r => r.HostID == hostID && r.CardNumber == cardNumber && r.OutCardTime == null)
|
||||
.OrderByDescending(r => r.InCardTime)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
public HostRoomCard GetLastHostRoomCard(int hostID, RoomCardType cardType)
|
||||
{
|
||||
return LoadAll()
|
||||
.Where(r => r.HostID == hostID && r.CardType != null && r.CardType == cardType && r.OutCardTime == null)
|
||||
.OrderByDescending(r => r.InCardTime)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
public HostRoomCard GetLastHostRoomCard(int hostID)
|
||||
{
|
||||
return LoadAll().Where(r => r.OutCardTime == null).FirstOrDefault();
|
||||
}
|
||||
|
||||
public void DeleteAll(int hotelID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostRoomCard WHERE HostID IN (SELECT ID FROM tb_Hosts WHERE HotelID = ?)").SetInt32(0, hotelID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostRoomCard WHERE HostID=?").SetInt32(0, hostID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public DataTable LoadHostRoomCard(out long total, int page, int rows, string order, string sort, int hotelID, string cardType, string roomNumber, string userName, string cardNumber, string startDate,string endDate)
|
||||
{
|
||||
total = 0;
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostRoomCard";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@order";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = order;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@sort";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = sort;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@cardType";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = cardType;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@userName";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = userName;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@cardNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = cardNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@inCardTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = startDate;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@outCardTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = endDate;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
|
||||
da.Fill(ds);
|
||||
|
||||
parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
|
||||
total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
38
Dao/Implement/HostSceneRepository.cs
Normal file
38
Dao/Implement/HostSceneRepository.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostSceneRepository : RepositoryBase<HostScene>, IHostSceneRepository
|
||||
{
|
||||
public HostScene Get(int hostID, string groupAddress)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostID && r.Scene.GroupAddress == groupAddress);
|
||||
}
|
||||
|
||||
public IQueryable<HostScene> LoadByHostID(int hostID)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostID);
|
||||
}
|
||||
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostScene WHERE HostID=?").SetInt32(0, hostID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public void DeteleByRoomTypeScene(int roomTypeSceneID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostScene WHERE RoomTypeSceneID=?").SetInt32(0, roomTypeSceneID).ExecuteUpdate();
|
||||
}
|
||||
|
||||
public void DeteleByRoomTypeScene(int hostID, int roomTypeSceneID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostScene WHERE HostID=? and RoomTypeSceneID=?").SetInt32(0, hostID).SetInt32(1, roomTypeSceneID).ExecuteUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
38
Dao/Implement/HostTimingControlRepository.cs
Normal file
38
Dao/Implement/HostTimingControlRepository.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostTimingControlRepository : RepositoryBase<HostTimingControl>, IHostTimingControlRepository
|
||||
{
|
||||
public IQueryable<HostTimingControl> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public DataTable LoadHostTimingToExec()
|
||||
{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
cmd.CommandText = "LoadHostTimingToExec";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
29
Dao/Implement/HostUpdateRepository.cs
Normal file
29
Dao/Implement/HostUpdateRepository.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostUpdateRepository : RepositoryBase<HostUpdate>, IHostUpdateRepository
|
||||
{
|
||||
public IQueryable<HostUpdate> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public HostUpdate Get(string md5, int hotelID)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.Md5 == md5 && r.HotelID == hotelID);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
Dao/Implement/HostUpdateStatusRepository.cs
Normal file
27
Dao/Implement/HostUpdateStatusRepository.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostUpdateStatusRepository : RepositoryBase<HostUpdateStatus>, IHostUpdateStatusRepository
|
||||
{
|
||||
|
||||
public HostUpdateStatus Get(Host host, int status)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.Host == host && r.Status == status);
|
||||
}
|
||||
|
||||
public HostUpdateStatus Get(Host host, HostUpdate hostUpdate)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.Host == host && r.HostUpdate == hostUpdate);
|
||||
}
|
||||
|
||||
public HostUpdateStatus Get(Host host, HostUpdate hostUpdate, int status)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.Host == host && r.HostUpdate == hostUpdate && r.Status == status);
|
||||
}
|
||||
}
|
||||
}
|
||||
38
Dao/Implement/HostWordsReportRepository.cs
Normal file
38
Dao/Implement/HostWordsReportRepository.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Spring.Data.Core;
|
||||
using Spring.Data.NHibernate.Generic.Support;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HostWordsReportRepository : RepositoryBase<HostWordsReport>, IHostWordsReportRepository
|
||||
{
|
||||
public IQueryable<HostWordsReport> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public HostWordsReport Get(int hostID, string modalAddress)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostID && r.ModalAddress == modalAddress);
|
||||
}
|
||||
|
||||
public void DeteleByHostID(int hostID)
|
||||
{
|
||||
Session.CreateSQLQuery("DELETE FROM tb_HostWordsReport WHERE HostID=?").SetInt32(0, hostID).ExecuteUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Dao/Implement/HotelAirControlRepository.cs
Normal file
31
Dao/Implement/HotelAirControlRepository.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HotelAirControlRepository : RepositoryBase<HotelAirControl>, IHotelAirControlRepository
|
||||
{
|
||||
public IQueryable<HotelAirControl> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<HotelAirControl> LoadByHotelID(int hotelID)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.SysHotel.ID == hotelID).ToList();
|
||||
}
|
||||
|
||||
public List<HotelAirControl> LoadAll(int hotelID, int conditionType, bool activeIndicator)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.SysHotel.ID == hotelID && r.ConditionType == conditionType && r.ActiveIndicator == activeIndicator).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
59
Dao/Implement/HotelSeasonRepository.cs
Normal file
59
Dao/Implement/HotelSeasonRepository.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class HotelSeasonRepository : RepositoryBase<HotelSeason>, IHotelSeasonRepository
|
||||
{
|
||||
public IQueryable<HotelSeason> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
|
||||
public HotelSeason LoadByHotelID(int hotelID)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.SysHotel.ID == hotelID).FirstOrDefault();
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
public override void Delete(object id)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<HotelSeason>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
//entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="idList"></param>
|
||||
public override void Delete(IList<object> idList)
|
||||
{
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<HotelSeason>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
//entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
30
Dao/Implement/KongTiaoTimerRepository.cs
Normal file
30
Dao/Implement/KongTiaoTimerRepository.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Data;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class KongTiaoTimerRepository : RepositoryBase<KongTiaoTimer>, IRoomAirConditionMissionRepository
|
||||
{
|
||||
public int Add(KongTiaoTimer test)
|
||||
{
|
||||
object obj= Save(test);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
public new int Update(KongTiaoTimer test)
|
||||
{
|
||||
Session.CreateSQLQuery("update KongTiaoTimer set IsCancel=1 where MissonKey=?").SetString(0,test.MissonKey).ExecuteUpdate();
|
||||
return 1;
|
||||
}
|
||||
|
||||
public List<KongTiaoTimer> SelectNoExecuted()
|
||||
{
|
||||
return LoadAll().Where(r => r.IsCancel==0).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
24
Dao/Implement/LieECORepository.cs
Normal file
24
Dao/Implement/LieECORepository.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class LieECORepository : RepositoryBase<LieECO>,ILieECORepository
|
||||
{
|
||||
|
||||
public int Add(LieECO entity)
|
||||
{
|
||||
object obj= this.Save(entity);
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
|
||||
public LieECO GetDataBy(string hotelcode)
|
||||
{
|
||||
var qqq= this.LoadAll().Where(A=>A.HotelCode.Equals(hotelcode)).FirstOrDefault();
|
||||
return qqq;
|
||||
}
|
||||
}
|
||||
}
|
||||
21
Dao/Implement/ManualVisitRepository.cs
Normal file
21
Dao/Implement/ManualVisitRepository.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class ManualVisitRepository : RepositoryBase<ManualVisit>, IManualVisitRepository
|
||||
{
|
||||
public IQueryable<ManualVisit> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/ModalTypeRepository.cs
Normal file
12
Dao/Implement/ModalTypeRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class ModalTypeRepository : RepositoryBase<ModalType>, IModalTypeRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
13
Dao/Implement/ModelDetailRepository.cs
Normal file
13
Dao/Implement/ModelDetailRepository.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class ModelDetailRepository : RepositoryBase<ModelDetail>, IModelDetailRepository
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
24
Dao/Implement/ModelRepository.cs
Normal file
24
Dao/Implement/ModelRepository.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class ModelRepository : RepositoryBase<Model>, IModelRepository
|
||||
{
|
||||
public IQueryable<Model> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
342
Dao/Implement/OverviewRepository.cs
Normal file
342
Dao/Implement/OverviewRepository.cs
Normal file
@@ -0,0 +1,342 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using NHibernate.Linq;
|
||||
using Spring.Data.Core;
|
||||
using Spring.Data.NHibernate.Generic.Support;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class OverviewRepository : HibernateDaoSupport, IOverviewRepository
|
||||
{
|
||||
public object LoadRoomServiceState()
|
||||
{
|
||||
var result = Session.GetNamedQuery("QueryRoomServiceState").UniqueResult<object[]>();
|
||||
|
||||
var state = new
|
||||
{
|
||||
DND = result[0],
|
||||
Clean = result[1],
|
||||
Call = result[2],
|
||||
Checkout = result[3],
|
||||
SOS = result[4],
|
||||
Laundry = result[5],
|
||||
Luggage = result[6],
|
||||
MealDelivery = result[7],
|
||||
DrawCloth = result[8]
|
||||
};
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public object LoadRoomRentState(int hotelID)
|
||||
{
|
||||
var result = Session.GetNamedQuery("QueryRoomRentState").SetInt32("hotelID", hotelID).UniqueResult<object[]>();
|
||||
|
||||
var state = new
|
||||
{
|
||||
RentedRoom = result[0],
|
||||
RoomForRent = result[1],
|
||||
CheckoutRoom = result[2],
|
||||
EmptyRoom = result[3],
|
||||
RoomTotal = result[4],
|
||||
RentPercent = result[5],
|
||||
SomeoneRentRoom = result[6],
|
||||
NoOneRentRoom = result[7],
|
||||
SomeoneNotRentRoom = result[8],
|
||||
NoOneNotRentRoom = result[9]
|
||||
};
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public object LoadRoomState()
|
||||
{
|
||||
var result = Session.GetNamedQuery("QueryRoomState").UniqueResult<object[]>();
|
||||
|
||||
var state = new
|
||||
{
|
||||
ConnectingRoom = result[0],
|
||||
NotEnergySavingRoom = result[1],
|
||||
FaultRoom = result[2],
|
||||
SunRoom = result[3],
|
||||
GroupOrientedLeasingRoom = result[4],
|
||||
SuiteRoom = result[5],
|
||||
ReligiousRoom = result[6],
|
||||
AmbulatoryRoom = result[7],
|
||||
VIPRoom = result[8]
|
||||
};
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public object LoadDoorState(int hotelID)
|
||||
{
|
||||
var result = Session.GetNamedQuery("QueryDoorState").SetInt32("hotelID", hotelID).UniqueResult<object[]>();
|
||||
|
||||
var state = new
|
||||
{
|
||||
RoonOpen = result[0],
|
||||
RoomClose = result[1]
|
||||
};
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public object LoadSafeBoxState()
|
||||
{
|
||||
var result = Session.GetNamedQuery("QuerySafeBoxState").UniqueResult<object[]>();
|
||||
|
||||
var state = new
|
||||
{
|
||||
SafeNormalSwitch = result[0],
|
||||
GuestsAreNotSafeOpen = result[1],
|
||||
CheckOutTheSafeShutdown = result[2]
|
||||
};
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public object LoadAirConditionState(int hotelID)
|
||||
{
|
||||
var result = Session.GetNamedQuery("QueryAirConditionState").SetInt32("hotelID", hotelID).UniqueResult<object[]>();
|
||||
|
||||
var state = new
|
||||
{
|
||||
Running = result[0],
|
||||
NoRunning = result[1],
|
||||
SpeedLow = 0,
|
||||
SpeedMedium = 0,
|
||||
SpeedHigh = 0,
|
||||
ColdValveOn = 0,
|
||||
ThermalValveOn =0,
|
||||
LockModeRoom = 0,
|
||||
TimingRoom = 0,
|
||||
ManualModeRoom = 0,
|
||||
DisableSpeedHighRoom = 0,
|
||||
EnableRoomStatusRoom = 0,
|
||||
EnableSleepModeRoom = 0
|
||||
};
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public DataTable LoadHostModalRecords(out long total, int page, int rows, string order, string sort, string roomNumber, string startTime, string endTime, DeviceType? deviceType, string modalIds, int hotelID)
|
||||
{
|
||||
total = 0;
|
||||
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostModalRecords";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@total";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Output;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@page";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = page;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@rows";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = rows;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@order";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = order;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@sort";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = sort;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@startTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = startTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@endTime";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = endTime;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
if (deviceType.HasValue)
|
||||
{
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@deviceType";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = (int)deviceType.GetValueOrDefault();
|
||||
cmd.Parameters.Add(parameter);
|
||||
}
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@modalAddresses";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = modalIds;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
//parameter = cmd.Parameters["@total"] as IDbDataParameter;
|
||||
//total = (parameter != null && parameter.Value != null && parameter.Value != DBNull.Value) ? Convert.ToInt64(parameter.Value) : 0;
|
||||
total = ds.Tables[0].Rows.Count;
|
||||
return ds.Tables[0];
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取回路异常记录
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="hotelID"></param>
|
||||
/// <returns></returns>
|
||||
public DataTable LoadHostAbnormalRecords(int type, int hotelID)
|
||||
{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostAbnormalRecords";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@type";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = type;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
return ds.Tables[0];
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
public DataSet LoadHostAbnormalRecordsAll(int type)
|
||||
{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryHostAbnormalRecordsAll";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
IDbDataParameter parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@type";
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = type;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
DataSet ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
return ds;
|
||||
}
|
||||
|
||||
public DataTable LoadEnergyStatitics(string roomNumber, DateTimeUnit dateUnit, string startDate, string endDate, DeviceType? deviceType, string modalIds)
|
||||
{
|
||||
IDbCommand cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandText = "QueryEnergyStatistics";
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
|
||||
var parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@roomNumber";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = roomNumber;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@dateUnit";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = dateUnit.ToString();
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@startDate";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = startDate;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@endDate";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = endDate;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
if (deviceType.HasValue)
|
||||
{
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@deviceType";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = (int)deviceType.GetValueOrDefault();
|
||||
cmd.Parameters.Add(parameter);
|
||||
}
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@modalIds";
|
||||
parameter.DbType = DbType.String;
|
||||
parameter.Direction = ParameterDirection.Input;
|
||||
parameter.Value = modalIds;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
IDbDataAdapter adapter = new SqlDataAdapter(cmd as SqlCommand);
|
||||
|
||||
DataSet set = new DataSet();
|
||||
|
||||
adapter.Fill(set);
|
||||
|
||||
return set.Tables[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
39
Dao/Implement/RoomCardRepository.cs
Normal file
39
Dao/Implement/RoomCardRepository.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomCardRepository : RepositoryBase<RoomCard>, IRoomCardRepository
|
||||
{
|
||||
public IQueryable<RoomCard> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID && r.RoomCardType != null);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public RoomCard Get(RoomCardType roomCardType, int hotelID)
|
||||
{
|
||||
return LoadAll().Where(r => r.RoomCardType != null && r.RoomCardType.ID == roomCardType.ID && r.HotelID == hotelID).FirstOrDefault();
|
||||
}
|
||||
|
||||
public RoomCard GetByCarNumber(string cardNumber, int hotelID)
|
||||
{
|
||||
return LoadAll().Where(r => r.CardNumber == cardNumber && r.HotelID == hotelID).FirstOrDefault();
|
||||
}
|
||||
|
||||
public RoomCard GetByCartType(RoomCardType cardType, string cardNumber, int hotelID)
|
||||
{
|
||||
return LoadAll().Where(r => r.RoomCardType != null && r.RoomCardType == cardType && r.CardNumber == cardNumber && r.HotelID == hotelID).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
Dao/Implement/RoomCardTypeRepository.cs
Normal file
16
Dao/Implement/RoomCardTypeRepository.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomCardTypeRepository : RepositoryBase<RoomCardType>, IRoomCardTypeRepository
|
||||
{
|
||||
public RoomCardType Get(string name)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.Name == name);
|
||||
}
|
||||
}
|
||||
}
|
||||
24
Dao/Implement/RoomModalRepository.cs
Normal file
24
Dao/Implement/RoomModalRepository.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomModalRepository : RepositoryBase<RoomModal>, IRoomModalRepository
|
||||
{
|
||||
public IQueryable<RoomModal> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Dao/Implement/RoomNoBodyHowToLogRepository.cs
Normal file
18
Dao/Implement/RoomNoBodyHowToLogRepository.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomNoBodyHowToLogRepository : RepositoryBase<RoomNobodyHowToLog>,IRoomNoBodyHowToLogRepository
|
||||
{
|
||||
|
||||
public int Add(RoomNobodyHowToLog test)
|
||||
{
|
||||
this.Save(test);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
24
Dao/Implement/RoomNoBodyHowToRepository.cs
Normal file
24
Dao/Implement/RoomNoBodyHowToRepository.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomNoBodyHowToRepository : RepositoryBase<RoomNobodyHowTo>,IRoomNoBodyHowToRepository
|
||||
{
|
||||
|
||||
public int Add(RoomNobodyHowTo test)
|
||||
{
|
||||
object obj= this.Save(test);
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
|
||||
public new int Update(RoomNobodyHowTo rh)
|
||||
{
|
||||
base.Update(rh);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
73
Dao/Implement/RoomServiceRecordRepository.cs
Normal file
73
Dao/Implement/RoomServiceRecordRepository.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
using NHibernate.Criterion;
|
||||
using NHibernate.Hql;
|
||||
using NHibernate.SqlTypes;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomServiceRecordRepository : RepositoryBase<RoomServiceRecord>, IRoomServiceRecordRepository
|
||||
{
|
||||
public IList<RoomServiceRecord> LoadAllByPage(out long total, int page, int rows, string order, string sort, string roomNumber, string startTime, string endTime, string[] services)
|
||||
{
|
||||
ICriteria criteria = Session.CreateCriteria(typeof(RoomServiceRecord));
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(roomNumber))
|
||||
{
|
||||
criteria.Add(Expression.Like("RoomNumber", "%" + roomNumber + "%"));
|
||||
}
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(startTime))
|
||||
{
|
||||
criteria.Add(Expression.Sql("CONVERT(varchar(16),{alias}.StartTime,120)>=(?)", startTime, NHibernateUtil.String));
|
||||
}
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(endTime))
|
||||
{
|
||||
criteria.Add(Expression.Sql("CONVERT(varchar(16),{alias}.StartTime,120)<=(?)", endTime, NHibernateUtil.String));
|
||||
}
|
||||
|
||||
//if (!String.IsNullOrWhiteSpace(endTime))
|
||||
//{
|
||||
// criteria.Add(Expression.Sql("CONVERT(varchar(16),{alias}.EndTime,120)=(?)", endTime, NHibernateUtil.String));
|
||||
//}
|
||||
|
||||
if (services != null && services.Length > 0)
|
||||
{
|
||||
criteria.Add(Expression.In("AlarmCode", services));
|
||||
}
|
||||
|
||||
var list = criteria.List<RoomServiceRecord>();
|
||||
|
||||
total = list.Count;
|
||||
|
||||
var result = list.AsQueryable().OrderBy(sort + " " + order);
|
||||
|
||||
result = result.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return result.ToList();
|
||||
}
|
||||
|
||||
public RoomServiceRecord Get(int hostID, string alarmCode, bool status)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostID && r.AlarmCode == alarmCode && r.Status == status);
|
||||
}
|
||||
|
||||
public RoomServiceRecord CreateServiceRecord(Host host, AlarmSetting abnormitySetting)
|
||||
{
|
||||
var abnormityRecord = new RoomServiceRecord();
|
||||
abnormityRecord.HostID = host.ID;
|
||||
abnormityRecord.RoomNumber = host.RoomNumber;
|
||||
abnormityRecord.AlarmCode = abnormitySetting.Code;
|
||||
abnormityRecord.Name = abnormitySetting.Name;
|
||||
abnormityRecord.Status = true;
|
||||
abnormityRecord.StartTime = DateTime.Now;
|
||||
return abnormityRecord;
|
||||
}
|
||||
}
|
||||
}
|
||||
132
Dao/Implement/RoomServiceRepository.cs
Normal file
132
Dao/Implement/RoomServiceRepository.cs
Normal file
@@ -0,0 +1,132 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
using NHibernate.Criterion;
|
||||
using NHibernate.Hql;
|
||||
using NHibernate.SqlTypes;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomServiceRepository : RepositoryBase<RoomService>, IRoomServiceRepository
|
||||
{
|
||||
public IList<RoomService> LoadAllByPage(out long total, int page, int rows, string order, string sort, string roomNumber, string startTime, string endTime, string[] services)
|
||||
{
|
||||
ICriteria criteria = Session.CreateCriteria(typeof(RoomService));
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(roomNumber))
|
||||
{
|
||||
criteria.Add(Expression.Like("RoomNumber", "%" + roomNumber + "%"));
|
||||
}
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(startTime))
|
||||
{
|
||||
criteria.Add(Expression.Sql("CONVERT(varchar(16),{alias}.StartTime,120)=(?)", startTime, NHibernateUtil.String));
|
||||
}
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(endTime))
|
||||
{
|
||||
criteria.Add(Expression.Sql("CONVERT(varchar(16),{alias}.EndTime,120)=(?)", endTime, NHibernateUtil.String));
|
||||
}
|
||||
|
||||
if (services != null && services.Length > 0)
|
||||
{
|
||||
criteria.Add(Expression.In("AlarmCode", services));
|
||||
}
|
||||
|
||||
var list = criteria.List<RoomService>();
|
||||
|
||||
total = list.Count;
|
||||
|
||||
var result = list.AsQueryable().OrderBy(sort + " " + order);
|
||||
|
||||
result = result.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return result.ToList();
|
||||
}
|
||||
|
||||
#region 服务
|
||||
|
||||
public IList<object[]> LoadCurrentRoomServices(int hotelID, IList<int> groupIDs)
|
||||
{
|
||||
string sql = String.Format(@"SELECT r.HostID,r.RoomTypeModalID,h.RoomNumber,ISNULL(a.Name,'') AS Name,ISNULL(a.EnglishName,'') AS EnglishName,r.UpdateTime,ISNULL(a.TWName,'') AS TWName,h.HostNumber,a.ModalAddress
|
||||
FROM tb_HostModal r
|
||||
INNER JOIN tb_Hosts h ON h.ID=r.HostID
|
||||
INNER JOIN tb_RoomTypeModal a ON a.ID=r.RoomTypeModalID
|
||||
WHERE r.[Status]=1 AND h.HotelID={1} AND a.[Type]=4 AND h.GroupID IN({0}) AND ISNULL(a.Name,'')<>''
|
||||
ORDER BY a.Sort", String.Join(",", groupIDs), hotelID);
|
||||
|
||||
return Session.CreateSQLQuery(sql).List<object[]>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 异常
|
||||
|
||||
public IList<object[]> LoadCurrentRoomAbnormities(int hotelID, IList<int> groupIDs)
|
||||
{
|
||||
string sql = String.Format(@"SELECT r.ID, a.Name, h.RoomNumber, r.StartTime,a.EName
|
||||
FROM tb_RoomService r
|
||||
INNER JOIN tb_Hosts h ON h.ID=r.HostID
|
||||
INNER JOIN tb_AlarmSetting a ON a.Code=r.AlarmCode
|
||||
WHERE r.[Status]=1 AND a.HotelID={1} AND a.Value=1 AND a.[Type]='C' AND h.GroupID IN({0})
|
||||
ORDER BY a.Sort", String.Join(",", groupIDs), hotelID);
|
||||
|
||||
return Session.CreateSQLQuery(sql).List<object[]>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public DataTable LoadCurrentRoomServicesOrAbnormitiesCount(int hotelID, int groupID, DeviceType deviceType)
|
||||
{
|
||||
|
||||
var cmd = Session.Connection.CreateCommand();
|
||||
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "QueryCurrentRoomServiceStatistics";
|
||||
|
||||
var parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@type";
|
||||
parameter.DbType = DbType.Int16;
|
||||
parameter.Value = deviceType;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@hotelID";
|
||||
parameter.DbType = DbType.Int16;
|
||||
parameter.Value = hotelID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
parameter = cmd.CreateParameter();
|
||||
parameter.ParameterName = "@groupId";
|
||||
parameter.DbType = DbType.Int16;
|
||||
parameter.Value = groupID;
|
||||
cmd.Parameters.Add(parameter);
|
||||
|
||||
var da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
var ds = new DataSet();
|
||||
da.Fill(ds);
|
||||
return ds.Tables[0];
|
||||
}
|
||||
|
||||
public RoomService Get(int hostID, string alarmCode, bool status)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostID && r.AlarmCode == alarmCode && r.Status == status);
|
||||
}
|
||||
|
||||
public RoomService Get(int hostID, string alarmCode)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.HostID == hostID && r.AlarmCode == alarmCode);
|
||||
}
|
||||
|
||||
public IList<RoomService> LoadAll(int hostId)
|
||||
{
|
||||
return LoadAll().Where(r => r.HostID == hostId).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/RoomStatusAidReponsitory.cs
Normal file
12
Dao/Implement/RoomStatusAidReponsitory.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomStatusAidReponsitory : RepositoryBase<RoomStatusAid>, IRoomStatusAidRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/RoomStatusRepository.cs
Normal file
12
Dao/Implement/RoomStatusRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomStatusRepository : RepositoryBase<RoomStatus>, IRoomStatusRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/RoomTypeAirRepository.cs
Normal file
12
Dao/Implement/RoomTypeAirRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeAirRepository : RepositoryBase<RoomTypeAir>, IRoomTypeAirRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
35
Dao/Implement/RoomTypeChannelsRepository.cs
Normal file
35
Dao/Implement/RoomTypeChannelsRepository.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeChannelsRepository : RepositoryBase<RoomTypeChannels>, IRoomTypeChannelsRepository
|
||||
{
|
||||
public IQueryable<RoomTypeChannels> LoadAllByPage(out long total, int page, int rows, string order, string sort, int roomTypeId)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
list = list.Where(r => r.RoomType != null && r.RoomType.ID == roomTypeId);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public void DeleteByRoomTypeID(int roomTypeID)
|
||||
{
|
||||
IList<RoomTypeChannels> lists = this.LoadAll().Where(r => r.RoomType.ID == roomTypeID).ToList();
|
||||
foreach (RoomTypeChannels list in lists)
|
||||
{
|
||||
this.Delete(list.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
53
Dao/Implement/RoomTypeModalRepository.cs
Normal file
53
Dao/Implement/RoomTypeModalRepository.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeModalRepository : RepositoryBase<RoomTypeModal>, IRoomTypeModalRepository
|
||||
{
|
||||
public IQueryable<RoomTypeModal> LoadAllByPage(out long total, int page, int rows, string order, string sort, int roomTypeId)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
list = list.Where(r => r.RoomType != null && r.RoomType.ID == roomTypeId);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public void DeleteByRoomTypeID(int roomTypeID, int sourceType)
|
||||
{
|
||||
IList<RoomTypeModal> lists;
|
||||
if (sourceType == -1)
|
||||
{
|
||||
lists = this.LoadAll().Where(r => r.RoomType.ID == roomTypeID).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
lists = this.LoadAll().Where(r => r.RoomType.ID == roomTypeID && r.SourceType == sourceType).ToList();
|
||||
}
|
||||
foreach (RoomTypeModal list in lists)
|
||||
{
|
||||
this.Delete(list.ID);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteByAddress(int roomTypeID, string address)
|
||||
{
|
||||
IList<RoomTypeModal> lists;
|
||||
lists = this.LoadAll().Where(r => r.RoomType.ID == roomTypeID && r.ModalAddress.Equals(address)).ToList();
|
||||
foreach (RoomTypeModal list in lists)
|
||||
{
|
||||
this.Delete(list.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Dao/Implement/RoomTypeProgramFilesRepository.cs
Normal file
33
Dao/Implement/RoomTypeProgramFilesRepository.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeProgramFilesRepository : RepositoryBase<RoomTypeProgramFiles>, IRoomTypeProgramFilesRepository
|
||||
{
|
||||
public IQueryable<RoomTypeProgramFiles> LoadAllByPage(out long total, int page, int rows, string order, string sort, int roomTypeID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.RoomType != null && r.RoomType.ID == roomTypeID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public void DeleteByRoomTypeID(int roomTypeID)
|
||||
{
|
||||
IList<RoomTypeProgramFiles> lists = this.LoadAll().Where(r => r.RoomType.ID == roomTypeID).ToList();
|
||||
foreach (RoomTypeProgramFiles list in lists)
|
||||
{
|
||||
this.Delete(list.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
Dao/Implement/RoomTypeRepository.cs
Normal file
57
Dao/Implement/RoomTypeRepository.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeRepository : RepositoryBase<RoomType>, IRoomTypeRepository
|
||||
{
|
||||
public IQueryable<RoomType> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == hotelID && r.IsDeleted != true);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
public override void Delete(object id)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<RoomType>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="idList"></param>
|
||||
public override void Delete(IList<object> idList)
|
||||
{
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<RoomType>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
16
Dao/Implement/RoomTypeSceneModalRepository.cs
Normal file
16
Dao/Implement/RoomTypeSceneModalRepository.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeSceneModalRepository : RepositoryBase<RoomTypeSceneModal>, IRoomTypeSceneModalRepository
|
||||
{
|
||||
public IList<RoomTypeSceneModal> LoadAll(RoomTypeScene scene)
|
||||
{
|
||||
return LoadAll().Where(r => r.Scene != null && r.Scene == scene).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
48
Dao/Implement/RoomTypeSceneRepository.cs
Normal file
48
Dao/Implement/RoomTypeSceneRepository.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeSceneRepository : RepositoryBase<RoomTypeScene>, IRoomTypeSceneRepository
|
||||
{
|
||||
public IQueryable<RoomTypeScene> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.RoomType.HotelID == hotelID);
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public IQueryable<RoomTypeScene> LoadAllByPage(out long total, int page, int rows, string order, string sort, int hotelID, int roomTypeId)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
list = list.Where(r => r.RoomType.HotelID == hotelID && (r.RoomType != null && r.RoomType.ID == roomTypeId));
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public RoomTypeScene Get(int roomTypeID, string groupAddress)
|
||||
{
|
||||
return LoadAll().FirstOrDefault(r => r.RoomType.ID == roomTypeID && r.GroupAddress == groupAddress);
|
||||
}
|
||||
|
||||
public IList<RoomTypeScene> LoadAll(RoomType roomType)
|
||||
{
|
||||
return LoadAll().Where(r => r.RoomType != null && r.RoomType == roomType).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
38
Dao/Implement/RoomTypeWXMenusRepository.cs
Normal file
38
Dao/Implement/RoomTypeWXMenusRepository.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class RoomTypeWXMenusRepository : RepositoryBase<RoomTypeWXMenus>, IRoomTypeWXMenusRepository
|
||||
{
|
||||
public IQueryable<RoomTypeWXMenus> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public IQueryable<RoomTypeWXMenus> LoadAll(int roomTypeID)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.RoomType.ID == roomTypeID);
|
||||
}
|
||||
|
||||
public void DeleteByRoomTypeID(int roomTypeID)
|
||||
{
|
||||
IList<RoomTypeWXMenus> lists = this.LoadAll(roomTypeID).ToList();
|
||||
foreach (RoomTypeWXMenus list in lists)
|
||||
{
|
||||
this.Delete(list.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/SysActiveUserRepository.cs
Normal file
12
Dao/Implement/SysActiveUserRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysActiveUserRepository : RepositoryBase<SysActiveUser>, ISysActiveUserRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
22
Dao/Implement/SysAuthorityRepository.cs
Normal file
22
Dao/Implement/SysAuthorityRepository.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysAuthorityRepository : RepositoryBase<SysAuthority>, ISysAuthorityRepository
|
||||
{
|
||||
public override SysAuthority Get(object id)
|
||||
{
|
||||
return base.Get(id);
|
||||
}
|
||||
|
||||
public SysAuthority Get(string name)
|
||||
{
|
||||
return this.LoadAll().FirstOrDefault(f => f.Name == name);
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/SysCityRepository.cs
Normal file
12
Dao/Implement/SysCityRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysCityRepository : RepositoryBase<SysCity>, ISysCityRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/SysCountyRepository.cs
Normal file
12
Dao/Implement/SysCountyRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysCountyRepository : RepositoryBase<SysCounty>, ISysCountyRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
157
Dao/Implement/SysHotelGroupRepository.cs
Normal file
157
Dao/Implement/SysHotelGroupRepository.cs
Normal file
@@ -0,0 +1,157 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using NHibernate;
|
||||
using System.Linq.Dynamic;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysHotelGroupRepository : RepositoryBase<SysHotelGroup>, ISysHotelGroupRepository
|
||||
{
|
||||
public IList<SysHotelGroup> GetGroupList(SysHotelGroup group)
|
||||
{
|
||||
IList<SysHotelGroup> groupList = new List<SysHotelGroup>();
|
||||
|
||||
if (group == null)
|
||||
{
|
||||
return groupList;
|
||||
}
|
||||
|
||||
groupList.Add(group);
|
||||
|
||||
IList<SysHotelGroup> subGroups = LoadAll().Where(r => r.Parent == group && r.IsDeleted != true).OrderBy(o => o.Sort).ToList();
|
||||
|
||||
foreach (SysHotelGroup subGroup in subGroups)
|
||||
{
|
||||
foreach (SysHotelGroup subGroup1 in GetGroupList(subGroup))
|
||||
{
|
||||
groupList.Add(subGroup1);
|
||||
}
|
||||
}
|
||||
|
||||
return groupList;
|
||||
}
|
||||
|
||||
|
||||
public GroupMenu GetGroupMenu(int id)
|
||||
{
|
||||
GroupMenu groupMenu = null;
|
||||
|
||||
using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
using (IDbCommand command = session.Connection.CreateCommand())
|
||||
{
|
||||
command.CommandType = CommandType.Text;
|
||||
command.CommandText = "SELECT ID, ParentID, Name, Sort FROM tb_Sys_HotelGroups WHERE ID=@ID AND IsDeleted<>1";
|
||||
|
||||
IDbDataParameter parameter = command.CreateParameter();
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.ParameterName = "@ID";
|
||||
parameter.Value = id;
|
||||
command.Parameters.Add(parameter);
|
||||
|
||||
using (IDataReader reader = command.ExecuteReader())
|
||||
{
|
||||
if (reader.Read())
|
||||
{
|
||||
groupMenu = new GroupMenu();
|
||||
groupMenu.ID = reader.GetInt32(0);
|
||||
groupMenu.Name = reader.GetString(2);
|
||||
groupMenu.Sort = reader.GetInt32(3);
|
||||
|
||||
IList<GroupMenu> subGroupMenus = GetGroupMenuListByParentID(groupMenu.ID);
|
||||
foreach (var subGroupMenu in subGroupMenus)
|
||||
{
|
||||
groupMenu.SubGroupMenus.Add(subGroupMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return groupMenu;
|
||||
}
|
||||
|
||||
public IList<GroupMenu> GetGroupMenuListByParentID(int? parentId)
|
||||
{
|
||||
IList<GroupMenu> groupMenus = new List<GroupMenu>();
|
||||
|
||||
using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
using (IDbCommand command = session.Connection.CreateCommand())
|
||||
{
|
||||
command.CommandType = CommandType.Text;
|
||||
|
||||
if (parentId.HasValue)
|
||||
{
|
||||
command.CommandText = "SELECT ID, ParentID, Name, Sort FROM tb_Sys_HotelGroups WHERE ParentID=@ParentID AND IsDeleted<>1 ORDER BY Sort";
|
||||
|
||||
IDbDataParameter parameter = command.CreateParameter();
|
||||
parameter.DbType = DbType.Int32;
|
||||
parameter.ParameterName = "@ParentID";
|
||||
parameter.Value = parentId.Value;
|
||||
command.Parameters.Add(parameter);
|
||||
}
|
||||
else
|
||||
{
|
||||
command.CommandText = "SELECT ID, ParentID, Name, Sort FROM tb_Sys_HotelGroups WHERE ParentID IS NULL AND IsDeleted<>1 ORDER BY Sort";
|
||||
}
|
||||
|
||||
using (IDataReader reader = command.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var groupMenu = new GroupMenu();
|
||||
groupMenu.ID = reader.GetInt32(0);
|
||||
groupMenu.Name = reader.GetString(2);
|
||||
groupMenu.Sort = reader.GetInt32(3);
|
||||
|
||||
IList<GroupMenu> subGroupMenus = GetGroupMenuListByParentID(groupMenu.ID);
|
||||
foreach (var subGroupMenu in subGroupMenus)
|
||||
{
|
||||
groupMenu.SubGroupMenus.Add(subGroupMenu);
|
||||
}
|
||||
|
||||
groupMenus.Add(groupMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return groupMenus;
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
public override void Delete(object id)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<SysHotelGroup>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="idList"></param>
|
||||
public override void Delete(IList<object> idList)
|
||||
{
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<SysHotelGroup>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
205
Dao/Implement/SysHotelRepository.cs
Normal file
205
Dao/Implement/SysHotelRepository.cs
Normal file
@@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using CommonEntity;
|
||||
using NHibernate;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysHotelRepository : RepositoryBase<SysHotel>, ISysHotelRepository
|
||||
{
|
||||
public IQueryable<SysHotel> LoadAllByPage(out long total, int page, int rows, string order, string sort, string query, int? groupId)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.IsDeleted != true);
|
||||
if (groupId.HasValue && groupId > 1)
|
||||
{
|
||||
list = list.Where(r => r.SysHotelGroup == null || r.SysHotelGroup.ID == groupId || (r.SysHotelGroup.Parent != null && r.SysHotelGroup.Parent.ID == groupId));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(query))
|
||||
{
|
||||
list = list.Where(r => r.Code.Contains(query) || r.Name.Contains(query));
|
||||
}
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
|
||||
public SysHotel GetByCode(string code)
|
||||
{
|
||||
return LoadAll().Where(r => r.Code == code && r.IsDeleted != true).OrderBy(r => r.Sort).FirstOrDefault();
|
||||
}
|
||||
|
||||
public SysHotel GetByAssociatedAccount(string associatedAccount)
|
||||
{
|
||||
return LoadAll().Where(r => r.AssociatedAccount == associatedAccount && r.IsDeleted != true).OrderBy(r => r.Sort).FirstOrDefault();
|
||||
}
|
||||
|
||||
public SysHotel GetByDomainUrl(string domainUrl)
|
||||
{
|
||||
return LoadAll().Where(r => r.DomainUrl.Contains("%" + domainUrl + "%") && r.IsDeleted != true).OrderBy(r => r.Sort).FirstOrDefault();
|
||||
}
|
||||
|
||||
public IList<SysHotel> GetByGroup(SysHotelGroup group)
|
||||
{
|
||||
return base.LoadAll().Where(r => r.SysHotelGroup == group && r.IsDeleted != true).OrderBy(r => r.Code).ToList();
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
public override void Delete(object id)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<SysHotel>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
/// <summary>
|
||||
/// 重载删除,只做标记
|
||||
/// </summary>
|
||||
/// <param name="idList"></param>
|
||||
public override void Delete(IList<object> idList)
|
||||
{
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var entity = this.HibernateTemplate.Get<SysHotel>(id);
|
||||
if (entity == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
entity.IsDeleted = true;
|
||||
entity.Last_Modified_Time = DateTime.Now;
|
||||
this.HibernateTemplate.Update(entity);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 阿宝添加的
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<CommonEntity.KongQi> GetNeedData()
|
||||
{
|
||||
using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
using (IDbCommand cmd = session.Connection.CreateCommand())
|
||||
{
|
||||
|
||||
cmd.CommandText = @"select B.HotelID,D.Code, C.RoomNumber,D.CreatedDate from tb_RoomTypeModal A
|
||||
left join tb_RoomType B
|
||||
on A.RoomTypeID=B.ID
|
||||
left join tb_Sys_Hotels D
|
||||
on D.ID=B.HotelID
|
||||
left join tb_Hosts C
|
||||
on C.HotelID=B.HotelID and C.RoomTypeID=B.ID
|
||||
where C.IsDeleted=0
|
||||
and B.IsDeleted=0 and D.IsDeleted=0
|
||||
and A.ModalAddress>='009000001' and A.ModalAddress<='009001000';";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
|
||||
da.Fill(ds);
|
||||
|
||||
DataTable dt = ds.Tables[0];
|
||||
List<KongQi> list = new List<KongQi>();
|
||||
if (dt != null && dt.Rows.Count > 0)
|
||||
{
|
||||
foreach (DataRow item in dt.Rows)
|
||||
{
|
||||
CommonEntity.KongQi k = new CommonEntity.KongQi();
|
||||
string hotelid = item["HotelID"].ToString();
|
||||
string hotelcode = item["Code"].ToString();
|
||||
string roomnumber = item["RoomNumber"].ToString();
|
||||
string createdate = item["CreatedDate"].ToString();
|
||||
k.HotelID = hotelid.ToString();
|
||||
k.HotelCode = hotelcode;
|
||||
k.RoomNumber = roomnumber;
|
||||
k.CreatDate = createdate;
|
||||
list.Add(k);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 判断 某个房间 是否存在某个设备
|
||||
/// </summary>
|
||||
/// <param name="hotelcode"></param>
|
||||
/// <param name="roomnum"></param>
|
||||
/// <param name="start_address"></param>
|
||||
/// <param name="end_address"></param>
|
||||
/// <returns></returns>
|
||||
public List<SomeDeviceExistsData> IsExistsSomeDeviceRoomModal(int id, string roomnum, string start_address, string end_address)
|
||||
{
|
||||
using (IStatelessSession session = SessionFactory.OpenStatelessSession())
|
||||
using (IDbCommand cmd = session.Connection.CreateCommand())
|
||||
{
|
||||
|
||||
cmd.CommandType = CommandType.Text;
|
||||
cmd.CommandText = @"select B.HotelID,D.Code, C.RoomNumber,D.CreatedDate,A.ModalAddress,A.ID from tb_RoomTypeModal A
|
||||
inner join tb_RoomType B
|
||||
on A.RoomTypeID=B.ID
|
||||
inner join tb_Sys_Hotels D
|
||||
on D.ID=B.HotelID
|
||||
inner join tb_Hosts C
|
||||
on C.HotelID=B.HotelID and C.RoomTypeID=B.ID
|
||||
where C.IsDeleted=0
|
||||
and B.IsDeleted=0 and D.IsDeleted=0
|
||||
and A.ModalAddress>=@start_address and A.ModalAddress<=@end_address
|
||||
and D.ID=@id and C.RoomNumber=@roomnumber;";
|
||||
|
||||
SqlParameter p1 = new SqlParameter("@id", id);
|
||||
SqlParameter p2 = new SqlParameter("@roomnumber", roomnum);
|
||||
SqlParameter p3 = new SqlParameter("@start_address", start_address);
|
||||
SqlParameter p4 = new SqlParameter("@end_address", end_address);
|
||||
cmd.Parameters.Add(p1);
|
||||
cmd.Parameters.Add(p2);
|
||||
cmd.Parameters.Add(p3);
|
||||
cmd.Parameters.Add(p4);
|
||||
IDbDataAdapter da = new SqlDataAdapter(cmd as SqlCommand);
|
||||
|
||||
DataSet ds = new DataSet();
|
||||
|
||||
da.Fill(ds);
|
||||
|
||||
DataTable dt = ds.Tables[0];
|
||||
List<SomeDeviceExistsData> list = new List<SomeDeviceExistsData>();
|
||||
if (dt != null && dt.Rows.Count > 0)
|
||||
{
|
||||
foreach (DataRow item in dt.Rows)
|
||||
{
|
||||
CommonEntity.SomeDeviceExistsData k = new CommonEntity.SomeDeviceExistsData();
|
||||
string hotelid = item["HotelID"].ToString();
|
||||
string hotelcode = item["Code"].ToString();
|
||||
string roomnumber = item["RoomNumber"].ToString();
|
||||
string createdate = item["CreatedDate"].ToString();
|
||||
string modalid = item["ID"].ToString();
|
||||
k.HotelID = int.Parse(hotelid);
|
||||
k.HotelCode = hotelcode;
|
||||
k.RoomNumber = roomnumber;
|
||||
k.CreatDate = createdate;
|
||||
k.ModalID = modalid;
|
||||
list.Add(k);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
68
Dao/Implement/SysOauth2Repository.cs
Normal file
68
Dao/Implement/SysOauth2Repository.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysOauth2Repository : RepositoryBase<SysOauth2>, ISysOauth2Repository
|
||||
{
|
||||
public IQueryable<SysOauth2> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
|
||||
public SysOauth2 Get(string code)
|
||||
{
|
||||
return LoadAll().Where(r => r.Code == code).OrderByDescending(r => r.ID).FirstOrDefault();
|
||||
}
|
||||
|
||||
public SysOauth2 GetByRefreshToken(string refreshToken)
|
||||
{
|
||||
return LoadAll().Where(r => r.RefreshToken == refreshToken).OrderByDescending(r => r.ID).FirstOrDefault();
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取小度token统一接口
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetXiaoDuToken()
|
||||
{
|
||||
var sysOauth2 = LoadAll().Where(r => r.RedirectUri == "https://dueros.baidu.com/business/oauth/v2/token").OrderByDescending(r => r.ID).FirstOrDefault();
|
||||
if (sysOauth2 == null || sysOauth2.CreatedDate < DateTime.Now)
|
||||
{
|
||||
Common.XiaoDuError error = Common.XiaoDuOperation.GetXiaoDuAccessToken();
|
||||
if (null != error && error.errno == 0)
|
||||
{
|
||||
if (sysOauth2 == null)
|
||||
{
|
||||
sysOauth2 = new SysOauth2()
|
||||
{
|
||||
Code = "1001BLWXiaoDu",
|
||||
RedirectUri = "https://dueros.baidu.com/business/oauth/v2/token",
|
||||
Account = "system"
|
||||
};
|
||||
}
|
||||
sysOauth2.AccessToken = error.data.access_token;
|
||||
sysOauth2.RefreshToken = error.data.refresh_token;
|
||||
sysOauth2.ExpiresIn = error.data.expires_in;
|
||||
sysOauth2.CreatedDate = Common.TimeHelper.ToDateTime(error.data.deadline);
|
||||
|
||||
SaveOrUpdate(sysOauth2);
|
||||
|
||||
return sysOauth2.AccessToken;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
return sysOauth2.AccessToken;
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Dao/Implement/SysProvinceRepository.cs
Normal file
12
Dao/Implement/SysProvinceRepository.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysProvinceRepository : RepositoryBase<SysProvince>, ISysProvinceRepository
|
||||
{
|
||||
}
|
||||
}
|
||||
29
Dao/Implement/SysRoleRepository.cs
Normal file
29
Dao/Implement/SysRoleRepository.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysRoleRepository : RepositoryBase<SysRole>, ISysRoleRepository
|
||||
{
|
||||
public IQueryable<SysRole> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public SysRole Get(string name)
|
||||
{
|
||||
return this.LoadAll().FirstOrDefault(f => f.Name == name);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
Dao/Implement/SysSettingRepository.cs
Normal file
27
Dao/Implement/SysSettingRepository.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysSettingRepository : RepositoryBase<SysSetting>, ISysSettingRepository
|
||||
{
|
||||
public object GetValue(string name)
|
||||
{
|
||||
SysSetting setting = LoadAll().Where(r => r.Name == name).FirstOrDefault();
|
||||
if (setting != null)
|
||||
{
|
||||
return setting.Value;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public SysSetting Get(string name)
|
||||
{
|
||||
return LoadAll().Where(r => r.Name == name).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
25
Dao/Implement/SysSystemLogsRepository.cs
Normal file
25
Dao/Implement/SysSystemLogsRepository.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysSystemLogsRepository : RepositoryBase<SysSystemLogs>, ISysSystemLogsRepository
|
||||
{
|
||||
public IQueryable<SysSystemLogs> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
51
Dao/Implement/SysUserRepository.cs
Normal file
51
Dao/Implement/SysUserRepository.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class SysUserRepository : RepositoryBase<SysUsers>, ISysUserRepository
|
||||
{
|
||||
public IQueryable<SysUsers> LoadAllByPage(out long total, int page, int rows, string order, string sort, int type, int? groupId, int? hotelID)
|
||||
{
|
||||
var list = this.LoadAll().Where(r => r.HotelID == 0 && !r.IsDeleted);
|
||||
if (groupId.HasValue)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case 0://组用户
|
||||
list = list.Where(r => r.SysHotelGroup.ID == groupId || (r.SysHotelGroup.Parent != null && r.SysHotelGroup.Parent.ID == groupId)
|
||||
|| (r.SysHotelGroup.Parent != null && r.SysHotelGroup.Parent.Parent != null && r.SysHotelGroup.Parent.Parent.ID == groupId));
|
||||
break;
|
||||
case 1://酒店用户
|
||||
list = this.LoadAll().Where(r => r.HotelID == hotelID &&
|
||||
(r.Group.ID == groupId || (r.Group.Parent != null && r.Group.Parent.ID == groupId)));
|
||||
//|| (r.Group.Parent != null && r.Group.Parent.Parent != null && r.Group.Parent.Parent.ID == groupId)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
total = list.LongCount();
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
return list;
|
||||
}
|
||||
|
||||
public SysUsers Get(string account)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.Account == account && !r.IsDeleted).FirstOrDefault();
|
||||
}
|
||||
|
||||
public IList<SysUsers> GetByRole(int roleId)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.Role.ID == roleId && !r.IsDeleted).ToList();
|
||||
}
|
||||
|
||||
public IList<SysUsers> GetByGroup(Group group)
|
||||
{
|
||||
return this.LoadAll().Where(r => r.Group == group && !r.IsDeleted).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
26
Dao/Implement/TFTP_SetRepository.cs
Normal file
26
Dao/Implement/TFTP_SetRepository.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class TFTP_SetRepository : RepositoryBase<TFTP_Set>,ITFTP_SetRepository
|
||||
{
|
||||
|
||||
public int Add(TFTP_Set entity)
|
||||
{
|
||||
object obj= this.Save(entity);
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
|
||||
|
||||
|
||||
public TFTP_Set GetDataBy(int hotelid, int hostid)
|
||||
{
|
||||
var qqq= this.LoadAll().Where(A=>A.HotelID==hotelid&&A.HostID==hostid).FirstOrDefault();
|
||||
return qqq;
|
||||
}
|
||||
}
|
||||
}
|
||||
17
Dao/Implement/TestRepository.cs
Normal file
17
Dao/Implement/TestRepository.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class TestRepository : RepositoryBase<Test>,ITestRepository
|
||||
{
|
||||
public int Add(Test test)
|
||||
{
|
||||
this.Save(test);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
24
Dao/Implement/WXMenusRepository.cs
Normal file
24
Dao/Implement/WXMenusRepository.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Dynamic;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class WXMenusRepository : RepositoryBase<WXMenus>, IWXMenusRepository
|
||||
{
|
||||
public IQueryable<WXMenus> LoadAllByPage(out long total, int page, int rows, string order, string sort)
|
||||
{
|
||||
var list = this.LoadAll();
|
||||
|
||||
total = list.LongCount();
|
||||
|
||||
list = list.OrderBy(sort + " " + order);
|
||||
list = list.Skip((page - 1) * rows).Take(rows);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
19
Dao/Implement/dev_MonitorLogRepository.cs
Normal file
19
Dao/Implement/dev_MonitorLogRepository.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Domain;
|
||||
|
||||
namespace Dao.Implement
|
||||
{
|
||||
public class dev_MonitorLogRepository : RepositoryBase<dev_MonitorLog>, Idev_MonitorLogRepository
|
||||
{
|
||||
|
||||
public int Add(dev_MonitorLog entity)
|
||||
{
|
||||
object obj= this.Save(entity);
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user