Carrotware.CMS.Core.ContentPage.IsUniqueFilename C# (CSharp) Метод

IsUniqueFilename() публичный Метод

public IsUniqueFilename ( ) : bool
Результат bool
        public bool IsUniqueFilename()
        {
            string theFileName = this.FileName;

            theFileName = ContentPageHelper.ScrubFilename(this.Root_ContentID, theFileName);

            theFileName = theFileName.ToLowerInvariant();

            if (SiteData.IsPageSpecial(theFileName) || SiteData.IsLikelyHomePage(theFileName)) {
                return false;
            }

            if (SiteData.CurrentSite.GetSpecialFilePathPrefixes().Where(x => theFileName.StartsWith(x.ToLowerInvariant())).Count() > 0
                || theFileName.StartsWith(SiteData.CurrentSite.BlogFolderPath.ToLowerInvariant())) {
                return false;
            }

            using (ContentPageHelper pageHelper = new ContentPageHelper()) {
                ContentPage fn = pageHelper.FindByFilename(SiteData.CurrentSite.SiteID, theFileName);

                ContentPage cp = pageHelper.FindContentByID(SiteData.CurrentSite.SiteID, this.Root_ContentID);

                if (cp == null && this.Root_ContentID != Guid.Empty) {
                    cp = pageHelper.GetVersion(SiteData.CurrentSite.SiteID, this.Root_ContentID);
                }

                if (fn == null || (fn != null && cp != null && fn.Root_ContentID == cp.Root_ContentID)) {
                    return true;
                }
            }

            return false;
        }