public BuildInvoice(ISalesOrderRepository salesOrderRepository, IInvoiceRepository invoiceRepository, IReportBuilderFactory reportBuilderFactory, ITemplateProvider templateProvider)
 {
     _salesOrderRepository = salesOrderRepository;
     _invoiceRepository    = invoiceRepository;
     _reportBuilderFactory = reportBuilderFactory;
     _templateProvider     = templateProvider;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ReportConfigurationBuilder"/> class.
        /// </summary>
        /// <param name="reportBuilderFactory">The report builder factory.</param>
        internal ReportConfigurationBuilder(
            IReportBuilderFactory reportBuilderFactory)
        {
            if (reportBuilderFactory == null)
            {
                throw new ArgumentNullException(nameof(reportBuilderFactory));
            }

            this.reportBuilderFactory = reportBuilderFactory;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ReportConfigurationBuilder"/> class.
        /// </summary>
        /// <param name="reportBuilderFactory">The report builder factory.</param>
        internal ReportConfigurationBuilder(
            IReportBuilderFactory reportBuilderFactory)
        {
            if (reportBuilderFactory == null)
            {
                throw new ArgumentNullException("reportBuilderFactory");
            }

            this.reportBuilderFactory = reportBuilderFactory;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ReportConfigurationValidator"/> class.
 /// </summary>
 /// <param name="reportBuilderFactory">The report builder factory.</param>
 internal ReportConfigurationValidator(IReportBuilderFactory reportBuilderFactory)
 {
     this.reportBuilderFactory = reportBuilderFactory;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ReportConfiguration" /> class.
        /// </summary>
        /// <param name="reportBuilderFactory">The report builder factory.</param>
        /// <param name="reportFilePatterns">The report file patterns.</param>
        /// <param name="targetDirectory">The target directory.</param>
        /// <param name="historyDirectory">The history directory.</param>
        /// <param name="reportTypes">The report types.</param>
        /// <param name="sourceDirectories">The source directories.</param>
        /// <param name="filters">The filters.</param>
        /// <param name="verbosityLevel">The verbosity level.</param>
        internal ReportConfiguration(
            IReportBuilderFactory reportBuilderFactory,
            IEnumerable<string> reportFilePatterns,
            string targetDirectory,
            string historyDirectory,
            IEnumerable<string> reportTypes,
            IEnumerable<string> sourceDirectories,
            IEnumerable<string> filters,
            string verbosityLevel)
        {
            if (reportBuilderFactory == null)
            {
                throw new ArgumentNullException("reportBuilderFactory");
            }

            if (reportFilePatterns == null)
            {
                throw new ArgumentNullException("reportFilePatterns");
            }

            if (targetDirectory == null)
            {
                throw new ArgumentNullException("targetDirectory");
            }

            if (reportTypes == null)
            {
                throw new ArgumentNullException("reportTypes");
            }

            if (sourceDirectories == null)
            {
                throw new ArgumentNullException("sourceDirectories");
            }

            if (filters == null)
            {
                throw new ArgumentNullException("filters");
            }

            this.ReportBuilderFactory = reportBuilderFactory;

            foreach (var reportFilePattern in reportFilePatterns)
            {
                try
                {
                    this.reportFiles.AddRange(FileSearch.GetFiles(reportFilePattern));
                }
                catch (Exception)
                {
                    this.failedReportFilePatterns.Add(reportFilePattern);
                }
            }

            this.TargetDirectory = targetDirectory;
            this.HistoryDirectory = historyDirectory;

            if (reportTypes.Any())
            {
                this.ReportTypes = reportTypes;
            }
            else
            {
                this.ReportTypes = new[] { "Html" };
            }

            this.SourceDirectories = sourceDirectories;
            this.Filters = filters;

            if (verbosityLevel != null)
            {
                VerbosityLevel parsedVerbosityLevel = VerbosityLevel.Verbose;
                this.verbosityLevelValid = Enum.TryParse<VerbosityLevel>(verbosityLevel, true, out parsedVerbosityLevel);
                this.VerbosityLevel = parsedVerbosityLevel;
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ReportConfiguration" /> class.
        /// </summary>
        /// <param name="reportBuilderFactory">The report builder factory.</param>
        /// <param name="reportFilePatterns">The report file patterns.</param>
        /// <param name="targetDirectory">The target directory.</param>
        /// <param name="historyDirectory">The history directory.</param>
        /// <param name="reportTypes">The report types.</param>
        /// <param name="sourceDirectories">The source directories.</param>
        /// <param name="assemblyFilters">The assembly filters.</param>
        /// <param name="classFilters">The class filters.</param>
        /// <param name="fileFilters">The file filters.</param>
        /// <param name="verbosityLevel">The verbosity level.</param>
        /// <param name="tag">The custom tag (e.g. build number).</param>
        public ReportConfiguration(
            IReportBuilderFactory reportBuilderFactory,
            IEnumerable <string> reportFilePatterns,
            string targetDirectory,
            string historyDirectory,
            IEnumerable <string> reportTypes,
            IEnumerable <string> sourceDirectories,
            IEnumerable <string> assemblyFilters,
            IEnumerable <string> classFilters,
            IEnumerable <string> fileFilters,
            string verbosityLevel,
            string tag)
        {
            if (reportBuilderFactory == null)
            {
                throw new ArgumentNullException(nameof(reportBuilderFactory));
            }

            if (reportFilePatterns == null)
            {
                throw new ArgumentNullException(nameof(reportFilePatterns));
            }

            if (targetDirectory == null)
            {
                throw new ArgumentNullException(nameof(targetDirectory));
            }

            if (reportTypes == null)
            {
                throw new ArgumentNullException(nameof(reportTypes));
            }

            if (sourceDirectories == null)
            {
                throw new ArgumentNullException(nameof(sourceDirectories));
            }

            if (assemblyFilters == null)
            {
                throw new ArgumentNullException(nameof(assemblyFilters));
            }

            if (classFilters == null)
            {
                throw new ArgumentNullException(nameof(classFilters));
            }

            if (fileFilters == null)
            {
                throw new ArgumentNullException(nameof(fileFilters));
            }

            this.ReportBuilderFactory = reportBuilderFactory;
            foreach (var reportFilePattern in reportFilePatterns)
            {
                try
                {
                    this.reportFiles.AddRange(FileSearch.GetFiles(reportFilePattern));
                }
                catch (Exception)
                {
                    this.failedReportFilePatterns.Add(reportFilePattern);
                }
            }

            this.TargetDirectory  = targetDirectory;
            this.HistoryDirectory = historyDirectory;

            if (reportTypes.Any())
            {
                this.ReportTypes = reportTypes;
            }
            else
            {
                this.ReportTypes = new[] { "Html" };
            }

            this.SourceDirectories = sourceDirectories;
            this.AssemblyFilters   = assemblyFilters;
            this.ClassFilters      = classFilters;
            this.FileFilters       = fileFilters;

            if (verbosityLevel != null)
            {
                VerbosityLevel parsedVerbosityLevel = VerbosityLevel.Verbose;
                this.verbosityLevelValid = Enum.TryParse <VerbosityLevel>(verbosityLevel, true, out parsedVerbosityLevel);
                this.VerbosityLevel      = parsedVerbosityLevel;
            }

            this.Tag = tag;
        }
Exemplo n.º 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Help"/> class.
 /// </summary>
 /// <param name="reportBuilderFactory">The report builder factory.</param>
 internal Help(IReportBuilderFactory reportBuilderFactory)
 {
     this.reportBuilderFactory = reportBuilderFactory ?? throw new ArgumentNullException(nameof(reportBuilderFactory));
 }