初始化CRICS

This commit is contained in:
2025-12-11 09:17:16 +08:00
commit 83247ec0a2
2735 changed files with 787765 additions and 0 deletions

View 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);
}
}
}

View 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
{
}
}

View 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);
}
}
}

View 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);
}
}
}

View 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);
}
}
}

View 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();
}
}
}

View 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());
}
}
}

View 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];
}
}
}

View 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);
}
}
}

View 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);
}
}
}

View 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;
}
}
}

View 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);
}
}
}

View 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();
}
}
}
}

View 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];
}
}
}

View 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[]>();
}
}
}

View 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];
}
}
}

View 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();
}
}
}

View 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();
}
}
}

View 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();
}
}
}

View 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];
}
}
}

View 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();
}
}
}

View 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];
}
}
}

View 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);
}
}
}

View 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);
}
}
}

View 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();
}
}
}

View 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();
}
}
}

View 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);
}
}
}
}

View 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();
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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
{
}
}

View 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
{
}
}

View 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;
}
}
}

View 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];
}
}
}

View 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();
}
}
}

View 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);
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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();
}
}
}

View 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
{
}
}

View 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
{
}
}

View 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
{
}
}

View 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);
}
}
}
}

View 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);
}
}
}
}

View 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);
}
}
}
}

View 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);
}
}
}
}

View 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();
}
}
}

View 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();
}
}
}

View 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);
}
}
}
}

View 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
{
}
}

View 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);
}
}
}

View 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
{
}
}

View 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
{
}
}

View 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);
}
}
}
}

View 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;
}
}
}
}

View 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;
}
}
}

View 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
{
}
}

View 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);
}
}
}

View 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();
}
}
}

View 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;
}
}
}

View 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();
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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());
}
}
}