protected void BtnConfirm_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "reallowOp", "reallowOp();", true); // Il report da visualizzare MassiveOperationReport report; // Inizializzazione del report report = new MassiveOperationReport(); // Selezione della procedura da seguire in base al // tipo di oggetto if (!this.IsFasc) { this.MoveDocumentsInADL(MassiveOperationUtils.GetSelectedItems(), report); } else { this.MoveProjectsInADL(MassiveOperationUtils.GetSelectedItems(), report); } // Introduzione della riga di summary string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; if (!this.IsFasc) { report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); } else { report.AddSummaryRow("Fascicoli lavorati: {0} - Fascicoli non lavorati: {1}", pars); } this.generateReport(report, "Spostamento in ADL utente massivo"); }
/// <summary> /// Al click sul pulsante di conferma, viene avviata la procedura per lo spostamento massivo /// di documenti nell'Area di Lavoro /// </summary> protected override bool btnConferma_Click(object sender, EventArgs e) { // Il report da visualizzare MassiveOperationReport report; // Inizializzazione del report report = new MassiveOperationReport(); // Selezione della procedura da seguire in base al // tipo di oggetto if (Request["objType"].Equals("D")) { this.MoveDocumentsInADL(MassiveOperationUtils.GetSelectedItems(), report); } else { this.MoveProjectsInADL(MassiveOperationUtils.GetSelectedItems(), report); } // Introduzione della riga di summary string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; if (Request["objType"].Equals("D")) { report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); } else { report.AddSummaryRow("Fascicoli lavorati: {0} - Fascicoli non lavorati: {1}", pars); } this.generateReport(report, "Spostamento in ADL massivo"); return(true); }
/// <summary> /// Visualizzazione dell'esito della firma applicata ad uno o più documenti /// </summary> protected void ShowReport() { List <FirmaDigitaleResultStatus> res = FirmaDigitaleResultManager.CurrentData; MassiveOperationReport report = new MassiveOperationReport(); foreach (FirmaDigitaleResultStatus temp in res) { MassiveOperationTarget target = MassiveOperationUtils.getItem(temp.IdDocument); MassiveOperationReport.MassiveOperationResultEnum result = MassiveOperationReport.MassiveOperationResultEnum.OK; if (!temp.Status) { result = MassiveOperationReport.MassiveOperationResultEnum.KO; } report.AddReportRow(target.Codice, result, temp.StatusDescription); } if (!IsLF) { string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Firma digitale massiva"); } else { HttpContext.Current.Session["massiveSignReport"] = report; } //PDZ 17/01/2017 //Spostata da dentro if (!IsLF) FirmaDigitaleResultManager.ClearData(); }
protected override bool btnConferma_Click(object sender, EventArgs e) { // Lista di system id degli elementi selezionati List <MassiveOperationTarget> selectedItem; // Recupero della lista dei system id dei documenti selezionati selectedItem = MassiveOperationUtils.GetSelectedItems(); //tipo di rimozione string selectedValue = this.rbl_versioni.SelectedItem.Value; RemoveVersionType type = RemoveVersionType.ALL_BUT_THE_LAST; if ("opt_no_last_two".Equals(selectedValue)) { type = RemoveVersionType.ALL_BUT_LAST_TWO; } MassiveOperationReport report = ProceedWithOperation(selectedItem, type); string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); // Visualizzazione del report e termine della fase di attesa this.generateReport(report, "Rimozione versioni massiva"); return(true); }
protected override bool btnConferma_Click(object sender, EventArgs e) { // System id dei documenti selezionati List <String> objectsId; // Report da mostrare MassiveOperationReport report = new MassiveOperationReport(); // Se la request contiene objType e tale parametro è valorizzato come D, // i system id gestiti da MassiveOperationUtils sono id di documenti // altrimenti sono system id di fascicoli ed in tal caso bisogna eseguire l'inserimento // dei documenti contenuti nei fascicoli if (!String.IsNullOrEmpty(Request["objType"]) && Request["objType"] == "D") { this.ExecuteInsertDocumentsInSA( MassiveOperationUtils.GetSelectedItems(), report); } else { this.ExecuteInsertProjectsInSA( MassiveOperationUtils.GetSelectedItems(), report); } // Introduzione della riga di summary string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Conservazione massiva"); return(true); }
/// <summary> /// Al click sul pulsante bisogna applicare il timestamp a tutti i documenti selezionati /// </summary> protected override bool btnConferma_Click(object sender, EventArgs e) { #region Dichiarazione variabili // Lista di system id degli elementi selezionati List <MassiveOperationTarget> selectedItem; // Il report da mostrare all'utente MassiveOperationReport report; #endregion // Inizializzazione del report report = new MassiveOperationReport(); // Recupero della lista dei system id dei documenti selezionati selectedItem = MassiveOperationUtils.GetSelectedItems(); // Esecuzione dell'applicazione del timestamp this.ApplyTimeStampToDocuments(selectedItem, report); // Introduzione della riga di summary string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); // Visualizzazione del report e termine della fase di attesa this.generateReport(report, "Timestamp massivo"); return(true); }
protected void BtnConfirm_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "reallowOp", "reallowOp();", true); // Lista di system id degli elementi selezionati List <MassiveOperationTarget> selectedItem; // Errore verificatosi in fase di creazione della scheda String error = String.Empty; // La scheda documento creata SchedaDocumento document; // Recupero della lista dei system id dei documenti selezionati selectedItem = MassiveOperationUtils.GetSelectedItems(); // Generazione della scheda MassiveOperationReport report = new MassiveOperationReport(); //Se per uno dei documenti selezionati è attivo un processo di firma, blocco l'operazione di inoltro bool inLibroFirma = false; try { foreach (MassiveOperationTarget temp in selectedItem) { if (LibroFirmaManager.IsDocOrAllInLibroFirma(temp.Id)) { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento non è stato creato poichè per uno dei documenti selezionati, o suoi allegati, è attivo un processo di firma"); inLibroFirma = true; break; } } if (!inLibroFirma) { document = this.GenerateDocumentScheda(selectedItem, out error); if (document != null) { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.OK, "Il documento è stato creato correttamente"); } else { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento non è stato creato"); } } } catch (Exception ex) { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore nella creazione del documento"); } string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Inoltra massivo"); // set session to manage document.aspx HttpContext.Current.Session["IsForwarded"] = true; }
/// <summary> /// Visualizzazione dell'esito della firma applicata ad uno o più documenti /// </summary> protected void ShowReport() { MassiveOperationReport report = DragAndDropManager.Report; if (report != null) { string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.GenerateReport(report, "Drag and drop massivo"); } }
protected void BtnConfirm_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "reallowOp", "reallowOp();", true); // creazione e inizializzazione report MassiveOperationReport report = new MassiveOperationReport(); this.ExecuteVersamento(MassiveOperationUtils.GetSelectedItems(), report); // summary del report string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); //metodo generatereport da fare this.GenerateReport(report, "titolo"); }
protected override bool btnConferma_Click(object sender, EventArgs e) { DocsPaWR.InfoUtente userInfo = UserManager.getInfoUtente(); DocumentConsolidationHandler dch = new DocumentConsolidationHandler(null, userInfo); DocumentConsolidationStateEnum state = DocumentConsolidationStateEnum.Step1; if (IsMetadati) { state = DocumentConsolidationStateEnum.Step2; } MassiveOperationReport report = dch.ConsolidateDocumentMassive(state, MassiveOperationUtils.GetSelectedItems()); string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Consolidamento documenti"); return(true); }
/// <summary> /// Visualizzazione dell'esito della firma applicata ad uno o più documenti /// </summary> protected void ShowReport() { List <FirmaResult> firmaResult = new List <FirmaResult>(); List <FirmaDigitaleResultStatus> res = FirmaDigitaleResultManager.CurrentData; MassiveOperationReport report = new MassiveOperationReport(); foreach (FirmaDigitaleResultStatus temp in res) { MassiveOperationTarget target = MassiveOperationUtils.getItem(temp.IdDocument); MassiveOperationReport.MassiveOperationResultEnum result = MassiveOperationReport.MassiveOperationResultEnum.OK; if (target == null) { result = MassiveOperationReport.MassiveOperationResultEnum.KO; report.AddReportRow(temp.IdDocument, result, temp.StatusDescription); } else { if (!temp.Status) { result = MassiveOperationReport.MassiveOperationResultEnum.KO; } report.AddReportRow(target.Codice, result, temp.StatusDescription); } FirmaResult firmaTerminata = new FirmaResult(); firmaTerminata.fileRequest = new FileRequest(); //firmaTerminata.fileRequest. } if (!IsLF) { string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Firma digitale massiva"); FirmaDigitaleResultManager.ClearData(); } else { HttpContext.Current.Session["massiveSignReport"] = report; FirmaDigitaleResultManager.ClearData(); } }
/// <summary> /// Al click sul pulsante bisogna creare il documento per l'inoltro massivo /// </summary> protected override bool btnConferma_Click(object sender, EventArgs e) { #region Dichiarazione variabili // Lista di system id degli elementi selezionati List <MassiveOperationTarget> selectedItem; // Errore verificatosi in fase di creazione della scheda String error = String.Empty; // La scheda documento creata SchedaDocumento document; #endregion // Recupero della lista dei system id dei documenti selezionati selectedItem = MassiveOperationUtils.GetSelectedItems(); // Generazione della scheda MassiveOperationReport report = new MassiveOperationReport(); try { document = this.GenerateDocumentScheda(selectedItem, out error); if (document != null) { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.OK, "Il documento è stato creato correttamente"); } else { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento non è stato creato"); } } catch (Exception ex) { report.AddReportRow("-", MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore nella creazione del documento"); } string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Inoltra massivo"); this.addJSOnChiudiButton("self.returnValue=true;self.close();"); return(true); }
protected void BtnConfirm_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "reallowOp", "reallowOp();", true); DocumentConsolidationHandler dch = new DocumentConsolidationHandler(null, UserManager.GetInfoUser()); DocumentConsolidationStateEnum state = DocumentConsolidationStateEnum.Step1; string title = "Consolidamento documenti"; if (this.IsMetadati) { state = DocumentConsolidationStateEnum.Step2; title = "Consolidamento documenti e metadati"; } MassiveOperationReport report = dch.ConsolidateDocumentMassive(state, MassiveOperationUtils.GetSelectedItems()); string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, title); }
protected void BtnConfirm_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "reallowOp", "reallowOp();", true); // Il report da visualizzare MassiveOperationReport report; // Inizializzazione del report report = new MassiveOperationReport(); // Esecuzione dell'applicazione del timestamp this.ApplyTimeStampToDocuments(MassiveOperationUtils.GetSelectedItems(), report); // Introduzione della riga di summary string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); // Generazione del report da esportare this.generateReport(report, "Timestamp massivo"); }
private bool PutHSMSign() { bool retVal = false; string errorMsg = string.Empty; if (!string.IsNullOrEmpty(this.TxtHsmAlias.Text) && !string.IsNullOrEmpty(this.TxtHsmDomain.Text) && !string.IsNullOrEmpty(this.TxtHsmPin.Text) && !string.IsNullOrEmpty(this.TxtHsmLitOtp.Text) && (this.HsmLitPades.Checked || this.HsmLitP7M.Checked)) { string alias = this.TxtHsmAlias.Text; string dominio = this.TxtHsmDomain.Text; string pin = this.TxtHsmPin.Text; string otp = this.TxtHsmLitOtp.Text; try { DigitalSignature.RemoteDigitalSignManager dsm = new DigitalSignature.RemoteDigitalSignManager(); DigitalSignature.RemoteDigitalSignManager.Memento m = new DigitalSignature.RemoteDigitalSignManager.Memento { Alias = alias, Dominio = dominio }; //Intanto salvo il memento dsm.HSM_SetMementoForUser(m); } catch (System.Exception ex) { return(true); } MassiveOperationReport.MassiveOperationResultEnum result; string codice = string.Empty; // Il dettaglio dell'elaborazione per un documento string details; MassiveOperationReport report = new MassiveOperationReport(); if ((IsLF || Continue) && HttpContext.Current.Session["massiveSignReport"] != null) { report = HttpContext.Current.Session["massiveSignReport"] as MassiveOperationReport; } //Lista dei fileReequest da passare in input al servizio di firma massiva List <FileRequest> fileRequestList = new List <FileRequest>(); //List<FileRequest> listFileReqLF = new List<FileRequest>(); this.FileTypes = UIManager.FileManager.GetSupportedFileTypes(Int32.Parse(UIManager.UserManager.GetInfoUser().idAmministrazione)); this.IsEnabledSupportedFileTypes = UIManager.FileManager.IsEnabledSupportedFileTypes(); string objType = Request.QueryString["objType"]; if (objType.Equals("D")) { this.SchedaDocumentList = this.LoadSchedaDocumentsList( MassiveOperationUtils.GetSelectedItems()); } // Invio della trasmissione per ogni documento da inviare foreach (SchedaDocumento schedaDoc in this.SchedaDocumentList) { result = MassiveOperationReport.MassiveOperationResultEnum.OK; details = String.Empty; // Verifica della possibilità di firmare il documento result = this.CanSignDocument(schedaDoc, out details); if (result != MassiveOperationReport.MassiveOperationResultEnum.KO) { fileRequestList.Add(schedaDoc.documenti[0]); } // Aggiunta di una riga al report if (result == MassiveOperationReport.MassiveOperationResultEnum.KO) { codice = MassiveOperationUtils.getItem(schedaDoc.docNumber).Codice; report.AddReportRow( codice, result, details); } } //PER TUTTI I DOCUMENTI CHE HANNO SUPERATO I CONTROLLI VADO AD APPLICARE LA FIRMA if (fileRequestList.Count > 0) { DigitalSignature.RemoteDigitalSignManager dsm = new DigitalSignature.RemoteDigitalSignManager(); bool cofirma = this.HsmRadioCoSign.Checked; //prendere dalla checkbox cofirma //ABBATANGELI - Hanno cambiato idea nuovamente e non è sempre cosign ma prende il valore dal checkbox cofirma ////ABBATANGELI - PITre richiede sempre la cofirma per hsm ////cofirma = true; bool timestamp = this.HsmCheckMarkTemporal.Checked; //prendere dalla checkbox timestamp DigitalSignature.RemoteDigitalSignManager.tipoFirma tipoFirma = new DigitalSignature.RemoteDigitalSignManager.tipoFirma(); if (this.HsmLitPades.Checked) { tipoFirma = DigitalSignature.RemoteDigitalSignManager.tipoFirma.PADES; } else { tipoFirma = DigitalSignature.RemoteDigitalSignManager.tipoFirma.CADES; cofirma = this.HsmRadioCoSign.Checked && !FirmaAnnidata; } List <FirmaResult> firmaResult = null; try { firmaResult = dsm.HSM_SignMultiSign(fileRequestList.ToArray(), cofirma, timestamp, tipoFirma, alias, dominio, otp, pin).ToList <FirmaResult>(); /*Commento perchè la distinzione tra documenti che devo firmare cades e quelli da firmare pades per il libro firma, la faccio prima, quando vado a selezionare SchedaDocumentList * if (!IsLF) * { * firmaResult = dsm.HSM_SignMultiSign(fileRequestList.ToArray(), cofirma, timestamp, tipoFirma, alias, dominio, otp, pin).ToList<FirmaResult>(); * } * else * { * List<MassiveOperationTarget> selectedItemSystemIdList = MassiveOperationUtils.GetSelectedItems(); * string typeSign = tipoFirma.Equals(DigitalSignature.RemoteDigitalSignManager.tipoFirma.CADES) ? "C" : "P"; * List<string> idDocumentList = (from temp in selectedItemSystemIdList where temp.Id.Contains(typeSign) select temp.Id.Replace(typeSign, "")).ToList<string>(); * listFileReqLF = (from f in fileRequestList where idDocumentList.Contains(f.docNumber) select f).ToList(); * if (listFileReqLF != null && listFileReqLF.Count > 0) * { * firmaResult = dsm.HSM_SignMultiSign(listFileReqLF.ToArray(), cofirma, timestamp, tipoFirma, alias, dominio, otp, pin).ToList<FirmaResult>(); * } * } */ if (firmaResult != null && ((firmaResult.Count > 1) || (firmaResult.Count == 1 && firmaResult[0].fileRequest != null))) { foreach (FirmaResult r in firmaResult) { string[] splitMsg = r.errore.Split(':'); if (splitMsg[0].Equals("true")) { result = MassiveOperationReport.MassiveOperationResultEnum.OK; details = "Firma HSM del documento avvenuta con successo"; codice = MassiveOperationUtils.getItem(r.fileRequest.docNumber).Codice; report.AddReportRow( codice, result, details); } else { if (r.esito == null || string.IsNullOrEmpty(r.esito.Codice)) { errorMsg = String.Format( "Si sono verificati degli errori durante la firma del documento. Dettagli: {0}", splitMsg[1]); } else { errorMsg = Utils.Languages.GetMessageFromCode(r.esito.Codice, UserManager.GetLanguageData()); } result = MassiveOperationReport.MassiveOperationResultEnum.KO; codice = MassiveOperationUtils.getItem(r.fileRequest.docNumber).Codice; details = errorMsg; report.AddReportRow( codice, result, details); } } } else { //List<FileRequest> list = IsLF ? listFileReqLF : fileRequestList; string error = "Si sono verificati degli errori durante la firma del documento"; if (firmaResult != null && firmaResult.Count > 0) { error += ": " + firmaResult[0].errore; } if (firmaResult[0].esito != null && !string.IsNullOrEmpty(firmaResult[0].esito.Codice)) { error = Utils.Languages.GetMessageFromCode(firmaResult[0].esito.Codice, UserManager.GetUserLanguage()); } foreach (FileRequest fr in fileRequestList) { result = MassiveOperationReport.MassiveOperationResultEnum.KO; codice = MassiveOperationUtils.getItem(fr.docNumber).Codice; details = error; report.AddReportRow( codice, result, details); } } } catch (Exception ex) { //List<FileRequest> list = IsLF ? listFileReqLF : fileRequestList; foreach (FileRequest fr in fileRequestList) { result = MassiveOperationReport.MassiveOperationResultEnum.KO; codice = MassiveOperationUtils.getItem(fr.docNumber).Codice; details = "Si sono verificati degli errori durante la firma HSM del documento."; report.AddReportRow( codice, result, details); } } } if (Continue) { HttpContext.Current.Session["massiveSignReport"] = report; //Se ho firmato CADES e ci sono documenti da firmare PADES non chiudo la maschera ma visualizzo un worning che //informa l'utente di inserire un nuovo otp per procedere con la firma this.TxtHsmLitOtp.Text = string.Empty; this.HsmLitP7M.Enabled = false; this.HsmLitPades.Enabled = false; this.HsmRadioCoSign.Enabled = false; this.UpOTP.Update(); this.UpPnlSign.Update(); ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "if (parent.fra_main) {parent.fra_main.ajaxDialogModal('WarningRequestNewOTPFirmaAnnidata', 'warning');} else {parent.ajaxDialogModal('WarningRequestNewOTPFirmaAnnidata', 'warning');}", true); return(false); } if (!IsLF) { // Introduzione della riga di summary string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Firma HSM massiva"); } else { HttpContext.Current.Session["massiveSignReport"] = report; //Se ho firmato CADES e ci sono documenti da firmare PADES non chiudo la maschera ma visualizzo un worning che //informa l'utente di inserire un nuovo otp per procedere con la firma List <MassiveOperationTarget> selectedItemSystemIdList = MassiveOperationUtils.GetSelectedItems(); bool toSignPades = (from s in selectedItemSystemIdList where s.Id.Contains("P") select s).FirstOrDefault() != null; if (this.HsmLitP7M.Checked && toSignPades) { this.HsmLitP7M.Checked = false; this.HsmLitPades.Checked = true; this.TxtHsmLitOtp.Text = string.Empty; ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "if (parent.fra_main) {parent.fra_main.ajaxDialogModal('WarningRequestNewOTP', 'warning');} else {parent.ajaxDialogModal('WarningRequestNewOTP', 'warning');}", true); this.UpPnlSign.Update(); this.UpOTP.Update(); return(false); } } retVal = true; } else { retVal = false; ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "if (parent.fra_main) {parent.fra_main.ajaxDialogModal('WarningHsmSign', 'warning');} else {parent.ajaxDialogModal('WarningHsmSign', 'warning');}", true); } return(retVal); }
/// <summary> /// Event Handler per il click del pulsante conferma /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override bool btnConferma_Click(object sender, EventArgs e) { // Il report da mostrare all'utente MassiveOperationReport report; // Lista di system id degli elementi selezionati List <MassiveOperationTarget> selectedItem; // Il fascicolo selezionato per la fascicolazione rapida Fascicolo project; // Valore utilizzato per indicare che è possibile procedere con la fascicolazione bool canProceed = true; // Inizializzazione del report report = new MassiveOperationReport(); // Il messaggio di errore StringBuilder errorMessage = new StringBuilder("Impossibile eseguire la fascicolazione:"); // Recupero della lista dei system id dei documenti selezionati selectedItem = MassiveOperationUtils.GetSelectedItems(); // Recupero del fascicolo selezionato per la fascicolazione rapida project = FascicoliManager.getFascicoloSelezionatoFascRapida(this); // Se il fascicolo non è valorizzato non si può procedere if (project == null) { canProceed = false; errorMessage.AppendLine(" Selezionare un fascicolo in cui fascicolare."); } // Se non sono stati selezionati documenti, non si può procedere con la fascicolazione if (selectedItem == null || selectedItem.Count == 0) { canProceed = false; errorMessage.AppendLine("- Selezionare almeno un documento da fascicolare."); } // Se non è possibile continuare, viene salvata una nuova riga per il report // e ne viene impostato l'esito negativo if (!canProceed) { report.AddReportRow( "N.A.", MassiveOperationReport.MassiveOperationResultEnum.KO, errorMessage.ToString()); } else { // Altrimenti si procede con la fascicolazione this.ProceedWithOperation(selectedItem, project, report); } string[] pars = new string[] { "" + report.Worked, "" + report.NotWorked }; report.AddSummaryRow("Documenti lavorati: {0} - Documenti non lavorati: {1}", pars); this.generateReport(report, "Fascicolazione massiva"); return(true); }