public ICollection <WebFleetOrder> GetOrders(DateRangePattern dateRangePattern) { var result = new List <WebFleetOrder>(); var webService = new WebFleet.OrdersService.ordersClient(); var ordersParameters = new OrderReportParameters { dateRange = new DateRange() { rangePatternSpecified = true, rangePattern = dateRangePattern, fromSpecified = false, toSpecified = false, } }; var response = webService.showOrderReport(GetAuthenticationParameters(), GetGeneralParameters(), ordersParameters); if (HandleResult(response)) { result.AddRange(from ReportedOrderData order in response.results select _mappingService.Map(order)); } return(result); }
public WebFleetOrder GetOrder(string orderNumber) { var result = new List <WebFleetOrder>(); var webService = new WebFleet.OrdersService.ordersClient(); var ordersParameters = new OrderReportParameters() { orderNo = orderNumber }; var response = webService.showOrderReport(GetAuthenticationParameters(), GetGeneralParameters(), ordersParameters); if (HandleResult(response)) { result.AddRange(from ReportedOrderData order in response.results select _mappingService.Map(order)); } return(result.Count > 0 ? result.FirstOrDefault() : null); }
public byte[] Generate(OrderReportParameters parameters, string reportContentPath) { reportData = parameters; renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always); document = new Document(); document.DefaultPageSetup.TopMargin = "9.75cm"; document.DefaultPageSetup.BottomMargin = "3.15cm"; document.DefaultPageSetup.LeftMargin = "3cm"; document.DefaultPageSetup.RightMargin = "1cm"; document.DefaultPageSetup.PageFormat = PageFormat.A4; docRenderer = new DocumentRenderer(document); labels = new SubmitOrderPdfReportContent(reportContentPath); document.Info.Title = "Bestellen-" + DateTime.Now.ToString("dd.MM.yyyy"); var style = document.Styles["Normal"]; style.Font.Name = "Calibri"; style.Font.Size = 9; section = document.AddSection(); SetupHeader(); SetupFooter(); var drugsGrouped = reportData.Orders.OrderedDrugs.GroupBy(t => t.Name).ToDictionary(t => t.Key, t => t.ToList()); var summaryTableColumnConfig = new List <TableColumnConfig>() { new TableColumnConfig() { ColumnName = labels.Medication, ColumnWidth = "15cm" }, new TableColumnConfig() { ColumnName = labels.Amount, ColumnWidth = "2cm", Alignment = ParagraphAlignment.Right } }; SetupContent(labels.OrderOverview, summaryTableColumnConfig, drugsGrouped.Select(t => new List <TableContent>() { new TableContent() { Alignment = ParagraphAlignment.Left, Value = t.Key }, new TableContent() { Alignment = ParagraphAlignment.Right, Value = t.Value.Count.ToString() }, }).ToList()); document.LastSection.AddPageBreak(); summaryTableColumnConfig = new List <TableColumnConfig>() { new TableColumnConfig() { ColumnName = labels.Patient, ColumnWidth = "4cm" }, new TableColumnConfig() { ColumnName = labels.BirthDate, ColumnWidth = "3cm" }, new TableColumnConfig() { ColumnName = labels.HealthInsurance, ColumnWidth = "4cm" }, new TableColumnConfig() { ColumnName = labels.InsuranceStatus, ColumnWidth = "3cm" }, new TableColumnConfig() { ColumnName = labels.FeeWaived, ColumnWidth = "3cm" }, }; var i = 0; foreach (var drug in drugsGrouped) { SetupContent(drug.Key, summaryTableColumnConfig, drug.Value.Select(t => new List <TableContent>() { new TableContent() { Alignment = ParagraphAlignment.Left, Value = String.Format("{0} {1}", t.Patient.FirstName, t.Patient.LastName) }, new TableContent() { Alignment = ParagraphAlignment.Left, Value = t.Patient.BirthDate.ToString("dd.MM.yyyy") }, new TableContent() { Alignment = ParagraphAlignment.Left, Value = t.Patient.Hip }, new TableContent() { Alignment = ParagraphAlignment.Left, Value = t.Patient.InsuranceStatus }, new TableContent() { Alignment = ParagraphAlignment.Center, Value = t.Patient.FeeWaived }, new TableContent() { Alignment = ParagraphAlignment.Left, Value = t.PositionComment, NewRow = true } }).ToList(), true); if (i++ < drugsGrouped.Count - 1) { document.LastSection.AddPageBreak(); } } var stream = new MemoryStream(); renderer.Document = document; renderer.RenderDocument(); renderer.Save(stream, false); return(stream.ToArray()); }