lixiaojun
2025-03-31 b0a694ccba71736f9092f30e45be94689ce92416
Service/HStation.Service.Assets.Core/05-service/06-PipeLine/02-PipeLineMain/AssetsPipeMain.cs
@@ -1,6 +1,4 @@
using HStation.Service.Assets;
namespace HStation.Service
namespace HStation.Service
{
    /// <summary>
    ///
@@ -12,9 +10,9 @@
        //获取缓存
        private static List<Model.AssetsPipeMain> GetCache()
        {
            var all = PipeLineMainCacheHelper.GetSet(() =>
            var all = AssetsPipeMainCacheHelper.GetSet(() =>
            {
                var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
                var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
                var entity_list = dal.GetAll();
                var model_list = Entity2Models(entity_list);
                if (model_list == null)
@@ -29,7 +27,7 @@
        //通过 ID 更新缓存
        private static void UpdateCache(long ID)
        {
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var entity_ds = dal.GetByID(ID);
            var model_ds = Entity2Model(entity_ds);
            var all = GetCache();
@@ -42,7 +40,7 @@
            {
                model.Reset(model_ds);
            }
            PipeLineMainCacheHelper.Trigger();
            AssetsPipeMainCacheHelper.Trigger();
        }
        //通过 Ids 更新缓存
@@ -52,7 +50,7 @@
            {
                return;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var entity_list = dal.GetByIds(Ids);
            var model_list = Entity2Models(entity_list);
            var all = GetCache();
@@ -61,7 +59,7 @@
            {
                all.AddRange(model_list);
            }
            PipeLineMainCacheHelper.Trigger();
            AssetsPipeMainCacheHelper.Trigger();
        }
        //移除缓存
@@ -69,7 +67,7 @@
        {
            var all = GetCache();
            all.RemoveAll(x => x.ID == ID);
            PipeLineMainCacheHelper.Trigger();
            AssetsPipeMainCacheHelper.Trigger();
        }
        /// <summary>
@@ -77,10 +75,12 @@
        /// </summary>
        public static void PublishCache(string key)
        {
            PipeLineMainCacheHelper.Publish(key);
            AssetsPipeMainCacheHelper.Publish(key);
        }
        #endregion Cache
        #region Query
@@ -90,7 +90,7 @@
        public List<Model.AssetsPipeMain> GetAll()
        {
            var all = GetCache();
            return all;
            return all.OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
@@ -112,28 +112,46 @@
                return default;
            }
            var all = GetAll();
            return all.Where(x => Ids.Contains(x.ID)).ToList();
            return all.Where(x => Ids.Contains(x.ID)).OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
        /// 通过 系列ID 获取
        /// 获取数量
        /// </summary>
        public List<Model.AssetsPipeMain> GetBySeriesID(long id)
        public int GetCount()
        {
            if (id < 1)
            var all = GetAll();
            return all.Count;
        }
        /// <summary>
        /// 通过 SeriesID 获取
        /// </summary>
        public List<Model.AssetsPipeMain> GetBySeriesID(long SeriesID)
        {
            var all = GetAll();
            return all.Where(x => x.SeriesID == SeriesID).OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
        /// 通过 SeriesIds 获取
        /// </summary>
        public List<Model.AssetsPipeMain> GetBySeriesIds(List<long> SeriesIds)
        {
            if (SeriesIds == null || SeriesIds.Count < 1)
            {
                return default;
            }
            var all = GetAll();
            return all.Where(x => x.SeriesID == id).ToList();
            return all.Where(x => SeriesIds.Contains(x.SeriesID)).OrderBy(x => x.SortCode).ToList();
        }
        /// <summary>
        /// 获取不同类型的排序码
        /// 获取最大排序码
        /// </summary>
        public int GetMaxSortCode()
        public int GetMaxSortCode(long SeriesID)
        {
            var all = GetAll();
            var all = GetBySeriesID(SeriesID);
            if (all == null || all.Count < 1)
            {
                return 0;
@@ -142,6 +160,8 @@
        }
        #endregion Query
        #region Insert
@@ -154,7 +174,7 @@
            {
                return default;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var entity = Model2Entity(model);
            var id = dal.Insert(entity);
            if (id > 0)
@@ -173,7 +193,7 @@
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var entity_list = Model2Entities(list);
            var ids = dal.InsertsR(entity_list);
            if (ids != null && ids.Count > 0)
@@ -185,6 +205,8 @@
        }
        #endregion Insert
        #region Update
@@ -198,7 +220,7 @@
                return false;
            }
            var entity = Model2Entity(model);
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var bol = dal.Update(entity);
            if (bol)
            {
@@ -221,7 +243,7 @@
                return false;
            }
            var entity_list = Model2Entities(list);
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var bol = dal.Updates(entity_list);
            if (bol)
            {
@@ -230,7 +252,144 @@
            return bol;
        }
        /// <summary>
        /// 更新排序码
        /// </summary>
        public bool UpdateSortCode(long ID, int SortCode)
        {
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            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.IAssetsPipeMain>();
            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<HStation.DAL.IAssetsPipeMain>();
            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<HStation.DAL.IAssetsPipeMain>();
            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<HStation.DAL.IAssetsPipeMain>();
            var bol = dal.UpdateTagName(ID, TagName);
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        #endregion Update
        #region Exist
        /// <summary>
        /// 判断 TagName 是否存在
        /// </summary>
        public bool IsExistTagName(string TagName)
        {
            if (string.IsNullOrEmpty(TagName))
            {
                return false;
            }
            var all = GetAll();
            return all.Exists(x => x.TagName == TagName);
        }
        /// <summary>
        /// 判断 TagName 是否存在 ExceptID
        /// </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);
        }
        /// <summary>
        /// 通过 SeriesID 判断是否存在
        /// </summary>
        public bool IsExistBySeriesID(long SeriesID)
        {
            var all = GetAll();
            return all.Exists(x => x.SeriesID == SeriesID);
        }
        #endregion Exist
        #region Delete
@@ -240,7 +399,7 @@
        public bool DeleteByID(long ID, out string Msg)
        {
            Msg = string.Empty;
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IPipeLineMain>();
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IAssetsPipeMain>();
            var bol = dal.DeleteByID(ID);
            if (bol)
            {