duheng
2024-12-04 ca1ccd0dd9f2d6936368f07d14a2b29b309fd151
Service/HStation.Service.Assets.Core/05-service/16-Meter/03-MeterCoefficient/AssetsMeterCoefficient.cs
@@ -3,73 +3,73 @@
namespace HStation.Service
{
    /// <summary>
    /// 水池系数
    ///</summary>
    public partial class AssetsMeterCoefficient
    /// 水表系数
    ///</summary>
    public partial class AssetsMeterCoefficient
    {
        #region Cache
        //获取缓存
        private static List<Model.AssetsMeterCoefficient> GetCache()
        {
           var all = AssetsMeterCoefficientCacheHelper.GetSet(() =>
           {
              var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
              var entity_list = dal.GetAll();
              var model_list = Entity2Models(entity_list);
              if (model_list == null)
              {
                 model_list = new List<Model.AssetsMeterCoefficient>();
              }
              return model_list;
           }, Yw.Service.ConfigHelper.CacheKeepTime, Yw.Service.ConfigHelper.CacheRandomTime);
           return all;
            var all = AssetsMeterCoefficientCacheHelper.GetSet(() =>
            {
                var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
                var entity_list = dal.GetAll();
                var model_list = Entity2Models(entity_list);
                if (model_list == null)
                {
                    model_list = new List<Model.AssetsMeterCoefficient>();
                }
                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.IAssetsMeterCoefficient>();
           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);
           }
           AssetsMeterCoefficientCacheHelper.Trigger();
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
            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);
            }
            AssetsMeterCoefficientCacheHelper.Trigger();
        }
        //通过 Ids 更新缓存
        private static void UpdateCache(List<long> Ids)
        {
           if (Ids == null || Ids.Count < 1)
           {
              return;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
           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);
           }
           AssetsMeterCoefficientCacheHelper.Trigger();
            if (Ids == null || Ids.Count < 1)
            {
                return;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
            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);
            }
            AssetsMeterCoefficientCacheHelper.Trigger();
        }
        //移除缓存
        private static void RemoveCache(long ID)
        {
           var all = GetCache();
           all.RemoveAll(x => x.ID == ID);
           AssetsMeterCoefficientCacheHelper.Trigger();
            var all = GetCache();
            all.RemoveAll(x => x.ID == ID);
            AssetsMeterCoefficientCacheHelper.Trigger();
        }
        /// <summary>
@@ -77,10 +77,18 @@
        /// </summary>
        public static void PublishCache(string key)
        {
           AssetsMeterCoefficientCacheHelper.Publish(key);
            AssetsMeterCoefficientCacheHelper.Publish(key);
        }
        #endregion
        //移除所有缓存
        private static void RemoveAllCache()
        {
            var all = GetCache();
            all.Clear();
            AssetsMeterCoefficientCacheHelper.Trigger();
        }
        #endregion Cache
        #region Query
@@ -89,8 +97,8 @@
        /// </summary>
        public List<Model.AssetsMeterCoefficient> GetAll()
        {
           var all = GetCache();
           return all.ToList();
            var all = GetCache();
            return all.ToList();
        }
        /// <summary>
@@ -98,8 +106,8 @@
        /// </summary>
        public Model.AssetsMeterCoefficient GetByID(long ID)
        {
           var all = GetAll();
           return all.Find(x => x.ID == ID);
            var all = GetAll();
            return all.Find(x => x.ID == ID);
        }
        /// <summary>
@@ -107,15 +115,15 @@
        /// </summary>
        public List<Model.AssetsMeterCoefficient> 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)).ToList();
        }
        #endregion
        #endregion Query
        #region Insert
@@ -124,18 +132,18 @@
        /// </summary>
        public long Insert(Model.AssetsMeterCoefficient model)
        {
           if (model == null)
           {
              return default;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
           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<DAL.IAssetsMeterCoefficient>();
            var entity = Model2Entity(model);
            var id = dal.Insert(entity);
            if (id > 0)
            {
                UpdateCache(id);
            }
            return id;
        }
        /// <summary>
@@ -143,22 +151,22 @@
        /// </summary>
        public bool Inserts(List<Model.AssetsMeterCoefficient> list)
        {
           if (list == null || list.Count < 1)
           {
              return false;
            if (list == null || list.Count < 1)
            {
                return false;
            }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
           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<DAL.IAssetsMeterCoefficient>();
            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
@@ -167,18 +175,18 @@
        /// </summary>
        public bool Update(Model.AssetsMeterCoefficient model)
        {
           if (model == null)
           {
              return false;
           }
           var entity = Model2Entity(model);
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
           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<DAL.IAssetsMeterCoefficient>();
            var bol = dal.Update(entity);
            if (bol)
            {
                UpdateCache(model.ID);
            }
            return bol;
        }
        /// <summary>
@@ -186,26 +194,25 @@
        /// </summary>
        public bool Updates(List<Model.AssetsMeterCoefficient> 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.IAssetsMeterCoefficient>();
           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<DAL.IAssetsMeterCoefficient>();
            var bol = dal.Updates(entity_list);
            if (bol)
            {
                UpdateCache(list.Select(x => x.ID).ToList());
            }
            return bol;
        }
        #endregion
        #endregion Update
        #region Delete
@@ -214,18 +221,30 @@
        /// </summary>
        public bool DeleteByID(long ID, out string Msg)
        {
           Msg = string.Empty;
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
           var bol = dal.DeleteByID(ID);
           if (bol)
           {
              RemoveCache(ID);
           }
           return bol;
            Msg = string.Empty;
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterCoefficient>();
            var bol = dal.DeleteByID(ID);
            if (bol)
            {
                RemoveCache(ID);
            }
            return bol;
        }
        #endregion
        /// <summary>
        /// 删除全部
        /// </summary>
        public bool DeleteAll()
        {
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsMeterCoefficient>();
            var bol = dal.DeleteAll();
            if (bol)
            {
                RemoveAllCache();
            }
            return bol;
        }
        #endregion Delete
    }
}