コード例 #1
0
ファイル: SearchPage.cs プロジェクト: adambird/eaep
        protected override void InternalWriteContent(StreamWriter writer, IServiceRequest request, IServiceResponse response, IResourceRepository resourceRepository)
        {
            resourceRepository.WriteResource("header.htm", writer);

            bool activeSearch = (request.Query != null);

            try
            {

                EAEPMessages messages = new EAEPMessages();
                string searchResultText = string.Empty;

                if (activeSearch)
                {
                    messages = monitor.GetMessages(request.Query);

                    searchResultText = string.Format("{0} message(s) found", messages.Count);
                }

                WriteSearchResultHeader(writer, request, resourceRepository, searchResultText);

                int maxItems = 100;
                if (maxItems > messages.Count) { maxItems = messages.Count; }

                string messageTemplate = resourceRepository.GetResourceAsString("eaepmsg.htm");

                for (int i = 0; i < maxItems; i++)
                {
                    WriteResultItem(writer, messageTemplate, messages[i]);
                }
            }
            catch (Exception ex)
            {
                writer.WriteLine(ReplaceCRLFwithHTMLLineBreaks(ex.ToString()));
            }

            resourceRepository.WriteResource("searchresultfooter.htm", writer);

            resourceRepository.WriteResource("footer.htm", writer);
        }