Пример #1
0
        public void GetListaRepertoriPerStampaAutomatica()
        {
            GetRegistersToPrintAutomaticServiceResponse response = this._docsPaWS.GetRegistersToPrint();

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.RegistersToPrint);
            Assert.IsTrue(response.RegistersToPrint.Length > 0);
        }
Пример #2
0
        public override void PrintReports(String webServiceUrl)
        {
            // Inizializzo il log
            if (Log == null)
            {
                Log           = new StreamWriter("StampaRepertori.log", true);
                Log.AutoFlush = true;
            }
            Log.WriteLine(DateTime.Now + " [INFO] Inizio stampa repertori");
            Log.WriteLine(DateTime.Now + String.Format(" [INFO] Paremetro url passato {0}", webServiceUrl));

            // Stringa da scrivere nel registro di sistema
            // StringBuilder message = new StringBuilder("Stampa repertori.\n");

            // Recupero dei repertori da stampare
            GetRegistersToPrintAutomaticServiceResponse response = base.GetWebServiceInstance(webServiceUrl).GetRegistersToPrint();

            //message.AppendFormat("Sono stati individuati {0} repertori da stampare.\n\n", response.RegistersToPrint.Length);
            Log.WriteLine(DateTime.Now + String.Format(" [INFO] Sono stati individuati {0} repertori da stampare.", response.RegistersToPrint.Length));

            using (Tracer tracer = new Tracer(this.AnalyzeTracerResult))
            {
                // Stampa dei report
                foreach (var print in response.RegistersToPrint)
                {
                    Log.WriteLine(DateTime.Now + String.Format(" [INFO] Generazione stampe per il repertorio {0} ID:{1}. Documenti che verranno prodotti: ", print.CounterDescription, print.CounterId));

                    GetRepertoriPrintRangesResponse ranges = base.GetWebServiceInstance(webServiceUrl).GetRepertoriPrintRanges(
                        new GetRepertoriPrintRangesRequest()
                    {
                        CounterId  = print.CounterId,
                        RegistryId = print.RegistryId,
                        RfId       = print.RFId
                    });

                    //message.AppendLine(String.Format("Generazione stampe per il repertorio {0}. Documenti che verranno prodotti: ", print.CounterDescription));
                    if (ranges.Ranges.Length > 0)
                    {
                        foreach (var r in ranges.Ranges)
                        {
                            Log.WriteLine(DateTime.Now + String.Format(" [INFO] Documento con i repertori dal numero {0} al numero {1} dell'anno {2}", r.FirstNumber, r.LastNumber, r.Year));
                        }
                    }
                    else
                    {
                        Log.WriteLine(DateTime.Now + " [INFO] Nessuna stampa da generare.");
                    }
                    // Se c'è almeno un range di repertori da stampare, si procede, altrimenti è inutile invocare la stampa
                    // e far scatenare l'eccezione che avverte dell'inesistenza di repertori da stampare
                    if (ranges.Ranges.Length > 0)
                    {
                        this.GeneratePrint(print, webServiceUrl);
                    }

                    //message.AppendLine(String.Format("Fine stampa repertorio {0}", print.CounterDescription));
                    //message.AppendLine();
                    Log.WriteLine(DateTime.Now + String.Format(" [INFO] Fine stampa repertorio {0}", print.CounterDescription));
                }
            }

            //message.AppendLine(String.Format("Tempo di inizio: {0} - Tempo di fine: {1} - Tempo impiegato per la stampa: {2}", this.timeInfo.StartTime, this.timeInfo.EndTime, this.timeInfo.ElapsedTime));
            //EventLog.WriteEntry("AutomaticPrintService", message.ToString(), EventLogEntryType.Information, 3);
            Log.WriteLine(DateTime.Now + String.Format(" [INFO] Stampa repertori completata. Tempo di inizio: {0} - Tempo di fine: {1} - Tempo impiegato per la stampa: {2}", this.timeInfo.StartTime, this.timeInfo.EndTime, this.timeInfo.ElapsedTime));
        }