Carrotware.CMS.Core.BlogDatePathParser.ParseString C# (CSharp) Method

ParseString() private method

private ParseString ( ) : void
return void
        private void ParseString()
        {
            _filename = _filename.Replace(@"\", "/").Replace("//", "/").Replace("//", "/");
            string sFile = _filename.ToLowerInvariant().Replace(_site.BlogDateFolderPath, String.Empty);

            if (sFile.EndsWith(SiteData.SiteSearchPageName) ||
                    sFile.EndsWith(String.Format("{0}.aspx", SiteData.SiteSearchPageName))) {
                sFile = sFile.Substring(0, sFile.ToLowerInvariant().LastIndexOf("/"));
            }

            string[] parms = sFile.Split('/');
            if (parms.Length > 2 && !parms[2].StartsWith(SiteData.SiteSearchPageName)) {
                this.Day = int.Parse(parms[2]);
            }
            if (parms.Length > 1 && !parms[1].StartsWith(SiteData.SiteSearchPageName)) {
                this.Month = int.Parse(parms[1]);
            }
            if (parms.Length > 0 && !parms[0].StartsWith(SiteData.SiteSearchPageName)) {
                this.Year = int.Parse(parms[0]);
            }

            if (this.Month == null && this.Day == null) {
                _dateBegin = new DateTime(Convert.ToInt32(this.Year), 1, 1);
                _dateEnd = _dateBegin.AddYears(1).AddMilliseconds(-1);
            }
            if (this.Month != null && this.Day == null) {
                _dateBegin = new DateTime(Convert.ToInt32(this.Year), Convert.ToInt32(this.Month), 1);
                _dateEnd = _dateBegin.AddMonths(1).AddMilliseconds(-1);
            }
            if (this.Month != null && this.Day != null) {
                _dateBegin = new DateTime(Convert.ToInt32(this.Year), Convert.ToInt32(this.Month), Convert.ToInt32(this.Day));
                _dateEnd = _dateBegin.AddDays(1).AddMilliseconds(-1);
            }
        }