using System.Collections.Generic;
|
using System.Data;
|
using System.IO;
|
using System.Linq;
|
|
namespace IStation.DAL
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class CurveAnalyze
|
{
|
#region Path
|
|
/// <summary>
|
/// 查询文件路径
|
/// </summary>
|
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
|
|
/// <summary>
|
/// 查询全部
|
/// </summary>
|
public List<Model.CurveAnalyze> GetAll(long monitorDataSourcesId)
|
{
|
var path = GetRootFolder(monitorDataSourcesId);
|
var all = FileIdHelper<Model.CurveAnalyze>.GetAll(path);
|
var models = all?.ToList();
|
return models;
|
}
|
|
/// <summary>
|
/// 根据 Id 查询
|
/// </summary>
|
public Model.CurveAnalyze 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);
|
}
|
|
/// <summary>
|
/// 根据 Id 集合查询
|
/// </summary>
|
public List<Model.CurveAnalyze> GetByIds(long monitorDataSourcesId, IEnumerable<long> 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;
|
}
|
|
/// <summary>
|
/// 根据 EquipmentID 查询
|
/// </summary>
|
public List<Model.CurveAnalyze> 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;
|
}
|
|
#endregion
|
|
#region Insert
|
|
/// <summary>
|
/// 插入
|
/// </summary>
|
public long Insert(long monitorDataSourcesId, Model.CurveAnalyze rhs)
|
{
|
if (rhs == null)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
return FileIdHelper<Model.CurveAnalyze>.Insert(path, rhs);
|
}
|
|
/// <summary>
|
/// 批量插入
|
/// </summary>
|
public bool Inserts(long monitorDataSourcesId, IEnumerable<Model.CurveAnalyze> list)
|
{
|
if (list == null || list.Count() < 1)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
return FileIdHelper<Model.CurveAnalyze>.Inserts(path, list);
|
}
|
|
/// <summary>
|
/// 插入并返回
|
/// </summary>
|
public Model.CurveAnalyze InsertR(long monitorDataSourcesId, Model.CurveAnalyze rhs)
|
{
|
if (rhs == null)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
var entities = FileIdHelper<Model.CurveAnalyze>.InsertR(path, rhs);
|
return entities;
|
}
|
|
/// <summary>
|
/// 批量插入并返回
|
/// </summary>
|
public List<Model.CurveAnalyze> InsertRs(long monitorDataSourcesId, IEnumerable<Model.CurveAnalyze> list)
|
{
|
if (list == null || list.Count() < 1)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
var models = FileIdHelper<Model.CurveAnalyze>.InsertRs(path, list);
|
return models;
|
}
|
|
#endregion
|
|
#region Update
|
|
/// <summary>
|
/// 更新
|
/// </summary>
|
public bool Update(long monitorDataSourcesId, Model.CurveAnalyze rhs)
|
{
|
if (rhs == null)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
return FileIdHelper<Model.CurveAnalyze>.Update(path, rhs);
|
}
|
|
/// <summary>
|
/// 批量更新
|
/// </summary>
|
public bool Updates(long monitorDataSourcesId, IEnumerable<Model.CurveAnalyze> list)
|
{
|
if (list == null || list.Count() < 1)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
return FileIdHelper<Model.CurveAnalyze>.Updates(path, list);
|
}
|
|
#endregion
|
|
#region Delete
|
|
/// <summary>
|
/// 根据 Id删除
|
/// </summary>
|
public bool DeleteByID(long monitorDataSourcesId, long Id)
|
{
|
if (Id < 0)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
var bol = FileIdHelper<Model.CurveAnalyze>.DeleteByID(path, Id);
|
if (bol)
|
{
|
new DAL.CurveAnalyzePacket().DeleteByCurveAnalyzeID(monitorDataSourcesId, Id);
|
}
|
return bol;
|
}
|
|
/// <summary>
|
/// 根据 Id集合删除
|
/// </summary>
|
public bool DeleteByIds(long monitorDataSourcesId, IEnumerable<long> Ids)
|
{
|
if (Ids == null || Ids.Count() < 1)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
var bol = FileIdHelper<Model.CurveAnalyze>.DeleteByIds(path, Ids);
|
return bol;
|
}
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
public bool Delete(long monitorDataSourcesId, Model.CurveAnalyze rhs)
|
{
|
if (rhs == null)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
var bol = FileIdHelper<Model.CurveAnalyze>.DeleteByID(path, rhs.ID);
|
return bol;
|
}
|
|
/// <summary>
|
/// 批量删除
|
/// </summary>
|
public bool Deletes(long monitorDataSourcesId, IEnumerable<Model.CurveAnalyze> list)
|
{
|
if (list == null || list.Count() < 1)
|
return default;
|
var path = GetRootFolder(monitorDataSourcesId);
|
var Ids = list.Select(x => x.ID).ToList();
|
var bol = FileIdHelper<Model.CurveAnalyze>.DeleteByIds(path, Ids);
|
return bol;
|
}
|
|
/// <summary>
|
/// 删除全部
|
/// </summary>
|
public bool DeleteAll(long monitorDataSourcesId)
|
{
|
var path = GetRootFolder(monitorDataSourcesId);
|
var bol = FileIdHelper<Model.CurveAnalyze>.DeleteAll(path);
|
return bol;
|
}
|
|
#endregion
|
|
#region Exist
|
|
/// <summary>
|
/// 是否存在文件
|
/// </summary>
|
public bool IsExist(long monitorDataSourcesId)
|
{
|
var path = GetRootFolder(monitorDataSourcesId);
|
return FileIdHelper<Model.CurveAnalyze>.IsExist(path);
|
}
|
|
|
/// <summary>
|
/// 是否存在对象
|
/// </summary>
|
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
|
|
|
/// <summary>
|
/// 清空
|
/// </summary>
|
public void Clear(long monitorDataSourcesId, long id)
|
{
|
if (id < 1)
|
return;
|
var folder = new DAL.CurveAnalyzePoint().GetCurveAnalyzePacketFolder(monitorDataSourcesId, id);
|
Directory.Delete(folder, true);
|
}
|
}
|
}
|