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