Exemplo n.º 1
0
 public void VerifyContains()
 {
     Entry entry1, entry2;
     entry1 = BlogDataService.GetEntry("ebd3060-b3b0-4ab1-baea-cd12ae34a575");
     EntryCollection entries = new EntryCollection();
     entries.Add(entry1);
     Assert.IsTrue(entries.Contains(entry1), "Unexpectedly the entry did not exist.");
     entry2 = BlogDataService.GetEntry("ebd3060-b3b0-4ab1-baea-cd12ae34a575");
     // The entries returned are identical (ReferenceEquals)
     Assert.AreSame(entry1, entry2, "Unexpectedly and entirely different entry instance was returned.");
     Assert.IsTrue(entries.Contains(entry2), "Unexpectedly the entry did not exist.");
 }
        public void VerifyContains()
        {
            Entry entry1, entry2;

            entry1 = BlogDataService.GetEntry("ebd3060-b3b0-4ab1-baea-cd12ae34a575");
            EntryCollection entries = new EntryCollection();

            entries.Add(entry1);
            Assert.IsTrue(entries.Contains(entry1), "Unexpectedly the entry did not exist.");
            entry2 = BlogDataService.GetEntry("ebd3060-b3b0-4ab1-baea-cd12ae34a575");
            // The entries returned are identical (ReferenceEquals)
            Assert.AreSame(entry1, entry2, "Unexpectedly and entirely different entry instance was returned.");
            Assert.IsTrue(entries.Contains(entry2), "Unexpectedly the entry did not exist.");
        }
Exemplo n.º 3
0
        public EntryCollection SearchEntries(string searchString, string acceptLanguageHeader)
        {
            var searchWords = GetSearchWords(searchString);

            var entries = dataService.GetEntriesForDay(DateTime.MaxValue.AddDays(-2),
                                                       dasBlogSettings.GetConfiguredTimeZone(),
                                                       acceptLanguageHeader, int.MaxValue, int.MaxValue, null);

            // no search term provided, return all the results
            if (searchWords.Count == 0)
            {
                return(entries);
            }

            EntryCollection matchEntries = new EntryCollection();

            foreach (Entry entry in entries)
            {
                string entryTitle       = entry.Title;
                string entryDescription = entry.Description;
                string entryContent     = entry.Content;

                foreach (string searchWord in searchWords)
                {
                    if (entryTitle != null)
                    {
                        if (searchEntryForWord(entryTitle, searchWord))
                        {
                            if (!matchEntries.Contains(entry))
                            {
                                matchEntries.Add(entry);
                            }
                            continue;
                        }
                    }
                    if (entryDescription != null)
                    {
                        if (searchEntryForWord(entryDescription, searchWord))
                        {
                            if (!matchEntries.Contains(entry))
                            {
                                matchEntries.Add(entry);
                            }
                            continue;
                        }
                    }
                    if (entryContent != null)
                    {
                        if (searchEntryForWord(entryContent, searchWord))
                        {
                            if (!matchEntries.Contains(entry))
                            {
                                matchEntries.Add(entry);
                            }
                            continue;
                        }
                    }
                }
            }

            // log the search to the event log

            /*
             *                      ILoggingDataService logService = requestPage.LoggingService;
             *                      string referrer = Request.UrlReferrer != null ? Request.UrlReferrer.AbsoluteUri : Request.ServerVariables["REMOTE_ADDR"];
             *                      logger.LogInformation(
             *                              new EventDataItem(EventCodes.Search, String.Format("{0}", searchString), referrer));
             */

            return(matchEntries);
        }
Exemplo n.º 4
0
        public EntryCollection SearchEntries(string searchString)
        {
            StringCollection searchWords = new StringCollection();

            string[] splitString = Regex.Split(searchString, @"(""[^""]*"")", RegexOptions.IgnoreCase |
                                               RegexOptions.Compiled);

            for (int index = 0; index < splitString.Length; index++)
            {
                if (splitString[index] != "")
                {
                    if (index == splitString.Length - 1)
                    {
                        foreach (string s in splitString[index].Split(' '))
                        {
                            if (s != "")
                            {
                                searchWords.Add(s);
                            }
                        }
                    }
                    else
                    {
                        searchWords.Add(splitString[index].Substring(1, splitString[index].Length - 2));
                    }
                }
            }

            EntryCollection matchEntries = new EntryCollection();

            foreach (Entry entry in requestPage.DataService.GetEntriesForDay(DateTime.MaxValue.AddDays(-2), new UTCTimeZone(), Request.Headers["Accept-Language"], int.MaxValue, int.MaxValue, null))
            {
                string entryTitle       = entry.Title;
                string entryDescription = entry.Description;
                string entryContent     = entry.Content;

                foreach (string searchWord in searchWords)
                {
                    if (entryTitle != null)
                    {
                        if (searchEntryForWord(entryTitle, searchWord))
                        {
                            if (!matchEntries.Contains(entry))
                            {
                                matchEntries.Add(entry);
                            }
                            continue;
                        }
                    }
                    if (entryDescription != null)
                    {
                        if (searchEntryForWord(entryDescription, searchWord))
                        {
                            if (!matchEntries.Contains(entry))
                            {
                                matchEntries.Add(entry);
                            }
                            continue;
                        }
                    }
                    if (entryContent != null)
                    {
                        if (searchEntryForWord(entryContent, searchWord))
                        {
                            if (!matchEntries.Contains(entry))
                            {
                                matchEntries.Add(entry);
                            }
                            continue;
                        }
                    }
                }
            }

            // log the search to the event log
            ILoggingDataService logService = requestPage.LoggingService;
            string referrer = Request.UrlReferrer != null ? Request.UrlReferrer.AbsoluteUri : Request.ServerVariables["REMOTE_ADDR"];

            logService.AddEvent(
                new EventDataItem(EventCodes.Search, String.Format("{0}", searchString), referrer));

            return(matchEntries);
        }
Exemplo n.º 5
0
		public EntryCollection SearchEntries(string searchString)
		{
			StringCollection searchWords = new StringCollection();

			string[] splitString = Regex.Split(searchString, @"(""[^""]*"")", RegexOptions.IgnoreCase |
				RegexOptions.Compiled);

			for (int index = 0; index < splitString.Length; index++)
			{
				if (splitString[index] != "")
				{
					if (index == splitString.Length - 1)
					{
						foreach (string s in splitString[index].Split(' '))
						{
							if (s != "") searchWords.Add(s);
						}
					}
					else
					{
						searchWords.Add(splitString[index].Substring(1, splitString[index].Length - 2));
					}
				}
			}

			EntryCollection matchEntries = new EntryCollection();

			foreach (Entry entry in requestPage.DataService.GetEntriesForDay(DateTime.MaxValue.AddDays(-2), new UTCTimeZone(), Request.Headers["Accept-Language"], int.MaxValue, int.MaxValue, null))
			{
				string entryTitle = entry.Title;
				string entryDescription = entry.Description;
				string entryContent = entry.Content;

				foreach (string searchWord in searchWords)
				{
					if (entryTitle != null)
					{
						if (searchEntryForWord(entryTitle, searchWord))
						{
							if (!matchEntries.Contains(entry))
							{
								matchEntries.Add(entry);
							}
							continue;
						}
					}
					if (entryDescription != null)
					{
						if (searchEntryForWord(entryDescription, searchWord))
						{
							if (!matchEntries.Contains(entry))
							{
								matchEntries.Add(entry);
							}
							continue;
						}
					}
					if (entryContent != null)
					{
						if (searchEntryForWord(entryContent, searchWord))
						{
							if (!matchEntries.Contains(entry))
							{
								matchEntries.Add(entry);
							}
							continue;
						}
					}
				}
			}

			// log the search to the event log
            ILoggingDataService logService = requestPage.LoggingService;
			string referrer = Request.UrlReferrer != null ? Request.UrlReferrer.AbsoluteUri : Request.ServerVariables["REMOTE_ADDR"];	
			logService.AddEvent(
				new EventDataItem(EventCodes.Search, String.Format("{0}", searchString), referrer));

			return matchEntries;
		}