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

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

private GenerateNewFilename ( string ThePageTitle, string GoLiveDate, string PageID, string Mode ) : string
ThePageTitle string
GoLiveDate string
PageID string
Mode string
Результат string
        public string GenerateNewFilename(string ThePageTitle, string GoLiveDate, string PageID, string Mode)
        {
            try {
                CurrentPageGuid = new Guid(PageID);

                DateTime goLiveDate = Convert.ToDateTime(GoLiveDate);
                string sThePageTitle = CMSConfigHelper.DecodeBase64(ThePageTitle);
                if (String.IsNullOrEmpty(sThePageTitle)) {
                    sThePageTitle = CurrentPageGuid.ToString();
                }
                sThePageTitle = sThePageTitle.Replace("/", "-");
                string sTheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, sThePageTitle);

                if (Mode.ToLowerInvariant() == "page") {
                    string sTestRes = ValidateUniqueFilename(CMSConfigHelper.EncodeBase64(sTheFileName), PageID);
                    if (sTestRes != "OK") {
                        for (int i = 1; i < 1000; i++) {
                            string sTestFile = sThePageTitle + "-" + i.ToString();
                            sTestRes = ValidateUniqueFilename(CMSConfigHelper.EncodeBase64(sTestFile), PageID);
                            if (sTestRes == "OK") {
                                sTheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, sTestFile);
                                break;
                            } else {
                                sTheFileName = String.Empty;
                            }
                        }
                    }
                } else {
                    string sTestRes = ValidateUniqueBlogFilename(CMSConfigHelper.EncodeBase64(sTheFileName), GoLiveDate, PageID);
                    if (sTestRes != "OK") {
                        for (int i = 1; i < 1000; i++) {
                            string sTestFile = sThePageTitle + "-" + i.ToString();
                            sTestRes = ValidateUniqueBlogFilename(CMSConfigHelper.EncodeBase64(sTestFile), GoLiveDate, PageID);
                            if (sTestRes == "OK") {
                                sTheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, sTestFile);
                                break;
                            } else {
                                sTheFileName = String.Empty;
                            }
                        }
                    }
                }

                return ContentPageHelper.ScrubFilename(CurrentPageGuid, sTheFileName).ToLowerInvariant();
            } catch (Exception ex) {
                SiteData.WriteDebugException("webservice", ex);
                return "FAIL";
            }
        }