public ReportService(IRecordRepository repository, IReportConverter converter, IRecordValidator recordValidator, ITagRepository tagRepository) { _recordsRepository = repository; _converter = converter; _recordValidator = recordValidator; _tagRepository = tagRepository; }
public static void Go() { var reports = new RazorTemplateBase[] { new Report1 { Packages = new Package[] { new Package{ Origin = "Cracow", Destination = "Dululu", Cost = 15.0m }, new Package{ Origin = "Emerald", Destination = "Dingo", Cost = 15.0m }, new Package{ Origin = "Duaringa", Destination = "Gladstone", Cost = 12.5m }, new Package{ Origin = "Dingo", Destination = "Dingo", Cost = 16.0m }, new Package{ Origin = "Dululu", Destination = "Duaringa", Cost = 12.5m }, new Package{ Origin = "Gladstone", Destination = "Dululu", Cost = 8.5m } } }, new StaticTest1(), new CustomPageSetupTest(), new TableBackgroundTest(), new LeftPaddedTable(), new crispin_razor_example(), new test_with_bom_report(), new RightAlignedNestedTable(), new system_dot_web_tests(), new Images(), }; var converters = new IReportConverter[] { new CsvReportConverter(), new HtmlReportConverter(), new PdfReportConverter() }; var reportIndex = GetReportIndex(reports); var xrpt = reports[reportIndex - 1].TransformText(); Console.WriteLine("Generated report:"); Console.WriteLine(xrpt); WriteToFile(xrpt, "xrpt.txt"); int converterIndex = GetConverterIndex(converters); int convertAction = GetConvertAction(); var converter = converters.ToList()[converterIndex - 1]; if (convertAction == 1) { var convertedReport = converter.ConvertToString(xrpt); Console.WriteLine("Converted report:"); Console.WriteLine(convertedReport); WriteToFile(convertedReport, "conv.txt"); } else if (convertAction == 2 || convertAction == 3) { var convertedReport = converter.ConvertToBuffer(xrpt, "TEST"); Console.WriteLine("Converted to buffer."); var dest = convertAction == 2 ? "conv.bin" : "conv.pdf"; WriteToFile(convertedReport, dest); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); }
public void AddReportConverter_WithCellType_CanBeRequested() { ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <ReportCell>() .BuildServiceProvider(); IReportConverter <ReportCell> converter = serviceProvider.GetService <IReportConverter <ReportCell> >(); converter.Should().NotBeNull(); }
public ModelBasedReportController(ReportService reportService, IReportConverter <HtmlReportCell> htmlConverter, IStringWriter stringWriter, IReportConverter <ExcelReportCell> excelConverter, IEpplusWriter excelWriter, ProductService productService, UserService userService) { this.reportService = reportService; this.htmlConverter = htmlConverter; this.stringWriter = stringWriter; this.excelConverter = excelConverter; this.excelWriter = excelWriter; this.productService = productService; this.userService = userService; }
public DocumentService(IOrderConverter orderConverter, IOrderRepository orderRepository, IReportConverter reportConverter, IReportRepository reportRepository, ICarRepository carRepository, IWorkerRepository workerRepository) { _orderConverter = orderConverter; _orderRepository = orderRepository; _reportConverter = reportConverter; _reportRepository = reportRepository; _carRepository = carRepository; _workerRepository = workerRepository; }
public void AddReportConverter_WithInterface_HasHandlersImplementingInterface() { ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell, IHtmlPropertyHandler>() .BuildServiceProvider(); IReportConverter <HtmlCell> converter = serviceProvider.GetService <IReportConverter <HtmlCell> >(); converter.Should().NotBeNull() .And.BeOfType <ReportConverter <HtmlCell> >(); ((ReportConverter <HtmlCell>)converter).Handlers.Should() .HaveCount(2) .And.AllBeAssignableTo <IHtmlPropertyHandler>(); }
public void AddReportConverter_ConverterWithName_CanBeRequested() { ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell>("name") .BuildServiceProvider(); IReportConverterFactory <HtmlCell> converterFactory = serviceProvider.GetService <IReportConverterFactory <HtmlCell> >(); converterFactory.Should().NotBeNull(); IReportConverter <HtmlCell> converter = converterFactory.Get("name"); converter.Should().NotBeNull(); }
public void AddReportConverter_WithHandler_HasHandler() { HtmlCellHandler cellHandler = new HtmlCellHandler(); ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell>(cellHandler) .BuildServiceProvider(); IReportConverter <HtmlCell> converter = serviceProvider.GetService <IReportConverter <HtmlCell> >(); converter.Should().NotBeNull() .And.BeOfType <ReportConverter <HtmlCell> >(); ((ReportConverter <HtmlCell>)converter).Handlers.Should() .Equal(cellHandler); }
public void AddReportConverter_ConverterWithInterfaceAndName_HasHandlersImplementingInterface() { ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell, IHtmlPropertyHandler>("name") .BuildServiceProvider(); IReportConverterFactory <HtmlCell> converterFactory = serviceProvider.GetService <IReportConverterFactory <HtmlCell> >(); converterFactory.Should().NotBeNull(); IReportConverter <HtmlCell> converter = converterFactory.Get("name"); (converter as ReportConverter <HtmlCell>)?.Handlers.Should() .HaveCount(2) .And.AllBeAssignableTo <IHtmlPropertyHandler>(); }
public void AddReportConverter_ConverterWithNameRequestedTwice_ReturnsSameConverter() { const string name = "name"; ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell>(name) .BuildServiceProvider(); IReportConverterFactory <HtmlCell> converterFactory = serviceProvider.GetService <IReportConverterFactory <HtmlCell> >(); IReportConverter <HtmlCell> firstConverter = converterFactory.Get(name); IReportConverter <HtmlCell> secondConverter = converterFactory.Get(name); firstConverter.Should().BeSameAs(secondConverter); }
public void AddReportConverter_ConverterWithHandlerAndName_HasHandler() { HtmlCellHandler cellHandler = new HtmlCellHandler(); ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell>("name", cellHandler) .BuildServiceProvider(); IReportConverterFactory <HtmlCell> converterFactory = serviceProvider.GetService <IReportConverterFactory <HtmlCell> >(); converterFactory.Should().NotBeNull(); IReportConverter <HtmlCell> converter = converterFactory.Get("name"); (converter as ReportConverter <HtmlCell>)?.Handlers.Should() .Equal(cellHandler); }
public void AddReportConverter_WithHandlerAndInterface_HasHandlerAndAllHandlersImplementingInterface() { HtmlCellHandler cellHandler = new HtmlCellHandler(); ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell, IHtmlPropertyHandler>(cellHandler) .BuildServiceProvider(); IReportConverter <HtmlCell> converter = serviceProvider.GetService <IReportConverter <HtmlCell> >(); converter.Should().NotBeNull() .And.BeOfType <ReportConverter <HtmlCell> >(); ((ReportConverter <HtmlCell>)converter).Handlers.Should() .HaveCount(3) .And.Contain(h => h == cellHandler || h is IHtmlPropertyHandler); }
public void AddReportConverter_ConverterWithHandlerAndInterfaceAndName_HasHandlerAndAllHandlersImplementingInterface() { HtmlCellHandler cellHandler = new HtmlCellHandler(); ServiceProvider serviceProvider = new ServiceCollection() .AddReportConverter <HtmlCell, IHtmlPropertyHandler>("name", cellHandler) .BuildServiceProvider(); IReportConverterFactory <HtmlCell> converterFactory = serviceProvider.GetService <IReportConverterFactory <HtmlCell> >(); converterFactory.Should().NotBeNull(); IReportConverter <HtmlCell> converter = converterFactory.Get("name"); (converter as ReportConverter <HtmlCell>)?.Handlers.Should() .HaveCount(3) .And.Contain(h => h == cellHandler || h is IHtmlPropertyHandler); }
public IReportConverter <TReportCell> Get(string name) { if (this.converters.ContainsKey(name)) { return(this.converters[name]); } ReportConverterRegistration <TReportCell> registration = this.options.Registrations .FirstOrDefault(r => r.Name.Equals(name, StringComparison.Ordinal)); if (registration == null) { throw new ArgumentException($"Report converter with name \"{name}\" is not registered."); } IReportConverter <TReportCell> converter = XReportsDI.CreateReportConverter(this.serviceProvider, registration.Handlers, registration.PropertyHandlersInterface); this.converters.Add(name, converter); return(converter); }
public static void Go() { var reports = new RazorTemplateBase[] { new Report1 { Packages = new Package[] { new Package { Origin = "Cracow", Destination = "Dululu", Cost = 15.0m }, new Package { Origin = "Emerald", Destination = "Dingo", Cost = 15.0m }, new Package { Origin = "Duaringa", Destination = "Gladstone", Cost = 12.5m }, new Package { Origin = "Dingo", Destination = "Dingo", Cost = 16.0m }, new Package { Origin = "Dululu", Destination = "Duaringa", Cost = 12.5m }, new Package { Origin = "Gladstone", Destination = "Dululu", Cost = 8.5m } } }, new StaticTest1(), new CustomPageSetupTest(), new TableBackgroundTest(), new LeftPaddedTable(), new crispin_razor_example(), new test_with_bom_report(), new RightAlignedNestedTable(), new system_dot_web_tests(), new Images(), }; var converters = new IReportConverter[] { new CsvReportConverter(), new HtmlReportConverter(), new PdfReportConverter() }; var reportIndex = GetReportIndex(reports); var xrpt = reports[reportIndex - 1].TransformText(); Console.WriteLine("Generated report:"); Console.WriteLine(xrpt); WriteToFile(xrpt, "xrpt.txt"); int converterIndex = GetConverterIndex(converters); int convertAction = GetConvertAction(); var converter = converters.ToList()[converterIndex - 1]; if (convertAction == 1) { var convertedReport = converter.ConvertToString(xrpt); Console.WriteLine("Converted report:"); Console.WriteLine(convertedReport); WriteToFile(convertedReport, "conv.txt"); } else if (convertAction == 2 || convertAction == 3) { var convertedReport = converter.ConvertToBuffer(xrpt, "TEST"); Console.WriteLine("Converted to buffer."); var dest = convertAction == 2 ? "conv.bin" : "conv.pdf"; WriteToFile(convertedReport, dest); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); }
public GenericController(IReportConverter <HtmlReportCell> htmlConverter, IStringWriter stringWriter) { this.htmlConverter = htmlConverter; this.stringWriter = stringWriter; }