Beispiel #1
0
        private void fileprintStart(Model.Printer printer, FinishedEventArgs e)
        {
            try
            {
                fileprintPrintFinished = false;

                foreach (var fileprint in printer.Fileprints)
                {
                    if (fileprintCheck(e.Einsatz, fileprint))
                    {
                        Logger.WriteDebug(MethodBase.GetCurrentMethod(),
                                          "Printer[" + printer.PrinterName + "] Fileprint -> " + fileprint.File);

                        if (!PdfPrinterHelper.Print(printer.PrinterName, fileprint.File))
                        {
                            return;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), ex);
            }
            finally
            {
                fileprintPrintFinished = true;
            }
        }
Beispiel #2
0
        private bool reportDataOn(Model.Printer printer)
        {
            if (printer.ReportDataSchlagwortOn)
            {
                return(true);
            }
            if (printer.ReportDataStichwortOn)
            {
                return(true);
            }
            if (printer.ReportDataOrtOn)
            {
                return(true);
            }
            if (printer.ReportDataStraßeOn)
            {
                return(true);
            }
            if (printer.ReportDataObjektOn)
            {
                return(true);
            }
            if (printer.ReportDataStationOn)
            {
                return(true);
            }
            if (printer.ReportDataKreuzungOn)
            {
                return(true);
            }
            if (printer.ReportDataAbschnittOn)
            {
                return(true);
            }
            if (printer.ReportDataBemerkungOn)
            {
                return(true);
            }

            return(false);
        }
Beispiel #3
0
        private void faxStart(Model.Printer printer, FinishedEventArgs e)
        {
            try
            {
                faxPrintFinished = false;
                faxPageIndex     = 0;

                var printDoc = new PrintDocument();
                if (Path.GetExtension(e.Einsatz.FaxPath).ToLower() == ".txt")
                {
                    faxText = new List <string>();
                    using (var _streamReader = new StreamReader(e.Einsatz.FaxPath, Encoding.GetEncoding(1252)))
                    {
                        while (_streamReader.Peek() >= 0)
                        {
                            faxText.Add(_streamReader.ReadLine());
                        }
                    }

                    printDoc.PrintPage += faxPrinter_PrintPageText;
                }
                else
                {
                    faxImages           = TiffConverter.TiffToBitmapList(e.Einsatz.FaxPath);
                    printDoc.PrintPage += faxPrinter_PrintPageImages;
                }

                printDoc.PrinterSettings.PrinterName = printer.PrinterName;
                printDoc.EndPrint += faxPrinter_StreamDispose;
                printDoc.Print();
            }
            catch (Exception ex)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), ex);
                faxPrintFinished = true;
            }
        }
Beispiel #4
0
        private void reportStart(Model.Printer printer, FinishedEventArgs e)
        {
            try
            {
                reportPrintFinished = false;
                reportPageIndex     = 0;

                var report = new LocalReport();
                report.ReportEmbeddedResource = "RIS.Report.rdlc";
                report.EnableExternalImages   = true;
                //ReportParameter festlegen
                var reportParammeters = new List <ReportParameter>();

                //Allgemein
                //reportParammeters.Add(new ReportParameter("Organisation", _organisationService.OrganisationName, true));
                reportParammeters.Add(new ReportParameter("Alarmzeit", e.Einsatz.AlarmTime.ToString(), true));

                //Einsatzdaten
                if (reportDataOn(printer))
                {
                    reportParammeters.Add(new ReportParameter("EinsatzdatenOn", "True"));
                }
                else
                {
                    reportParammeters.Add(new ReportParameter("EinsatzdatenOn", "False"));
                }

                if ((string.IsNullOrEmpty(e.Einsatz.Schlagwort) || !printer.ReportDataSchlagwortOn) &&
                    (string.IsNullOrEmpty(e.Einsatz.Stichwort) || !printer.ReportDataStichwortOn))
                {
                    reportParammeters.Add(new ReportParameter("Ereignis", "", false));
                }
                else if (string.IsNullOrEmpty(e.Einsatz.Schlagwort) || !printer.ReportDataSchlagwortOn)
                {
                    reportParammeters.Add(new ReportParameter("Ereignis", e.Einsatz.Stichwort));
                }
                else if (string.IsNullOrEmpty(e.Einsatz.Stichwort) || !printer.ReportDataStichwortOn)
                {
                    reportParammeters.Add(new ReportParameter("Ereignis", e.Einsatz.Schlagwort));
                }
                else
                {
                    reportParammeters.Add(new ReportParameter("Ereignis",
                                                              e.Einsatz.Stichwort + " - " + e.Einsatz.Schlagwort));
                }
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Ort) || !printer.ReportDataOrtOn
                    ? new ReportParameter("Ort", "", false)
                    : new ReportParameter("Ort", e.Einsatz.Ort));
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Straße) || !printer.ReportDataStraßeOn
                    ? new ReportParameter("Straße", "", false)
                    : new ReportParameter("Straße", e.Einsatz.Straße + " " + e.Einsatz.Hausnummer));
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Objekt) || !printer.ReportDataObjektOn
                    ? new ReportParameter("Objekt", "", false)
                    : new ReportParameter("Objekt", e.Einsatz.Objekt));
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Ort) || !printer.ReportDataOrtOn
                    ? new ReportParameter("Station", "", false)
                    : new ReportParameter("Station", e.Einsatz.Station));
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Straße) || !printer.ReportDataStraßeOn
                    ? new ReportParameter("Kreuzung", "", false)
                    : new ReportParameter("Kreuzung", e.Einsatz.Kreuzung));
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Objekt) || !printer.ReportDataObjektOn
                    ? new ReportParameter("Abschnitt", "", false)
                    : new ReportParameter("Abschnitt", e.Einsatz.Abschnitt));
                reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Bemerkung) || !printer.ReportDataBemerkungOn
                    ? new ReportParameter("Bemerkung", "", false)
                    : new ReportParameter("Bemerkung", e.Einsatz.Bemerkung));

                //Fahrzeuge
                if (printer.ReportVehiclesOn && e.Einsatz.Einsatzmittel != null)
                {
                    var einsatzmittelString = "";
                    foreach (var vehicle in e.Einsatz.Einsatzmittel)
                    {
                        einsatzmittelString += vehicle.Name;

                        //Add new line if not last vehicle
                        if (vehicle != e.Einsatz.Einsatzmittel.Last())
                        {
                            einsatzmittelString += "\n";
                        }
                    }

                    reportParammeters.Add(new ReportParameter("EinsatzmittelOn", "True"));
                    reportParammeters.Add(new ReportParameter("Einsatzmittel", einsatzmittelString));
                }
                else
                {
                    reportParammeters.Add(new ReportParameter("EinsatzmittelOn", "False"));
                    reportParammeters.Add(new ReportParameter("Einsatzmittel", "", false));
                }

                //Routenimage
                if (printer.ReportRouteImageOn && e.ImageReport != null && e.ImageReport.Count() > 0)
                {
                    reportParammeters.Add(new ReportParameter("MapImageOn", "True"));
                    reportParammeters.Add(new ReportParameter("MapImage", Convert.ToBase64String(e.ImageReport)));
                }
                else
                {
                    reportParammeters.Add(new ReportParameter("MapImageOn", "False"));
                    reportParammeters.Add(new ReportParameter("MapImage", "", false));
                }

                //Routendescription
                if (printer.ReportRouteDescriptionOn && e.Description != null)
                {
                    reportParammeters.Add(new ReportParameter("MapDescriptionOn", "True"));
                    reportParammeters.Add(new ReportParameter("MapDescription", e.Description));
                }
                else
                {
                    reportParammeters.Add(new ReportParameter("MapDescriptionOn", "False"));
                    reportParammeters.Add(new ReportParameter("MapDescription", "", false));
                }

                //Parameter an Bericht übertragen
                report.SetParameters(reportParammeters);
                report.Refresh();

                //Exportieren des Reports  zu EMF file
                Warning[] warnings;
                reportFiles   = new List <string>();
                reportStreams = new List <Stream>();
                report.Render("Image", @"<DeviceInfo><OutputFormat>EMF</OutputFormat></DeviceInfo>",
                              reportPrinter_StreamCreate, out warnings);

                foreach (var stream in reportStreams)
                {
                    stream.Position = 0;
                }

                //Start to print report
                var printDoc = new PrintDocument();
                printDoc.PrintPage += reportPrinter_PrintPage;
                printDoc.EndPrint  += reportPrinter_StreamDispose;
                printDoc.PrinterSettings.PrinterName = printer.PrinterName;
                printDoc.Print();
            }
            catch (Exception ex)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), ex);
                reportPrintFinished = true;
            }
        }