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);
        }
示例#3
0
        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());
        }