duheng
2024-12-04 ca1ccd0dd9f2d6936368f07d14a2b29b309fd151
Service/HStation.Service.Assets.Core/05-service/16-Meter/02-MeterMain/AssetsMeterMain.cs
@@ -3,73 +3,73 @@
namespace HStation.Service
{
    /// <summary>
    /// 水池
    ///</summary>
    public partial class AssetsMeterMain
    /// 水表
    ///</summary>
    public partial class AssetsMeterMain
    {
        #region Cache
        //获取缓存
        private static List<Model.AssetsMeterMain> GetCache()
        {
           var all = AssetsMeterMainCacheHelper.GetSet(() =>
           {
              var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
              var entity_list = dal.GetAll();
              var model_list = Entity2Models(entity_list);
              if (model_list == null)
              {
                 model_list = new List<Model.AssetsMeterMain>();
              }
              return model_list;
           }, Yw.Service.ConfigHelper.CacheKeepTime, Yw.Service.ConfigHelper.CacheRandomTime);
           return all;
            var all = AssetsMeterMainCacheHelper.GetSet(() =>
            {
                var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
                var entity_list = dal.GetAll();
                var model_list = Entity2Models(entity_list);
                if (model_list == null)
                {
                    model_list = new List<Model.AssetsMeterMain>();
                }
                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.IAssetsMeterMain>();
           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);
           }
           AssetsMeterMainCacheHelper.Trigger();
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            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);
            }
            AssetsMeterMainCacheHelper.Trigger();
        }
        //通过 Ids 更新缓存
        private static void UpdateCache(List<long> Ids)
        {
           if (Ids == null || Ids.Count < 1)
           {
              return;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           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);
           }
           AssetsMeterMainCacheHelper.Trigger();
            if (Ids == null || Ids.Count < 1)
            {
                return;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            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);
            }
            AssetsMeterMainCacheHelper.Trigger();
        }
        //移除缓存
        private static void RemoveCache(long ID)
        {
           var all = GetCache();
           all.RemoveAll(x => x.ID == ID);
           AssetsMeterMainCacheHelper.Trigger();
            var all = GetCache();
            all.RemoveAll(x => x.ID == ID);
            AssetsMeterMainCacheHelper.Trigger();
        }
        /// <summary>
@@ -77,10 +77,12 @@
        /// </summary>
        public static void PublishCache(string key)
        {
           AssetsMeterMainCacheHelper.Publish(key);
            AssetsMeterMainCacheHelper.Publish(key);
        }
        #endregion
        #endregion Cache
        #region Query
@@ -89,8 +91,8 @@
        /// </summary>
        public List<Model.AssetsMeterMain> GetAll()
        {
           var all = GetCache();
           return all.OrderBy(x => x.SortCode).ToList();
            var all = GetCache();
            return all.OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
@@ -98,8 +100,8 @@
        /// </summary>
        public Model.AssetsMeterMain 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,28 +109,28 @@
        /// </summary>
        public List<Model.AssetsMeterMain> GetByIds(List<long> Ids)
        {
           if (Ids == null || Ids.Count < 1)
           {
              return default;
           }
           var all = GetAll();
           return all.Where(x => Ids.Contains(x.ID)).OrderBy(x => x.SortCode).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();
        }
        /// <summary>
        /// 获取最大排序码
        /// </summary>
        public int GetMaxSortCode()
        {
            var list = GetAll();
            var list = GetAll();
            if (list == null || list.Count < 1)
            {
                return 0;
            }
            return list.Max(x => x.SortCode);
        }
        #endregion
        #endregion Query
        #region Insert
@@ -137,18 +139,18 @@
        /// </summary>
        public long Insert(Model.AssetsMeterMain model)
        {
           if (model == null)
           {
              return default;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           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.IAssetsMeterMain>();
            var entity = Model2Entity(model);
            var id = dal.Insert(entity);
            if (id > 0)
            {
                UpdateCache(id);
            }
            return id;
        }
        /// <summary>
@@ -156,22 +158,22 @@
        /// </summary>
        public bool Inserts(List<Model.AssetsMeterMain> list)
        {
           if (list == null || list.Count < 1)
           {
              return false;
            if (list == null || list.Count < 1)
            {
                return false;
            }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           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.IAssetsMeterMain>();
            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
@@ -180,18 +182,18 @@
        /// </summary>
        public bool Update(Model.AssetsMeterMain model)
        {
           if (model == null)
           {
              return false;
           }
           var entity = Model2Entity(model);
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           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.IAssetsMeterMain>();
            var bol = dal.Update(entity);
            if (bol)
            {
                UpdateCache(model.ID);
            }
            return bol;
        }
        /// <summary>
@@ -199,41 +201,40 @@
        /// </summary>
        public bool Updates(List<Model.AssetsMeterMain> 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.IAssetsMeterMain>();
           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.IAssetsMeterMain>();
            var bol = dal.Updates(entity_list);
            if (bol)
            {
                UpdateCache(list.Select(x => x.ID).ToList());
            }
            return bol;
        }
        /// <summary>
        /// 更新排序码
        /// </summary>
        public bool UpdateSortCode(long ID, int SortCode)
        {
           if (ID < 1)
           {
              return false;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           var bol = dal.UpdateSortCode(ID, SortCode);
           if (bol)
           {
              UpdateCache(ID);
           }
           return bol;
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            var bol = dal.UpdateSortCode(ID, SortCode);
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        /// <summary>
@@ -241,78 +242,80 @@
        /// </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<DAL.IAssetsMeterMain>();
           var bol = dal.UpdateSorter(sorters.ToEntityList());
           if (bol)
           {
              UpdateCache(sorters.Select(x => x.ID).ToList());
           }
           return bol;
            if (sorters == null || sorters.Count < 1)
            {
                return false;
            }
            if (sorters.Exists(x => x.ID < 1))
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            var bol = dal.UpdateSorter(sorters.ToEntityList());
            if (bol)
            {
                UpdateCache(sorters.Select(x => x.ID).ToList());
            }
            return bol;
        }
        /// <summary>
        /// 更新 Paras
        /// </summary>
        public bool UpdateParas(long ID, Dictionary<string, string> Paras)
        {
           if (ID < 1)
           {
              return false;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           var bol = dal.UpdateParas(ID, ParasHelper.ToString(Paras));
           if (bol)
           {
              UpdateCache(ID);
           }
           return bol;
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            var bol = dal.UpdateParas(ID, ParasHelper.ToString(Paras));
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        /// <summary>
        /// 更新 Flags
        /// </summary>
        public bool UpdateFlags(long ID, List<string> Flags)
        {
           if (ID < 1)
           {
              return false;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           var bol = dal.UpdateFlags(ID, FlagsHelper.ToString(Flags));
           if (bol)
           {
              UpdateCache(ID);
           }
           return bol;
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            var bol = dal.UpdateFlags(ID, FlagsHelper.ToString(Flags));
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        /// <summary>
        /// 更新 TagName
        /// </summary>
        public bool UpdateTagName(long ID, string TagName)
        {
           if (ID < 1)
           {
              return false;
           }
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           var bol = dal.UpdateTagName(ID, TagName);
           if (bol)
           {
              UpdateCache(ID);
           }
           return bol;
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            var bol = dal.UpdateTagName(ID, TagName);
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        #endregion
        #endregion Update
        #region Exist
@@ -321,12 +324,12 @@
        /// </summary>
        public bool IsExistTagName(string TagName)
        {
           if (string.IsNullOrEmpty(TagName))
           {
              return false;
           }
           var all = GetAll();
           return all.Exists(x => x.TagName == TagName);
            if (string.IsNullOrEmpty(TagName))
            {
                return false;
            }
            var all = GetAll();
            return all.Exists(x => x.TagName == TagName);
        }
        /// <summary>
@@ -334,15 +337,17 @@
        /// </summary>
        public bool IsExistTagNameExceptID(string TagName, long ExceptID)
        {
           if (string.IsNullOrEmpty(TagName))
           {
              return false;
           }
           var all = GetAll();
           return all.Exists(x => x.TagName == TagName && x.ID != ExceptID);
            if (string.IsNullOrEmpty(TagName))
            {
                return false;
            }
            var all = GetAll();
            return all.Exists(x => x.TagName == TagName && x.ID != ExceptID);
        }
        #endregion
        #endregion Exist
        #region Delete
@@ -351,18 +356,16 @@
        /// </summary>
        public bool DeleteByID(long ID, out string Msg)
        {
           Msg = string.Empty;
           var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
           var bol = dal.DeleteByID(ID);
           if (bol)
           {
              RemoveCache(ID);
           }
           return bol;
            Msg = string.Empty;
            var dal = DALCreateHelper.CreateDAL<DAL.IAssetsMeterMain>();
            var bol = dal.DeleteByID(ID);
            if (bol)
            {
                RemoveCache(ID);
            }
            return bol;
        }
        #endregion
        #endregion Delete
    }
}