Carrotware.CMS.Mvc.UI.Admin.Service.CMS.PublishChanges C# (CSharp) Метод

PublishChanges() приватный Метод

private PublishChanges ( string ThisPage ) : string
ThisPage string
Результат string
        public string PublishChanges(string ThisPage)
        {
            try {
                CurrentPageGuid = new Guid(ThisPage);
                LoadGuids();
                CurrentEditPage = filePage.FileName.ToLowerInvariant();

                bool bLock = pageHelper.IsPageLocked(CurrentPageGuid, SiteData.CurrentSite.SiteID, SecurityData.CurrentUserGuid);
                Guid guidUser = pageHelper.GetCurrentEditUser(CurrentPageGuid, SiteData.CurrentSite.SiteID);

                if (bLock || guidUser != SecurityData.CurrentUserGuid) {
                    return "Cannot publish changes, not current editing user.";
                }

                List<Widget> pageWidgets = widgetHelper.GetWidgets(CurrentPageGuid, true);

                if (cmsAdminContent != null) {
                    ContentPage oldContent = pageHelper.FindContentByID(SiteData.CurrentSiteID, CurrentPageGuid);

                    ContentPage newContent = cmsAdminContent;
                    newContent.ContentID = Guid.NewGuid();
                    newContent.NavOrder = oldContent.NavOrder;
                    newContent.Parent_ContentID = oldContent.Parent_ContentID;
                    newContent.EditUserId = SecurityData.CurrentUserGuid;
                    newContent.EditDate = SiteData.CurrentSite.Now;

                    foreach (var wd in cmsAdminWidget) {
                        wd.EditDate = SiteData.CurrentSite.Now;
                        wd.Save();
                    }

                    newContent.SavePageEdit();

                    if (newContent.ContentType == ContentPageType.PageType.BlogEntry) {
                        pageHelper.ResolveDuplicateBlogURLs(newContent.SiteID);
                    }

                    cmsAdminWidget = new List<Widget>();
                    cmsAdminContent = null;
                }

                GetSetUserEditStateAsEmpty();

                return "OK";
            } catch (Exception ex) {
                SiteData.WriteDebugException("webservice", ex);

                return ex.ToString();
            }
        }