using System; using System.Text; using System.Collections.Generic; using System.Data; using System.Runtime.Serialization; using System.Linq; namespace IStation.DAL.LocalFile { /// /// 业务类别 /// public class LogicCatalog : IDAL.ILogicCatalog { #region Path /// /// 查询文件路径 /// private string GetFolderPath(long projectId) { return FileHelper.GetProjectPath(projectId); } #endregion #region Get /// /// 查询全部 /// public List GetAll(long projectId) { if (projectId < 1) return default; var path = GetFolderPath(projectId); var all = FileIdHelper.GetAll(path); var entities = all?.OrderBy(x => x.SortCode).ToList(); return entities; } /// /// 根据 Id查询 /// public Entity.LogicCatalog GetById(long projectId, long Id) { if (projectId < 1) return default; if (Id < 0) return default; var all = GetAll(projectId); var entities = all?.ToList(); return entities?.Find(t => t.Id == Id); } /// /// 根据 Id集合查询 /// public List GetByIds(long projectId, IEnumerable Ids) { if (projectId < 1) return default; if (Ids == null || Ids.Count() < 1) return default; var all = GetAll(projectId); var entities = all?.Where(x => Ids.Contains(x.Id)).ToList(); return entities; } #endregion #region Insert /// /// 插入 /// public long Insert(long projectId, Entity.LogicCatalog rhs) { if (projectId < 1) return default; if (rhs == null) return default; var path = GetFolderPath(projectId); return FileIdHelper.Insert(path, rhs); } /// /// 批量插入 /// public bool Inserts(long projectId, IEnumerable list) { if (projectId < 1) return default; if (list == null || list.Count() < 1) return default; var path = GetFolderPath(projectId); return FileIdHelper.Inserts(path, list); } /// /// 插入并返回 /// public Entity.LogicCatalog InsertR(long projectId, Entity.LogicCatalog rhs) { if (projectId < 1) return default; if (rhs == null) return default; var path = GetFolderPath(projectId); var entities = FileIdHelper.InsertR(path, rhs); return entities; } /// /// 批量插入并返回 /// public List InsertsR(long projectId, IEnumerable list) { if (projectId < 1) return default; if (list == null || list.Count() < 1) return default; var path = GetFolderPath(projectId); var entities = FileIdHelper.InsertRs(path, list); return entities?.Select(x => x.Id).ToList(); } #endregion #region Update /// /// 更新 /// public bool Update(long projectId, Entity.LogicCatalog rhs) { if (projectId < 1) return default; if (rhs == null) return default; var path = GetFolderPath(projectId); return FileIdHelper.Update(path, rhs); } /// /// 批量更新 /// public bool Updates(long projectId, IEnumerable list) { if (projectId < 1) return default; if (list == null || list.Count() < 1) return default; var path = GetFolderPath(projectId); return FileIdHelper.Updates(path, list); } #endregion #region Delete /// /// 根据 Id删除 /// public bool DeleteById(long projectId, long Id) { if (projectId < 1) return default; if (Id < 0) return default; var path = GetFolderPath(projectId); var bol = FileIdHelper.DeleteById(path, Id); return bol; } /// /// 根据 Id集合删除 /// public bool DeleteByIds(long projectId, IEnumerable Ids) { if (projectId < 1) return default; if (Ids == null || Ids.Count() < 1) return default; var path = GetFolderPath(projectId); var bol = FileIdHelper.DeleteByIds(path, Ids); return bol; } /// /// 删除 /// public bool Delete(long projectId, Entity.LogicCatalog rhs) { if (projectId < 1) return default; if (rhs == null) return default; var path = GetFolderPath(projectId); var bol = FileIdHelper.DeleteById(path, rhs.Id); return bol; } /// /// 批量删除 /// public bool Deletes(long projectId, IEnumerable list) { if (projectId < 1) return default; if (list == null || list.Count() < 1) return default; var path = GetFolderPath(projectId); var Ids = list.Select(x => x.Id).ToList(); var bol = FileIdHelper.DeleteByIds(path, Ids); return bol; } /// /// 删除全部 /// public bool DeleteAll(long projectId) { if (projectId < 1) return default; var path = GetFolderPath(projectId); var bol = FileIdHelper.DeleteAll(path); return bol; } #endregion #region Cover /// /// 批量覆盖 /// public bool Covers(long projectId, IEnumerable list) { if (projectId < 1) return default; if (list == null || list.Count() < 1) return default; var path = GetFolderPath(projectId); return FileIdHelper.Covers(path, list); } /// /// 批量覆盖并返回 /// public List CoversR(long projectId, IEnumerable list) { if (projectId < 1) return default; if (list == null || list.Count() < 1) return default; var path = GetFolderPath(projectId); return FileIdHelper.CoversR(path, list); } #endregion } }