Exemple #1
0
        void Worker_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker         = sender as BackgroundWorker;
            ReportDirector   reportDirector = new ReportDirector();

            reportDirector.Build(_reportController, _fileName, worker);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            var txtReport = new TxtReportBuider()
                            .WithHeader("header")
                            .WithBody("Body")
                            .WithFooter("Footer")
                            .GetReport();

            var director       = new ReportDirector(new TxtReportBuider());
            var txtEmptyReport = director.GetEmptyReport();

            director.ChangeBuilder(new HtmlReportBuilder());
            var htmlReport = director.GetReport("Header", "Body", "Footer");

            //Console.WriteLine(txtReport);
            //Console.WriteLine(txtEmptyReport);
            //Console.WriteLine(htmlReport);

            var bookInfo          = new AdditionalInfo(50, "Alan Wake");
            var book              = new Book("Max Payne", 100, bookInfo);
            var shallowClonedBook = (Book)book.ShallowClone();
            var deepClonedBook    = (Book)book.DeepClone();

            PrintBooksInfo(book, shallowClonedBook, deepClonedBook);

            book.Info.Author  = "Daria dontsova";
            book.Info.PageNum = 10;

            Console.WriteLine("\nAfter change of initial book:\n");

            PrintBooksInfo(book, shallowClonedBook, deepClonedBook);

            Console.ReadKey();
        }
        public void builder_test_report()
        {
            Report         report;
            ReportDirector director = new ReportDirector();

            #region Excel
            {
                ExcelReportBuilder builder = new ExcelReportBuilder();
                report = director.CreateReport(builder);

                Assert.That(report.ReportType == ReportType.Excel);
                Assert.That(report.ReportHeader == HeaderType.ExcelHeader);
                Assert.That(report.ReportContent == ContentType.ExcelContent);
                Assert.That(report.ReportFooter == FooterType.ExcelFooter);
            }
            #endregion

            #region PDF
            {
                PDFReportBuilder builder = new PDFReportBuilder();
                report = director.CreateReport(builder);

                Assert.That(report.ReportType == ReportType.PDF);
                Assert.That(report.ReportHeader == HeaderType.PDFHeader);
                Assert.That(report.ReportContent == ContentType.PDFContent);
                Assert.That(report.ReportFooter == FooterType.PDFFooter);
            }
            #endregion

            #region Word
            {
                WordReportBuilder builder = new WordReportBuilder();
                report = director.CreateReport(builder);

                Assert.That(report.ReportType == ReportType.Word);
                Assert.That(report.ReportHeader == HeaderType.WordHeader);
                Assert.That(report.ReportContent == ContentType.WordContent);
                Assert.That(report.ReportFooter == FooterType.WordFooter);
            }
            #endregion

            #region Powerpoint
            {
                PowerPointReportBuilder builder = new PowerPointReportBuilder();
                report = director.CreateReport(builder);

                Assert.That(report.ReportType == ReportType.PowerPoint);
                Assert.That(report.ReportHeader == HeaderType.PowerPointHeader);
                Assert.That(report.ReportContent == ContentType.PowerPointContent);
                Assert.That(report.ReportFooter == FooterType.PowerPointFooter);
            }
            #endregion
        }
 public Report GenerateReport(EReportBranding branding, List <string> contents, string version, DateTime date, EReportFormat format)
 {
     return(branding == EReportBranding.Avans ? ReportDirector.BuildAvansReport(this, contents, version, date, format) : ReportDirector.BuildAvansPlusReport(this, contents, version, date, format));
 }