namespace Yw.Service
|
{
|
/// <summary>
|
/// 运行实时记录
|
/// </summary>
|
public partial class RunRealRecord
|
{
|
#region Last
|
|
/// <summary>
|
/// 获取最后一条记录
|
/// </summary>
|
public Model.RunRealRecord GetLastRecord(string ObjectType, long ObjectID)
|
{
|
var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
|
return lcacheHelper.GetLastRecord(ObjectType, ObjectID);
|
}
|
|
/// <summary>
|
/// 获取最后一条记录
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastRecord(string ObjectType, List<long> ObjectIds)
|
{
|
if (ObjectIds == null || ObjectIds.Count < 1)
|
{
|
return default;
|
}
|
var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
|
return lcacheHelper.GetLastRecord(ObjectType, ObjectIds);
|
}
|
|
/// <summary>
|
/// 获取最后一条记录
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastRecord(List<(string, long)> list)
|
{
|
if (list == null || list.Count < 1)
|
{
|
return default;
|
}
|
var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
|
return lcacheHelper.GetLastRecord(list);
|
}
|
|
#endregion
|
|
#region Query
|
|
#region 常规获取
|
|
/// <summary>
|
/// 获取最近几条列表
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastList(DateTime? StartTime, DateTime? EndTime, int Number = 1, bool? Run = null)
|
{
|
if (StartTime.HasValue && EndTime.HasValue)
|
{
|
if (StartTime.Value > EndTime.Value)
|
{
|
return default;
|
}
|
}
|
if (Number < 1)
|
{
|
Number = 1;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetLastList(StartTime, EndTime, Number, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取某日的最近几条数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastListByDay(DateTime Day, int Number = 1, bool? Run = null)
|
{
|
if (Number < 1)
|
{
|
Number = 1;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetLastListByDay(Day, Number, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取日期区间的最近几条数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastListByDayRange(DateTime StartDay, DateTime EndDay, int Number = 1, bool? Run = null)
|
{
|
if (StartDay.Date > EndDay.Date)
|
{
|
return default;
|
}
|
if (Number < 1)
|
{
|
Number = 1;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetLastListByDayRange(StartDay, EndDay, Number, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取时间区间的最近几条数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastListByTimeRange(DateTime StartTime, DateTime EndTime, int Number = 1, bool? Run = null)
|
{
|
if (StartTime > EndTime)
|
{
|
return default;
|
}
|
if (Number < 1)
|
{
|
Number = 1;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetLastListByTimeRange(StartTime, EndTime, Number, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取
|
/// </summary>
|
public List<Model.RunRealRecord> Get(DateTime? StartTime, DateTime? EndTime, bool? Run = null)
|
{
|
if (StartTime.HasValue && EndTime.HasValue)
|
{
|
if (StartTime.Value > EndTime.Value)
|
{
|
return default;
|
}
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.Get(StartTime, EndTime, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取某日的数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetByDay(DateTime Day, bool? Run = null)
|
{
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByDay(Day, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取日期区间内的数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetByDayRange(DateTime StartDay, DateTime EndDay, bool? Run = null)
|
{
|
if (StartDay.Date > EndDay.Date)
|
{
|
return default;
|
}
|
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByDayRange(StartDay, EndDay, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取时间区间的数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetByTimeRange(DateTime StartTime, DateTime EndTime, bool? Run = null)
|
{
|
if (StartTime > EndTime)
|
{
|
return default;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByTimeRange(StartTime, EndTime, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 获取分页列表
|
/// </summary>
|
public List<Model.RunRealRecord> GetPageList(DateTime? StartTime, DateTime? EndTime, bool? Run, int PageIndex, int PageSize, ref int Total)
|
{
|
if (StartTime.HasValue && EndTime.HasValue)
|
{
|
if (StartTime.Value > EndTime.Value)
|
{
|
return default;
|
}
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetPageList(StartTime, EndTime, Run, PageIndex, PageSize, ref Total);
|
return Entity2Models(entityList);
|
}
|
|
#endregion
|
|
#region 通过 ObjectType 和 ObjectID 获取
|
|
/// <summary>
|
/// 通过 ObjectType 和 ObjectID 获取最近几条记录
|
/// </summary>
|
public List<Model.RunRealRecord> GetLastListByObjectTypeAndObjectID(string ObjectType, long ObjectID, int Number = 1, bool? Run = null)
|
{
|
if (Number < 1)
|
{
|
Number = 1;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetLastListByObjectTypeAndObjectID(ObjectType, ObjectID, Number, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 通过 ObjectType 和 ObjectID 获取
|
/// </summary>
|
public List<Model.RunRealRecord> GetByObjectTypeAndObjectID(string ObjectType, long ObjectID, DateTime? StartTime, DateTime? EndTime, bool? Run = null)
|
{
|
if (StartTime.HasValue && EndTime.HasValue)
|
{
|
if (StartTime.Value > EndTime.Value)
|
{
|
return default;
|
}
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByObjectTypeAndObjectID(ObjectType, ObjectID, StartTime, EndTime, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 通过 ObjectType 和 ObjectID 获取某日的数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetByObjectTypeAndObjectIDOfDay(string ObjectType, long ObjectID, DateTime Day, bool? Run = null)
|
{
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByObjectTypeAndObjectIDOfDay(ObjectType, ObjectID, Day, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 通过 ObjectType 和 ObjectID 获取日期区间内的数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetByObjectTypeAndObjectIDOfDayRange(string ObjectType, long ObjectID, DateTime StartDay, DateTime EndDay, bool? Run = null)
|
{
|
if (StartDay.Date > EndDay.Date)
|
{
|
return default;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByObjectTypeAndObjectIDOfDayRange(ObjectType, ObjectID, StartDay, EndDay, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 通过 ObjectType 和 ObjectID 获取时间区间内的数据
|
/// </summary>
|
public List<Model.RunRealRecord> GetByObjectTypeAndObjectIDOfTimeRange(string ObjectType, long ObjectID, DateTime StartTime, DateTime EndTime, bool? Run = null)
|
{
|
if (StartTime > EndTime)
|
{
|
return default;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetByObjectTypeAndObjectIDOfTimeRange(ObjectType, ObjectID, StartTime, EndTime, Run);
|
return Entity2Models(entityList);
|
}
|
|
/// <summary>
|
/// 通过 ObjectType 和 ObjectID 获取分页列表
|
/// </summary>
|
public List<Model.RunRealRecord> GetPageListByObjectTypeAndObjectID(string ObjectType, long ObjectID, DateTime? StartTime, DateTime? EndTime, bool? Run, int PageIndex, int PageSize, ref int Total)
|
{
|
if (StartTime.HasValue && EndTime.HasValue)
|
{
|
if (StartTime.Value > EndTime.Value)
|
{
|
return default;
|
}
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entityList = dal.GetPageListByObjectTypeAndObjectID(ObjectType, ObjectID, StartTime, EndTime, Run, PageIndex, PageSize, ref Total);
|
return Entity2Models(entityList);
|
}
|
|
|
#endregion
|
|
|
#endregion
|
|
#region Insert
|
|
/// <summary>
|
/// 插入一条
|
/// </summary>
|
public bool Insert(Model.RunRealRecord model)
|
{
|
if (model == null)
|
{
|
return default;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entity = Model2Entity(model);
|
return dal.InsertOrUpdate(entity);
|
}
|
|
/// <summary>
|
/// 插入多条
|
/// </summary>
|
public bool Inserts(List<Model.RunRealRecord> list)
|
{
|
if (list == null || list.Count < 1)
|
{
|
return default;
|
}
|
var dal = DALCreateHelper.CreateDAL<Yw.DAL.IRunRealRecord>();
|
var entity_list = Model2Entities(list);
|
return dal.InsertOrUpdate(entity_list);
|
}
|
|
/// <summary>
|
/// 插入最后一条
|
/// </summary>
|
public bool InsertLastRecord(Model.RunRealRecord record)
|
{
|
if (record == null)
|
{
|
return false;
|
}
|
var bol = Insert(record);
|
if (bol)
|
{
|
var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
|
bol = lcacheHelper.SetLastRecord(record);
|
if (bol)
|
{
|
var exchangeHelper = ExchangeCreateHelper.CreateExchange<Yw.Exchange.IRunRealRecordExchangeHelper>();
|
bol = exchangeHelper.Push(new List<Model.RunRealRecord>() { record });
|
}
|
return bol;
|
}
|
return false;
|
}
|
|
/// <summary>
|
/// 插入最近多条记录
|
/// </summary>
|
public bool InsertsLastRecord(List<Model.RunRealRecord> list)
|
{
|
if (list == null || !list.Any())
|
{
|
return false;
|
}
|
var bol = Inserts(list);
|
if (bol)
|
{
|
var lcacheHelper = LCacheCreateHelper.CreateLCache<Yw.LCache.IRunRealLastRecordCacheHelper>();
|
bol = lcacheHelper.SetLastRecord(list);
|
if (bol)
|
{
|
var exchangeHelper = ExchangeCreateHelper.CreateExchange<Yw.Exchange.IRunRealRecordExchangeHelper>();
|
bol = exchangeHelper.Push(list);
|
}
|
return bol;
|
}
|
return false;
|
}
|
|
#endregion
|
|
|
}
|
}
|