Exemple #1
0
        /// <summary>
        /// Metodo da schedulare che verifica se ci sono amministrazioni con stampa abilitata
        /// e, se è stata raggiunta la data di prossima stampa, la esegue.
        /// </summary>
        public void GeneratePrintRegCons()
        {

            logger.Debug("stampa registro di conservazione - START");
            //check per vedere se esistono amministrazioni con registro di conservazione abilitato
            if (this.CheckRegAbilitato())
            {
                
                RegistroConservazionePrintManager manager = new RegistroConservazionePrintManager();
                List<RegistroConservazionePrint> printRanges = manager.GetRegConsPrintRange();

                //loop in cui recupero info e le inserisco in un oggetto
                foreach (var range in printRanges)
                {
                    logger.Debug(string.Format("ID AMM={0} - check", range.idAmministrazione));
                    //check se data prossima stampa è >= data attuale (e se esistono record da stampare)
                    if (manager.VerifyNextPrint(range.nextPrintDate, range.idAmministrazione, range.idLastPrinted, range.printHour))
                    {

                        try
                        {
                            //metodo che esegue la stampa
                            PrintRegistro(range);

                            //aggiorna la data di prossima stampa automatica e l'ultimo documento/istanza stampati
                            if (!manager.UpdateNextPrintDate(range))
                                throw new Exception("Errore durante l'aggiornamento delle impostazioni di stampa.");

                            logger.Debug("termine stampa ID AMM=" + range.idAmministrazione);
                        }
                        catch (Exception exc)
                        {

                            logger.Debug("Errore nella stampa del registro per amm ID=" + range.idAmministrazione + ": ", exc);
                        }
                    }
                    /*
                    else
                    {
                        throw new Exception(string.Format("Prossima data di stampa: {0}", range.nextPrintDate.ToString("dd/MM/yyyy")));
                        
                    }
                    */
                }
            }
        }