namespace IStation.DAL { /// /// 测点映射 /// public class MonitorPointMapping : BaseDAL { /// /// /// public override string FileName { get { return FileHelper.GetFilePath(); } } /// /// 通过 MonitorPointID 获取 /// public List GetByMonitorPointID(long monitorPointId) { var all = GetAll(); var list = all?.Where(x => x.MonitorPointID == monitorPointId).ToList(); return list; } /// /// 通过 MappingType 和 MappingID 获取 /// public List GetByMappingTypeAndMappingID(string mappingType, long mappingId) { var all = GetAll(); var list = all?.Where(x => x.MappingType == mappingType && x.MappingID == mappingId).ToList(); return list; } /// /// 设置 /// public bool SetOfObject(string mappingType, long mappingId, List list) { if (list == null || list.Count() < 1) { return DeleteByMappingTypeAndMappingID(mappingType, mappingId); } var all = GetAll(); if (all == null) all = new List(); all.RemoveAll(x => x.MappingType == mappingType && x.MappingID == mappingId); list.ToList().ForEach(x => { if (x.ID < 1) x.ID = Yw.YitIdHelper.NextId(); }); all.AddRange(list); Covers(all); return true; } /// /// 通过 MonitorPointID 删除 /// public bool DeleteByMonitorPointID(long monitorPointId) { var all = GetAll(); if (all == null || all.Count < 1) return false; all.RemoveAll(x => x.MonitorPointID == monitorPointId); Covers(all); return true; } /// /// 通过 MappingType 和 MappingID 删除 /// public bool DeleteByMappingTypeAndMappingID(string mappingType, long mappingId) { var all = GetAll(); if (all == null || all.Count < 1) return false; all.RemoveAll(x => x.MappingType == mappingType && x.MappingID == mappingId); Covers(all); return true; } /// /// 通过 MappingType 和 MappingIds 删除 /// public bool DeleteByMappingTypeAndMappingIds(string mappingType, List mappingIds) { if (mappingIds == null || mappingIds.Count() < 1) return false; var all = GetAll(); if (all == null || all.Count < 1) return false; all.RemoveAll(x => x.MappingType == mappingType && mappingIds.Contains(x.MappingID)); Covers(all); return true; } } }