using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.BLL
{
///
/// 监测数据集
///
public class MonitorDataSet
{
private readonly DAL.MonitorDataSet _dal = new DAL.MonitorDataSet();
#region Query
#region MonitorDataSet
///
/// 查询监测数据集
///
public List GetMonitorDataSet()
{
return _dal.GetMonitorDataSet();
}
///
/// 查询监测数据集
///
public List GetMonitorDataSet(long monitorPointId)
{
if (monitorPointId < 1)
return default;
return _dal.GetMonitorDataSet(monitorPointId);
}
///
/// 查询监测数据集
///
public Model.MonitorDataSet GetMonitorDataSet(long monitorPointId, int year, int month)
{
if (monitorPointId < 1)
return default;
return _dal.GetMonitorDataSet(monitorPointId, year, month);
}
#endregion
#region SignalRecordPacket
///
/// 查询信号记录包
///
public List GetSignalRecordPacket(List signalIds, int year, int month)
{
if (signalIds == null || !signalIds.Any())
return default;
return _dal.GetSignalRecordPacket(signalIds, year, month);
}
///
/// 查询信号记录包
///
public Model.SignalRecordPacket GetSignalRecordPacket(long monitorPointId, long signalId)
{
if (monitorPointId < 1)
return default;
if (signalId < 1)
return default;
return _dal.GetSignalRecordPacket(monitorPointId, signalId);
}
///
/// 查询信号记录包
///
public Model.SignalRecordPacket GetSignalRecordPacket(long monitorPointId, long signalId, int year, int month)
{
if (monitorPointId < 1)
return default;
if (signalId < 1)
return default;
return _dal.GetSignalRecordPacket(monitorPointId, signalId, year, month);
}
#endregion
#region SignalRecord
///
/// 查询信号记录
///
public List GetSignalRecord(long monitorPointId, long signalId, int year, int month)
{
if (monitorPointId < 1)
return default;
if (signalId < 1)
return default;
return _dal.GetSignalRecord(monitorPointId, signalId, year, month);
}
#endregion
#endregion
#region Save
///
/// 保存
///
public bool Save(IEnumerable list)
{
if (list == null || list.Count() < 1)
return default;
return _dal.Save(list);
}
///
/// 保存
///
public bool Save(Model.MonitorDataSet rhs)
{
if (rhs == null)
return default;
if (rhs.PacketList == null || rhs.PacketList.Count < 1)
return default;
return _dal.Save(rhs);
}
///
/// 保存
///
public bool Save(long monitorPointId, long signalId, List signalRecords, int year, int month)
{
if (monitorPointId < 1)
return default;
if (signalId < 1)
return default;
if (signalRecords == null || signalRecords.Count < 1)
return default;
return _dal.Save(monitorPointId, signalId, signalRecords, year, month);
}
#endregion
///
/// 删除(临时)
///
public bool SetAbnormal(long monitorPointId, long signalId, IEnumerable dataTimeList, double err)
{
if (dataTimeList == null || dataTimeList.Count() < 1)
return false;
var dataSet = _dal.GetMonitorDataSet(monitorPointId);
if (dataSet == null || dataSet.Count < 1)
return false;
foreach (var data in dataSet)
{
var packet = data.PacketList?.Find(x => x.SignalID == signalId);
if (packet != null && packet.RecordList != null)
for (int i = 0; i < packet.RecordList.Count; i++)
{
var record = packet.RecordList[i];
if (dataTimeList.Contains(record.Time))
{
packet.RecordList[i] = new Model.SignalRecord(record.Time, err);
}
}
}
return _dal.Save(dataSet);
}
}
}