using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; namespace IStation.DAL { /// /// /// public class CurveAnalyzePacket { #region Path /// /// 查询文件路径 /// public string GetRootFolder(long monitorDataSourcesId) { var monitorDataSourcesFolder = FileHelper.GetMonitorDataSourcesFolder(Settings.Project.ID, monitorDataSourcesId); if (!Directory.Exists(monitorDataSourcesFolder)) Directory.CreateDirectory(monitorDataSourcesFolder); var monitorDataSetFolder = Path.Combine(monitorDataSourcesFolder, Settings.File.CurveAnalyzeDataFolder); if (!Directory.Exists(monitorDataSetFolder)) Directory.CreateDirectory(monitorDataSetFolder); return monitorDataSetFolder; } #endregion #region Get /// /// 查询全部 /// public List GetAll(long monitorDataSourcesId) { var path = GetRootFolder(monitorDataSourcesId); var all = FileIdHelper.GetAll(path); var models = all?.ToList(); return models; } /// /// 根据 Id 查询 /// public Model.CurveAnalyzePacket GetByID(long monitorDataSourcesId, long Id) { if (Id < 1) return default; var all = GetAll(monitorDataSourcesId); var models = all?.ToList(); return models?.Find(t => t.ID == Id); } /// /// 根据 Id 集合查询 /// public List GetByIds(long monitorDataSourcesId, IEnumerable Ids) { if (Ids == null || Ids.Count() < 1) return default; var all = GetAll(monitorDataSourcesId); var models = all?.Where(x => Ids.Contains(x.ID)).ToList(); return models; } /// /// 根据 EquipmentID 查询 /// public List GetByEquipmentID(long monitorDataSourcesId, long stationId, long equipmentId) { if (stationId < 1) return default; if (equipmentId < 1) return default; var all = GetAll(monitorDataSourcesId); var models = all?.Where(x => x.StationID == stationId && x.EquipmentID == equipmentId).ToList(); return models; } /// /// 根据 CurveAnalyzeID 查询 /// public List GetByCurveAnalyzeID(long monitorDataSourcesId, long curveAnalyzeId) { if (curveAnalyzeId < 1) return default; var all = GetAll(monitorDataSourcesId); var models = all?.Where(x => x.CurveAnalyzeID == curveAnalyzeId).ToList(); return models; } /// /// 根据 CurveAnalyzeIds 查询 /// public List GetByCurveAnalyzeIds(long monitorDataSourcesId, List curveAnalyzeIds) { if (curveAnalyzeIds == null || curveAnalyzeIds.Count < 1) return default; var all = GetAll(monitorDataSourcesId); var models = all?.Where(x => curveAnalyzeIds.Contains(x.CurveAnalyzeID)).ToList(); return models; } #endregion #region Insert /// /// 插入 /// public long Insert(long monitorDataSourcesId, Model.CurveAnalyzePacket rhs) { if (rhs == null) return default; var path = GetRootFolder(monitorDataSourcesId); return FileIdHelper.Insert(path, rhs); } /// /// 批量插入 /// public bool Inserts(long monitorDataSourcesId, IEnumerable list) { if (list == null || list.Count() < 1) return default; var path = GetRootFolder(monitorDataSourcesId); return FileIdHelper.Inserts(path, list); } /// /// 插入并返回 /// public Model.CurveAnalyzePacket InsertR(long monitorDataSourcesId, Model.CurveAnalyzePacket rhs) { if (rhs == null) return default; var path = GetRootFolder(monitorDataSourcesId); var entities = FileIdHelper.InsertR(path, rhs); return entities; } /// /// 批量插入并返回 /// public List InsertRs(long monitorDataSourcesId, IEnumerable list) { if (list == null || list.Count() < 1) return default; var path = GetRootFolder(monitorDataSourcesId); var models = FileIdHelper.InsertRs(path, list); return models; } #endregion #region Update /// /// 更新 /// public bool Update(long monitorDataSourcesId, Model.CurveAnalyzePacket rhs) { if (rhs == null) return default; var path = GetRootFolder(monitorDataSourcesId); return FileIdHelper.Update(path, rhs); } /// /// 批量更新 /// public bool Updates(long monitorDataSourcesId, IEnumerable list) { if (list == null || list.Count() < 1) return default; var path = GetRootFolder(monitorDataSourcesId); return FileIdHelper.Updates(path, list); } #endregion #region Delete /// /// 根据 Id删除 /// public bool DeleteByID(long monitorDataSourcesId, long Id) { if (Id < 0) return default; var path = GetRootFolder(monitorDataSourcesId); var bol = FileIdHelper.DeleteByID(path, Id); return bol; } /// /// 根据 Id删除 /// public bool DeleteByCurveAnalyzeID(long monitorDataSourcesId, long curveAnalyzeId) { if (curveAnalyzeId < 0) return default; var list = GetByCurveAnalyzeID(monitorDataSourcesId, curveAnalyzeId); if (list == null || !list.Any()) return true; var ids = list.Select(x => x.ID).ToList(); var path = GetRootFolder(monitorDataSourcesId); var bol = FileIdHelper.DeleteByIds(path, ids); return bol; } /// /// 根据 CurveAnalyzeIds 删除 /// public bool DeleteByCurveAnalyzeIds(long monitorDataSourcesId, List curveAnalyzeIds) { if (curveAnalyzeIds == null || curveAnalyzeIds.Count < 0) return default; var list = GetByCurveAnalyzeIds(monitorDataSourcesId, curveAnalyzeIds); if (list == null || !list.Any()) return true; var ids = list.Select(x => x.ID).ToList(); var path = GetRootFolder(monitorDataSourcesId); var bol = FileIdHelper.DeleteByIds(path, ids); return bol; } /// /// 根据 Id集合删除 /// public bool DeleteByIds(long monitorDataSourcesId, IEnumerable Ids) { if (Ids == null || Ids.Count() < 1) return default; var path = GetRootFolder(monitorDataSourcesId); var bol = FileIdHelper.DeleteByIds(path, Ids); return bol; } /// /// 删除 /// public bool Delete(long monitorDataSourcesId, Model.CurveAnalyzePacket rhs) { if (rhs == null) return default; var path = GetRootFolder(monitorDataSourcesId); var bol = FileIdHelper.DeleteByID(path, rhs.ID); return bol; } /// /// 批量删除 /// public bool Deletes(long monitorDataSourcesId, IEnumerable list) { if (list == null || list.Count() < 1) return default; var path = GetRootFolder(monitorDataSourcesId); var Ids = list.Select(x => x.ID).ToList(); var bol = FileIdHelper.DeleteByIds(path, Ids); return bol; } /// /// 删除全部 /// public bool DeleteAll(long monitorDataSourcesId) { var path = GetRootFolder(monitorDataSourcesId); var bol = FileIdHelper.DeleteAll(path); return bol; } #endregion #region Exist /// /// 是否存在文件 /// public bool IsExist(long monitorDataSourcesId) { var path = GetRootFolder(monitorDataSourcesId); return FileIdHelper.IsExist(path); } /// /// 是否存在对象 /// public bool ExistByCurveAnalyzeID(long monitorDataSourcesId, long curveAnalyzeId) { if (curveAnalyzeId < 1) return default; var list = GetAll(monitorDataSourcesId); if (list == null || list.Count < 1) return default; return list.Exists(x => x.CurveAnalyzeID == curveAnalyzeId); } /// /// 是否存在对象 /// public bool Exist(long monitorDataSourcesId, long id) { if (id < 1) return default; var list = GetAll(monitorDataSourcesId); if (list == null || list.Count < 1) return default; return list.Exists(x => x.ID == id); } #endregion } }