private void InitializeJournalTools() { ProtocolJournalTools.SignEngineUrl = Parameters.SignEngineUrl; FileLogger.Info(Name, "SignEngineUrl: " + ProtocolJournalTools.SignEngineUrl); ProtocolJournalTools.SignEngineUser = Parameters.SignEngineUser; FileLogger.Info(Name, "SignEngineUser: "******"SignEnginePassword: " + ProtocolJournalTools.SignEnginePassword); ProtocolJournalTools.CertificateName = Parameters.CertificateName; ProtocolJournalTools.InfocamereFormat = Parameters.InfoCamereFormat; ProtocolJournalTools.InitializeSignEngine(); }
/// <summary> /// /// </summary> public void Build() { var log = new ProtocolJournalLog { Location = JournalLog.Location, LogDescription = JournalLog.LogDescription, ProtocolActive = JournalLog.ProtocolActive, ProtocolCancelled = JournalLog.ProtocolCancelled, ProtocolRegister = JournalLog.ProtocolRegister, ProtocolError = JournalLog.ProtocolError, ProtocolOthers = JournalLog.ProtocolOthers, ProtocolTotal = JournalLog.ProtocolTotal, LogDate = JournalLog.LogDate, ProtocolJournalDate = JournalLog.ProtocolJournalDate, StartDate = JournalLog.StartDate, EndDate = null }; FileLogger.Debug(LoggerName, "Salvo l'oggetto JournalLog:\n" + JournalLogToString(log)); LogFacade.Save(ref log); JournalLog = log; FileLogger.Debug(LoggerName, "Cerco i Protocolli da inserire..."); if (Protocols.Count > 0) { FileLogger.Debug(LoggerName, String.Format("{0} Protocolli da registrare.", Protocols.Count)); // Scrivo il registro su disco. var destination = Path.Combine(OutputPath, TempName); FileLogger.Debug(LoggerName, "File di destinazione: " + destination); try { //Salvo il pdf del registro FileLogger.Debug(LoggerName, "Generazione report RDLC."); JournalPrint.Report.DoPrint().SavePdf(new DirectoryInfo(OutputPath), TempName, String.Empty); FileLogger.Debug(LoggerName, "Creazione registro avvenuta con successo: " + destination); } catch (Exception ex) { JournalLog.LogDescription = "Errore in fase di Creazione PDF"; throw new Exception("Errore in fase di Creazione PDF", ex); } // Eseguo firma e marcatura temporale del registro (se richiesto). if (ApplySign) { try { destination = ProtocolJournalTools.SignEngine.SignDocument(destination); FileLogger.Debug(LoggerName, "Firma eseguita con successo: " + destination); Name = Name + ".p7m"; } catch (Exception ex) { JournalLog.LogDescription = "Errore in fase di firma Registro"; throw new Exception("Errore in fase di firma Registro.", ex); } } // Eseguo firma e marcatura temporale del registro (se richiesto). if (ApplyTimeStamp) { try { destination = ProtocolJournalTools.SignEngine.TimeStampDocument(destination); FileLogger.Debug(LoggerName, "Marcatura temporale eseguita con successo: " + destination); Name = Name + ".p7x"; } catch (Exception ex) { JournalLog.LogDescription = "Errore in fase di marcatura temporale Registro"; throw new Exception("Errore in fase di marcatura temporale Registro.", ex); } } try { JournalLog.IdDocument = ProtocolJournalTools.SaveJournalToBiblos(Location, GetDocument(destination, Name, Location.ProtBiblosDSDB)); FileLogger.Debug(LoggerName, "Documento salvato con successo: " + JournalLog.IdDocument); } catch (Exception ex) { JournalLog.LogDescription = "Errore in fase di salvataggio Registro"; throw new Exception("Errore in fase di salvataggio Registro.", ex); } } else { FileLogger.Debug(LoggerName, "Nessun protocollo da registrare."); } JournalLog.EndDate = DateTime.Now; log = JournalLog; LogFacade.Update(ref log); JournalLog = log; }