duheng
2024-12-27 1c3e5bc50d3045d51cb9a9f747d53442b82d9e2c
Service/HStation.Service.Assets.Core/05-service/18-Hydrant/03-HydrantCoefficient/AssetsHydrantCoefficient.cs
@@ -1,75 +1,81 @@
using Yw.Service;
namespace HStation.Service
namespace HStation.Service
{
    /// <summary>
    /// 消火栓系数
    ///</summary>
    public partial class AssetsHydrantCoefficient
    ///
    /// </summary>
    public partial class AssetsHydrantFactor
    {
        #region Cache
        //获取缓存
        private static List<Model.AssetsHydrantCoefficient> GetCache()
        private static List<Model.AssetsHydrantFactor> GetCache()
        {
           var all = AssetsHydrantCoefficientCacheHelper.GetSet(() =>
           {
              var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
              var entity_list = dal.GetAll();
              var model_list = Entity2Models(entity_list);
              if (model_list == null)
              {
                 model_list = new List<Model.AssetsHydrantCoefficient>();
              }
              return model_list;
           }, Yw.Service.ConfigHelper.CacheKeepTime, Yw.Service.ConfigHelper.CacheRandomTime);
           return all;
            var all = AssetsHydrantFactorCacheHelper.GetSet(() =>
            {
                var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
                var entity_list = dal.GetAll();
                var model_list = Entity2Models(entity_list);
                if (model_list == null)
                {
                    model_list = new List<Model.AssetsHydrantFactor>();
                }
                return model_list;
            }, Yw.Service.ConfigHelper.CacheKeepTime, Yw.Service.ConfigHelper.CacheRandomTime);
            return all;
        }
        //通过 ID 更新缓存
        private static void UpdateCache(long ID)
        {
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var entity_ds = dal.GetByID(ID);
           var model_ds = Entity2Model(entity_ds);
           var all = GetCache();
           var model = all.Find(x => x.ID == ID);
           if (model == null)
           {
              all.Add(model_ds);
           }
           else
           {
              model.Reset(model_ds);
           }
           AssetsHydrantCoefficientCacheHelper.Trigger();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var entity_ds = dal.GetByID(ID);
            var model_ds = Entity2Model(entity_ds);
            var all = GetCache();
            var model = all.Find(x => x.ID == ID);
            if (model == null)
            {
                all.Add(model_ds);
            }
            else
            {
                model.Reset(model_ds);
            }
            AssetsHydrantFactorCacheHelper.Trigger();
        }
        //通过 Ids 更新缓存
        private static void UpdateCache(List<long> Ids)
        {
           if (Ids == null || Ids.Count < 1)
           {
              return;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var entity_list = dal.GetByIds(Ids);
           var model_list = Entity2Models(entity_list);
           var all = GetCache();
           all.RemoveAll(x => Ids.Contains(x.ID));
           if (model_list != null && model_list.Count > 0)
           {
              all.AddRange(model_list);
           }
           AssetsHydrantCoefficientCacheHelper.Trigger();
            if (Ids == null || Ids.Count < 1)
            {
                return;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var entity_list = dal.GetByIds(Ids);
            var model_list = Entity2Models(entity_list);
            var all = GetCache();
            all.RemoveAll(x => Ids.Contains(x.ID));
            if (model_list != null && model_list.Count > 0)
            {
                all.AddRange(model_list);
            }
            AssetsHydrantFactorCacheHelper.Trigger();
        }
        //移除缓存
        private static void RemoveCache(long ID)
        {
           var all = GetCache();
           all.RemoveAll(x => x.ID == ID);
           AssetsHydrantCoefficientCacheHelper.Trigger();
            var all = GetCache();
            all.RemoveAll(x => x.ID == ID);
            AssetsHydrantFactorCacheHelper.Trigger();
        }
        //移除所有缓存
        private static void RemoveAllCache()
        {
            var all = GetCache();
            all.Clear();
            AssetsHydrantFactorCacheHelper.Trigger();
        }
        /// <summary>
@@ -77,135 +83,187 @@
        /// </summary>
        public static void PublishCache(string key)
        {
           AssetsHydrantCoefficientCacheHelper.Publish(key);
            AssetsHydrantFactorCacheHelper.Publish(key);
        }
        #endregion
        #endregion Cache
        #region Query
        /// <summary>
        /// 获取所有
        /// </summary>
        public List<Model.AssetsHydrantCoefficient> GetAll()
        public List<Model.AssetsHydrantFactor> GetAll()
        {
           var all = GetCache();
           return all.ToList();
            var all = GetCache();
            return all?.OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
        /// 通过 ID 获取
        /// </summary>
        public Model.AssetsHydrantCoefficient GetByID(long ID)
        public Model.AssetsHydrantFactor GetByID(long ID)
        {
           var all = GetAll();
           return all.Find(x => x.ID == ID);
            var all = GetAll();
            return all.Find(x => x.ID == ID);
        }
        /// <summary>
        /// 通过 ID 获取
        /// </summary>
        public List<Model.AssetsHydrantCoefficient> GetByIds(List<long> Ids)
        public List<Model.AssetsHydrantFactor> GetByIds(List<long> Ids)
        {
           if (Ids == null || Ids.Count < 1)
           {
              return default;
           }
           var all = GetAll();
           return all.Where(x => Ids.Contains(x.ID)).ToList();
            if (Ids == null || Ids.Count < 1)
            {
                return default;
            }
            var all = GetAll();
            return all.Where(x => Ids.Contains(x.ID))?.OrderBy(x => x.SortCode).ToList();
        }
        #endregion
        /// <summary>
        /// 获取最大排序码
        /// </summary>
        public int GetMaxSortCode()
        {
            var all = GetAll();
            if (all == null || all.Count < 1)
            {
                return 0;
            }
            return all.Max(x => x.SortCode);
        }
        #endregion Query
        #region Insert
        /// <summary>
        /// 插入一条数据
        /// </summary>
        public long Insert(Model.AssetsHydrantCoefficient model)
        public long Insert(Model.AssetsHydrantFactor model)
        {
           if (model == null)
           {
              return default;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var entity = Model2Entity(model);
           var id = dal.Insert(entity);
           if (id > 0)
           {
              UpdateCache(id);
           }
           return id;
            if (model == null)
            {
                return default;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var entity = Model2Entity(model);
            var id = dal.Insert(entity);
            if (id > 0)
            {
                UpdateCache(id);
            }
            return id;
        }
        /// <summary>
        /// 插入多条
        /// </summary>
        public bool Inserts(List<Model.AssetsHydrantCoefficient> list)
        public bool Inserts(List<Model.AssetsHydrantFactor> list)
        {
           if (list == null || list.Count < 1)
           {
              return false;
            if (list == null || list.Count < 1)
            {
                return false;
            }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var entity_list = Model2Entities(list);
           var ids = dal.InsertsR(entity_list);
           if (ids != null && ids.Count > 0)
           {
              UpdateCache(ids);
              return true;
           }
           return false;
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var entity_list = Model2Entities(list);
            var ids = dal.InsertsR(entity_list);
            if (ids != null && ids.Count > 0)
            {
                UpdateCache(ids);
                return true;
            }
            return false;
        }
        #endregion
        #endregion Insert
        #region Update
        /// <summary>
        /// 更新一条
        /// </summary>
        public bool Update(Model.AssetsHydrantCoefficient model)
        public bool Update(Model.AssetsHydrantFactor model)
        {
           if (model == null)
           {
              return false;
           }
           var entity = Model2Entity(model);
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var bol = dal.Update(entity);
           if (bol)
           {
              UpdateCache(model.ID);
           }
           return bol;
            if (model == null)
            {
                return false;
            }
            var entity = Model2Entity(model);
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var bol = dal.Update(entity);
            if (bol)
            {
                UpdateCache(model.ID);
            }
            return bol;
        }
        /// <summary>
        /// 批量更新
        /// </summary>
        public bool Updates(List<Model.AssetsHydrantCoefficient> list)
        public bool Updates(List<Model.AssetsHydrantFactor> list)
        {
           if (list == null || list.Count < 1)
           {
              return false;
           }
           if (list.Exists(x => x.ID < 1))
           {
              return false;
           }
           var entity_list = Model2Entities(list);
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var bol = dal.Updates(entity_list);
           if (bol)
           {
              UpdateCache(list.Select(x => x.ID).ToList());
           }
           return bol;
            if (list == null || list.Count < 1)
            {
                return false;
            }
            if (list.Exists(x => x.ID < 1))
            {
                return false;
            }
            var entity_list = Model2Entities(list);
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var bol = dal.Updates(entity_list);
            if (bol)
            {
                UpdateCache(list.Select(x => x.ID).ToList());
            }
            return bol;
        }
        #endregion
        /// <summary>
        /// 更新排序码
        /// </summary>
        public bool UpdateSortCode(long ID, int SortCode)
        {
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var bol = dal.UpdateSortCode(ID, SortCode);
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        /// <summary>
        /// 更新排序
        /// </summary>
        public bool UpdateSorter(List<Yw.Model.Sorter> sorters)
        {
            if (sorters == null || sorters.Count < 1)
            {
                return false;
            }
            if (sorters.Exists(x => x.ID < 1))
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var bol = dal.UpdateSorter(sorters.ToEntityList());
            if (bol)
            {
                UpdateCache(sorters.Select(x => x.ID).ToList());
            }
            return bol;
        }
        #endregion Update
        #region Delete
@@ -214,18 +272,16 @@
        /// </summary>
        public bool DeleteByID(long ID, out string Msg)
        {
           Msg = string.Empty;
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsHydrantCoefficient>();
           var bol = dal.DeleteByID(ID);
           if (bol)
           {
              RemoveCache(ID);
           }
           return bol;
            Msg = string.Empty;
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsHydrantFactor>();
            var bol = dal.DeleteByID(ID);
            if (bol)
            {
                RemoveCache(ID);
            }
            return bol;
        }
        #endregion
        #endregion Delete
    }
}