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