Esempio n. 1
0
        public void RenderSummary(SummaryDocument summary, ISummaryWriter writer, string baseFolderName, out string actualFileName)
        {
            try
            {
                string content = RenderSummaryInternal(summary);

                var writingParams = new SummaryWritingParameters();
                writingParams.baseSummaryFolderPath = baseFolderName;
                writingParams.completionTime        = summary.CompletionTime;
                writingParams.filenameExtension     = FilenameExtension;
                writingParams.hostName = summary.HostName;
                writingParams.employee = summary.Employee;

                writer.SaveSummary(writingParams, content, out actualFileName);
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                _log.Error("Cannot save summary in RTF format. See exception information above. Falling back to TXT format.");

                // cannot save summary in RTF format for some reason
                // fall back to TXT format
                // if cannot save in plain text format, show message box
                // and let user copy the summary to clipboard
                ISummaryRenderer plainTextRenderer = null;

                try
                {
                    plainTextRenderer = new SummaryRendererPlainText();
                    plainTextRenderer.RenderSummary(summary, writer, baseFolderName, out actualFileName);
                    _log.InfoFormat("Summary successfully written in TXT format to {0}", actualFileName);
                    return;
                }
                catch (Exception ex2)
                {
                    _log.Error("Cannot save summary in TXT format.");
                    _log.Error(ex2);
                }

                throw new Exception("Cannot save summary in neither TXT, nor RTF format!");
            }
        }
Esempio n. 2
0
 public SummaryInterceptor(ISummaryRenderer realRenderer)
 {
     _realRenderer = realRenderer;
 }