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