using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IStation.RedisCache;
namespace IStation.Service
{
///
/// 监测记录
///
public partial class MonitorRecord
{
#region 最近一条记录
///
/// 获取最近一条记录
///
public Model.MonitorBasicRecord GetLastRecord(long CorpID, long MonitorPointID, long SignalID)
{
var redisHelper = new MonitorRecordCacheHelper();
var record = redisHelper.GetLastRecord(CorpID, MonitorPointID, SignalID);
return record;
}
///
/// 获取最近一条记录
///
public List GetLastRecord(long CorpID, long MonitorPointID, IEnumerable SignalIds)
{
if (SignalIds == null || SignalIds.Count() < 1)
return default;
var redisHelper = new MonitorRecordCacheHelper();
var record = redisHelper.GetLastRecord(CorpID, MonitorPointID, SignalIds);
return record;
}
///
/// 获取最近一条记录
///
public List GetLastRecord(long CorpID, Dictionary dict)
{
if (dict == null || dict.Count < 1)
return default;
var redisHelper = new MonitorRecordCacheHelper();
var records = redisHelper.GetLastRecord(CorpID, dict);
return records;
}
///
/// 获取最近一条记录
///
public List GetLastRecord(long CorpID, long MonitorPointID)
{
var redisHelper = new MonitorRecordCacheHelper();
var records = redisHelper.GetLastRecord(CorpID, MonitorPointID);
return records;
}
///
/// 获取最近一条记录
///
public List GetLastRecord(long CorpID, IEnumerable MonitorPointIds)
{
if (MonitorPointIds == null || MonitorPointIds.Count() < 1)
return default;
var redisHelper = new MonitorRecordCacheHelper();
var records = redisHelper.GetLastRecord(CorpID, MonitorPointIds);
return records;
}
///
/// 获取最近一条正常记录
///
public Model.MonitorBasicRecord GetLastNormalRecord(long CorpID, long MonitorPointID, long SignalID)
{
var redisHelper = new MonitorRecordCacheHelper();
var record = redisHelper.GetLastNormalRecord(CorpID, MonitorPointID, SignalID);
return record;
}
///
/// 获取最近一条正常记录
///
public List GetLastNormalRecord(long CorpID, Dictionary dict)
{
if (dict == null || dict.Count < 1)
return default;
var redisHelper = new MonitorRecordCacheHelper();
var records = redisHelper.GetLastNormalRecord(CorpID, dict);
return records;
}
///
/// 获取最近一条正常记录
///
public List GetLastNormalRecord(long CorpID, long MonitorPointID)
{
var redisHelper = new MonitorRecordCacheHelper();
var records = redisHelper.GetLastNormalRecord(CorpID, MonitorPointID);
return records;
}
///
/// 获取最近一条正常记录
///
public List GetLastNormalRecord(long CorpID, IEnumerable MonitorPointIds)
{
if (MonitorPointIds == null || MonitorPointIds.Count() < 1)
return default;
var redisHelper = new MonitorRecordCacheHelper();
var records = redisHelper.GetLastNormalRecord(CorpID, MonitorPointIds);
return records;
}
#endregion
#region 插入最近一条记录
///
/// 插入最近一条记录
///
public bool InsertLastRecord(Model.MonitorBasicRecord model)
{
if (model == null)
return default;
//实时记录
if (model is Model.MonitorRealRecordPure)
{
return new MonitorRealRecord().InsertLastRecord(model as Model.MonitorRealRecordPure);
}
//时记录
else if (model is Model.MonitorHourRecordPure)
{
return new MonitorHourRecord().InsertLastRecord(model as Model.MonitorHourRecordPure);
}
//日记录
else if (model is Model.MonitorDayRecordPure)
{
return new MonitorDayRecord().InsertLastRecord(model as Model.MonitorDayRecordPure);
}
//周记录
else if (model is Model.MonitorWeekRecordPure)
{
return new MonitorWeekRecord().InsertLastRecord(model as Model.MonitorWeekRecordPure);
}
//月记录
else if (model is Model.MonitorMonthRecordPure)
{
return new MonitorMonthRecord().InsertLastRecord(model as Model.MonitorMonthRecordPure);
}
//年记录
else if (model is Model.MonitorYearRecordPure)
{
return new MonitorYearRecord().InsertLastRecord(model as Model.MonitorYearRecordPure);
}
return default;
}
///
/// 插入最近多条记录(暂时只支持同一种计划类型)
///
public bool InsertsLastRecord(Model.Monitor.eCronType cronType, List list)
{
if (list == null || list.Count() < 1)
return default;
var bol = false;
switch (cronType)
{
case Model.Monitor.eCronType.Real:
{
bol = new MonitorRealRecord().InsertsLastRecord(list.Select(x=>x as Model.MonitorRealRecordPure).ToList());
}
break;
case Model.Monitor.eCronType.EachHour:
{
bol = new MonitorHourRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorHourRecordPure).ToList());
}
break;
case Model.Monitor.eCronType.EachDay:
{
bol = new MonitorDayRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorDayRecordPure).ToList());
}
break;
case Model.Monitor.eCronType.EachWeek:
{
bol = new MonitorWeekRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorWeekRecordPure).ToList());
}
break;
case Model.Monitor.eCronType.EachMonth:
{
bol = new MonitorMonthRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorMonthRecordPure).ToList());
}
break;
case Model.Monitor.eCronType.EachYear:
{
bol = new MonitorYearRecord().InsertsLastRecord(list.Select(x => x as Model.MonitorYearRecordPure).ToList());
}
break;
default:break;
}
return bol;
}
#endregion
}
}