private void IniciarFirma() { Log.Debug("Inicio de firma automatica"); string tempFile = Path.GetTempFileName(); if (WebHelper.DownloadPdf(tempFile)) { _fileName = tempFile; if (App.Setup.ModoOculto) { this.Visible = false; } else { MostrarDocumento(_fileName); } WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Preparando para firmar"); if (Firmar()) { WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Documento firmado"); WebHelper.UploadFile(_signedFileName); WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Completado); if (App.Setup.ModoOculto) { Application.Exit(); } } else { WebHelper.Status(PdfSign.Common.StatusCode.Error, "Problemas con la firma"); } } this.Visible = true; }
private void timer_Tick(object sender, EventArgs e) { this.Visible = !App.Setup.ModoOculto; if (this.Visible) { this.Focus(); } timer.Enabled = false; Status("Iniciando Firma digital..."); if (App.Setup.Archivos.Count == 0) { Status("Descargando metadata..."); WebHelper.Status(PdfSign.Common.StatusCode.Debug, "Descargando metadata"); var metadata = WebHelper.GetMetadata(); if (metadata != null) { App.Setup.Archivos = metadata.Archivos; } } if (App.Setup.Archivos == null || App.Setup.Archivos.Count == 0) { MensajeError("No se encontraron archivos para firmar."); return; } string templateStatus = "{1} - {0}..."; if (App.Setup.Archivos.Count == 0) { templateStatus = "{0}..."; } if (App.Setup.Archivos.Count == 0) { WebHelper.Status(PdfSign.Common.StatusCode.Error, "No se encontraron archivos para firmar"); return; } foreach (var file in App.Setup.Archivos) { App.Setup.FileID = file.ID; if (string.IsNullOrEmpty(file.Url)) { continue; } string inputFile = Path.GetTempFileName(); string outputFile = Path.GetTempFileName(); Status(string.Format(templateStatus, "Descargando", file.Nombre)); if (WebHelper.DownloadPdf(inputFile)) { Application.DoEvents(); file.CodigoStatus = Juschubut.PdfSign.Common.StatusCode.Firmando.ToString(); WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Preparando para firmar"); Application.DoEvents(); Status(string.Format(templateStatus, "Firmando", file.Nombre)); var result = App.Firmar(this.Signer, inputFile, outputFile); Application.DoEvents(); if (result.IsSuccess) { WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Documento firmado"); Status(string.Format(templateStatus, "Terminando firma", file.Nombre)); WebHelper.UploadFile(outputFile); } else { WebHelper.Status(PdfSign.Common.StatusCode.Error, "No se pudo firmar el documento actual"); MensajeError(result.Message); return; } } else { WebHelper.Status(PdfSign.Common.StatusCode.Error, "No se pudo descagar el documento para firmar"); return; } } WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Completado); Environment.ExitCode = 1; Application.Exit(); }