duheng
2025-01-22 d6111ca1fa9f70afc50c8213f81c9d78c14a6527
Service/HStation.Service.Xhs.Core/05-service/01-project/XhsProject.cs
@@ -114,6 +114,15 @@
        }
        /// <summary>
        /// 获取数量
        /// </summary>
        public int GetCount()
        {
            var all = GetAll();
            return all.Count;
        }
        /// <summary>
        /// 通过 ID 获取子级及自身
        /// </summary>
        public List<Model.XhsProject> GetChildAndSelfByID(long ID)
@@ -498,43 +507,6 @@
            return bol;
        }
        /// <summary>
        /// 更新 StartTime
        /// </summary>
        public bool UpdateStartTime(long ID, DateTime StartTime)
        {
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsProject>();
            var bol = dal.UpdateStartTime(ID, StartTime);
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        /// <summary>
        /// 更新 EndTime
        /// </summary>
        public bool UpdateEndTime(long ID, DateTime EndTime)
        {
            if (ID < 1)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsProject>();
            var bol = dal.UpdateEndTime(ID, EndTime);
            if (bol)
            {
                UpdateCache(ID);
            }
            return bol;
        }
        #endregion 
@@ -576,14 +548,10 @@
        public bool DeleteByID(long ID, out string Msg)
        {
            Msg = string.Empty;
            var serviceProjectSite = new HStation.Service.XhsProjectSite();
            if (serviceProjectSite.IsExistTable())
            if (new XhsProjectSite().IsExistByProjectID(ID))
            {
                if (serviceProjectSite.IsExistByProjectID(ID))
                {
                    Msg = "存在站点信息";
                    return false;
                }
                Msg = "存在站点信息";
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsProject>();
            var bol = dal.DeleteByID(ID);
@@ -594,143 +562,8 @@
            return bol;
        }
        /// <summary>
        /// 通过 ID 删除(同时删除 Site)
        /// </summary>
        public bool DeleteExByID(long ID, out string Msg)
        {
            Msg = string.Empty;
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsProject>();
            var bol = dal.DeleteExByID(ID);
            if (bol)
            {
                RemoveCache(ID);
                XhsProjectSite.RemoveCacheByProjectID(ID);
            }
            return bol;
        }
        #endregion
        #region Other
        /// <summary>
        /// 发布
        /// </summary>
        public bool Publish(long ID, out string Msg)
        {
            Msg = string.Empty;
            var model = GetByID(ID);
            if (model == null)
            {
                Msg = "项目不存在";
                return false;
            }
            var status = model.GetPublishStatus();
            switch (status)
            {
                case ePublishStatus.UnDesigned:
                    {
                        Msg = "项目未设计";
                    }
                    break;
                case ePublishStatus.UnPublished:
                    {
                    }
                    break;
                case ePublishStatus.Published:
                    {
                        Msg = "项目已发布";
                    }
                    break;
                case ePublishStatus.Deprecated:
                    {
                        Msg = "项目已弃用";
                    }
                    break;
                default: break;
            }
            if (status != ePublishStatus.UnPublished)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsProject>();
            var bol = dal.UpdateStartTime(ID, DateTime.Now);
            if (bol)
            {
                UpdateCache(ID);
            }
            else
            {
                Msg = "发布失败";
            }
            return bol;
        }
        /// <summary>
        /// 弃用
        /// </summary>
        public bool Deprecate(long ID, out string Msg)
        {
            Msg = string.Empty;
            var model = GetByID(ID);
            if (model == null)
            {
                Msg = "项目不存在";
                return false;
            }
            var status = model.GetPublishStatus();
            switch (status)
            {
                case ePublishStatus.UnDesigned:
                    {
                        Msg = "项目未设计";
                    }
                    break;
                case ePublishStatus.UnPublished:
                    {
                        Msg = "项目未发布";
                    }
                    break;
                case ePublishStatus.Published:
                    {
                    }
                    break;
                case ePublishStatus.Deprecated:
                    {
                        Msg = "项目已弃用";
                    }
                    break;
                default: break;
            }
            if (status != ePublishStatus.Published)
            {
                return false;
            }
            var dal = DALCreateHelper.CreateDAL<HStation.DAL.IXhsProject>();
            var bol = dal.UpdateEndTime(ID, DateTime.Now);
            if (bol)
            {
                UpdateCache(ID);
            }
            else
            {
                Msg = "弃用失败";
            }
            return bol;
        }
        #endregion
    }
}