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