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);
}
}