private void UpdateReportSignature(MassiveOperationReport report) { if (report != null) { List <string> idDocumentSigned = new List <string>(); string idDocumento = string.Empty; foreach (DataRow row in report.GetDataSet().Tables[0].Rows) { idDocumento = row["ObjId"].ToString().Replace("P", "").Replace("C", ""); string oggetto = (from i in this.ListaElementiLibroFirma where i.InfoDocumento.Docnumber.Equals(idDocumento) select i.InfoDocumento.Oggetto).FirstOrDefault(); ReportSignatureSelected.AddReportRow( oggetto, ((MassiveOperationReport.MassiveOperationResultEnum)Enum.Parse(typeof(MassiveOperationReport.MassiveOperationResultEnum), row["Result"].ToString())), row["Details"].ToString()); if (row["Result"].ToString().Equals(MassiveOperationReport.MassiveOperationResultEnum.OK.ToString())) { this.ListIdDocumentSigned.Add(idDocumento); } } } else { foreach (string id in this.ListCheck.Keys) { string oggetto = (from i in this.ListaElementiLibroFirma where i.InfoDocumento.Docnumber.Equals(id.Replace("P", "").Replace("C", "")) select i.InfoDocumento.Oggetto).FirstOrDefault(); ReportSignatureSelected.AddReportRow( oggetto, MassiveOperationReport.MassiveOperationResultEnum.KO, "Firma annullata dall'utente"); } } }
/// <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); }
private void InsertRow(string result, MassiveOperationReport report, string codice) { switch (result) { case "OK": report.AddReportRow(codice, MassiveOperationReport.MassiveOperationResultEnum.OK, "Documento inserito correttamente nella coda di versamento."); break; case "IN_QUEUE": report.AddReportRow(codice, MassiveOperationReport.MassiveOperationResultEnum.AlreadyWorked, "Il documento è già in attesa di versamento."); break; case "DOC_CONS": report.AddReportRow(codice, MassiveOperationReport.MassiveOperationResultEnum.AlreadyWorked, "Il documento è già stato preso in carico dal sistema di conservazione."); break; case "INS_ERR": report.AddReportRow(codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore durante l'inserimento nella coda di versamento"); break; case "CONS_ERR": report.AddReportRow(codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è stato possibile consolidare il documento."); break; case "STATE_ERR": report.AddReportRow(codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è stato possibile reperire lo stato di conservazione del documento."); break; } }
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> /// Funzione per lo spostamento dei documenti nell'area di lavoro /// </summary> /// <param name="documentsInfo">L'elenco dei documenti da spostare</param> /// <param name="report">Report del''esecuzione</param> private void MoveDocumentsInWorkingArea(List <InfoDocumento> documentsInfo, MassiveOperationReport report) { // Per ogni documento... foreach (InfoDocumento docInfo in documentsInfo) { string id = MassiveOperationUtils.getItem(docInfo.idProfile).Codice; // ...spostamento del documento nell'area di lavoro try { if (DocumentManager.isDocInADL(docInfo.idProfile, this.Page) == 0 && DocumentManager.isDocInADLRole(docInfo.idProfile, this.Page) == 0) { SchedaDocumento sd = DocumentManager.getDocumentDetails(this, docInfo.docNumber, docInfo.docNumber); DocumentManager.addAreaLavoro(this, sd); report.AddReportRow( id, MassiveOperationReport.MassiveOperationResultEnum.OK, "Documento inserito correttamente nell'area di lavoro."); } else { report.AddReportRow( id, MassiveOperationReport.MassiveOperationResultEnum.KO, "Documento già inserito nell'area di lavoro."); } } catch (Exception e) { report.AddReportRow( id, MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore durante lo spostamento del documento nell'area di lavoro. Dettagli: " + e.Message); } } }
/// <summary> /// Funzione per la validazione dei dati sul documento e l'avvio dell'inserimento /// nell'area di conservazione /// </summary> /// <param name="documentDetails">Dettagli del documento da inserire nell'area di conservazione</param> /// <param name="report">Report dello spostamento</param> private void CheckDataValidityAndInsertInSA(SchedaDocumento documentDetails, MassiveOperationReport report) { // Identificativo dell'istanza di certificazione String conservationAreaId; // Se il documento ha un file acquisito if (Convert.ToInt32(documentDetails.documenti[0].fileSize) > 0 && (string.IsNullOrEmpty(documentDetails.inConservazione) || !(documentDetails.inConservazione).Equals("1"))) { // Inserimento del documento in area di conservazione this.InsertInSA(documentDetails, report); } else { string codice = MassiveOperationUtils.getItem(documentDetails.systemId).Codice; if (!string.IsNullOrEmpty(documentDetails.inConservazione) && (documentDetails.inConservazione).Equals("1")) { report.AddReportRow( codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento risulta già inserito in una nuova istanza di conservazione, impossibile inserirlo nuovamente"); } else { report.AddReportRow( codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento principale non ha alcun file associato, impossibile inserirlo in area conservazione"); } } }
/// <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(); }
/// <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); // 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"); }
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); }
public void generateReport(MassiveOperationReport report, string titolo, bool isFasc) { this.grdReport.DataSource = report.GetDataSet(); this.grdReport.DataBind(); this.pnlReport.Visible = true; string template = (isFasc) ? "formatPdfExport_fasc.xml" : "formatPdfExport.xml"; report.GenerateDataSetForExport(Server.MapPath(template), titolo); }
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> /// Funzione per lo spostamento di fascicoli nell'area di lavoro /// </summary> /// <param name="projectsId">Lista dei system id dei fascicoli da spostare nell'area di lavoro</param> /// <param name="report">Report dell'elaborazione</param> private void MoveProjectsInADL(List <MassiveOperationTarget> projectsId, MassiveOperationReport report) { // Lista delle informazioni sui documenti List <Fascicolo> projectsInfo = null; // Recupero delle informazioni sui fascicoli da aggiungere in ADL projectsInfo = this.LoadProjectInformation(projectsId, report); // Salvataggio dei fascicoli nell'area di lavoro this.MoveDocumentsInWorkingArea(projectsInfo, report); }
/// <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"); } }
private void GenerateReport(MassiveOperationReport report, string titolo) { this.grdReport.DataSource = report.GetDataSet(); this.grdReport.DataBind(); this.pnlReport.Visible = true; this.upReport.Update(); this.plcMessage.Visible = false; this.UpPnlMessage.Update(); this.BtnConfirm.Enabled = false; this.UpPnlButtons.Update(); }
public void GenerateReport(MassiveOperationReport report, string titolo) { this.grdReport.DataSource = report.GetDataSet(); this.grdReport.DataBind(); this.pnlReport.Visible = true; this.upReport.Update(); string template = "../xml/massiveOp_formatPdfExport.xml"; report.GenerateDataSetForExport(Server.MapPath(template), titolo); this.BtnReport.Visible = true; this.UpPnlButtons.Update(); }
private MassiveOperationReport ProceedWithOperation(List <MassiveOperationTarget> selectedItem, RemoveVersionType type) { // Inizializzazione del report MassiveOperationReport report = new MassiveOperationReport(); List <ImportResult> res = DocumentManager.RimuoviVersioniMassivo(selectedItem, type, this); foreach (ImportResult temp in res) { string codice = MassiveOperationUtils.getItem(temp.IdProfile).Codice; report.AddReportRow(codice, (temp.Outcome == OutcomeEnumeration.OK) ? MassiveOperationReport.MassiveOperationResultEnum.OK : MassiveOperationReport.MassiveOperationResultEnum.KO, temp.Message); } return(report); }
private void generateReport(MassiveOperationReport report, string titolo) { this.grdReport.DataSource = report.GetDataSet(); this.grdReport.DataBind(); this.pnlReport.Visible = true; this.upReport.Update(); string template = "../xml/massiveOp_formatPdfExport.xml"; report.GenerateDataSetForExport(Server.MapPath(template), titolo); this.SignatureSelectedItemsCancel.Text = Utils.Languages.GetLabelFromCode("SignatureSelectedItemsClose", UserManager.GetUserLanguage()); this.SignatureSelectedItemsConfirm.Enabled = false; this.BtnReport.Visible = true; this.UpPnlButtons.Update(); }
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"); }
private void ReadRetValueFromPopup() { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "function", "<script>reallowOp();</script>", false); if (!string.IsNullOrEmpty(this.MassiveDigitalSignature.ReturnValue)) { MassiveOperationReport report = HttpContext.Current.Session["massiveSignReport"] as MassiveOperationReport; ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setReturnValue", "SetRetValue('MassiveDigitalSignature','');", true); HttpContext.Current.Session["CommandType"] = null; HttpContext.Current.Session.Remove("massiveSignReport"); this.UpdateReportSignature(report); this.DigitalSignatureSelectedItem(); return; } if (!string.IsNullOrEmpty(this.MassiveDigitalSignatureApplet.ReturnValue)) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setReturnValue", "SetRetValue('MassiveDigitalSignatureApplet','');", true); MassiveOperationReport report = HttpContext.Current.Session["massiveSignReport"] as MassiveOperationReport; HttpContext.Current.Session["CommandType"] = null; HttpContext.Current.Session.Remove("massiveSignReport"); this.UpdateReportSignature(report); this.DigitalSignatureSelectedItem(); return; } if (!string.IsNullOrEmpty(this.MassiveDigitalSignatureSocket.ReturnValue)) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setReturnValue", "SetRetValue('MassiveDigitalSignatureSocket','');", true); MassiveOperationReport report = HttpContext.Current.Session["massiveSignReport"] as MassiveOperationReport; HttpContext.Current.Session["CommandType"] = null; HttpContext.Current.Session.Remove("massiveSignReport"); this.UpdateReportSignature(report); this.DigitalSignatureSelectedItem(); return; } if (!string.IsNullOrEmpty(this.MassiveSignatureHSM.ReturnValue)) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setReturnValue", "SetRetValue('MassiveSignatureHSM','');", true); MassiveOperationReport report = HttpContext.Current.Session["massiveSignReport"] as MassiveOperationReport; HttpContext.Current.Session["CommandType"] = null; HttpContext.Current.Session.Remove("massiveSignReport"); this.UpdateReportSignature(report); this.DigitalSignatureSelectedItem(); return; } }
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); }
public void generateReport(MassiveOperationReport report, string titolo, bool isFasc) { this.grdReport.DataSource = report.GetDataSet(); this.grdReport.DataBind(); this.pnlReport.Visible = true; this.upReport.Update(); string template = (isFasc) ? "../xml/massiveOp_formatPdfExport_fasc.xml" : "../xml/massiveOp_formatPdfExport.xml"; report.GenerateDataSetForExport(Server.MapPath(template), titolo); this.plcMessage.Visible = false; this.UpPnlMessage.Update(); this.BtnConfirm.Enabled = false; this.BtnReport.Visible = true; this.UpPnlButtons.Update(); }
/// <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); // 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"); }
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); }
/// <summary> /// Funzione per la conversione dei documenti in PDF /// </summary> /// <param name="documentsInfo">La lista con le informazioni sui documenti da convertire</param> /// <returns>Il report dell'elaborazione</returns> public MassiveOperationReport ConvertInPdf(List <BaseInfoDoc> documentsInfo) { DocsPaWebService ws = new DocsPaWebService(); ws.Timeout = System.Threading.Timeout.Infinite; // Il report da restituire MassiveOperationReport report; // Il risultato della messa in conversione di un documento MassiveOperationReport.MassiveOperationResultEnum tempResult; // Il messaggio da inserire nel report string message; // Informazioni sull'utente che ha lanciato la procedura InfoUtente userInfo; // Il file associato al documento byte[] content = null; // Inizializzazione del report report = new MassiveOperationReport(); // Recupero delle informazioni sull'utente userInfo = UserManager.getInfoUtente(this); foreach (BaseInfoDoc doc in documentsInfo) { // Inizializzazione del messaggio string codice = MassiveOperationUtils.getItem(doc.IdProfile).Codice; message = "Documento inserito correttamente nella coda di conversione PDF."; //Recupero i diritti sul documento string ar = ws.getAccessRightDocBySystemID(doc.IdProfile, UserManager.getInfoUtente(this)); // Verifica delle informazioni sul documento tempResult = this.ValidateDocumentInformation(doc, out message); if (ar.Equals("20")) { message = "Il documento è in attesa di accettazione, quindi non può essere convertito"; tempResult = MassiveOperationReport.MassiveOperationResultEnum.KO; } //Verifico che il documento non sia consolidato FirmaDigitale.FirmaDigitaleMng mng = new FirmaDigitale.FirmaDigitaleMng(); DocsPaWR.SchedaDocumento schedaDocumento = mng.GetSchedaDocumento(doc.DocNumber); if (schedaDocumento != null) { if (schedaDocumento.ConsolidationState != null && schedaDocumento.ConsolidationState.State > DocsPaWR.DocumentConsolidationStateEnum.None) { // Il documento risulta consolidato, non può essere firmato digitalmente message = "Il documento risulta consolidato"; tempResult = MassiveOperationReport.MassiveOperationResultEnum.KO; } } // Se il risultato di validazione delle informazioni è OK, si pruò procedere if (tempResult == MassiveOperationReport.MassiveOperationResultEnum.OK) { try { // Recupero delle informazioni sul file da convertire content = FileManager.getInstance(Session.SessionID).GetFile( this, doc.VersionId, doc.VersionNumber.ToString(), doc.DocNumber, doc.Path, doc.FileName, false).content; } catch (Exception e) { message = "Errore durante il reperimento del file associato al documento."; tempResult = MassiveOperationReport.MassiveOperationResultEnum.KO; } } // Se si può procedere si mette in coda il file da convertire if (tempResult == MassiveOperationReport.MassiveOperationResultEnum.OK) { try { // Avvio della conversione FileManager.EnqueueServerPdfConversionAM( this, userInfo, content, doc.FileName, new SchedaDocumento() { systemId = doc.IdProfile, docNumber = doc.DocNumber }); } catch (Exception e) { tempResult = MassiveOperationReport.MassiveOperationResultEnum.KO; message = "Errore durante l'inserimento del documento nella coda di conversione."; } } // Inserimento di una nuova riga nel report report.AddReportRow( codice, tempResult, message); } // Restituzione del report return(report); }
/// <summary> /// Funzione per il caricamento delle informaioni sui documenti /// </summary> /// <param name="documentSystemId">Lista dei system id dei documenti di cui recuperare le informazioni</param> /// <param name="report">Report dell'esecuzione</param> /// <returns>Lista delle informazioni sui documenti</returns> private List <InfoDocumento> LoadDocumentInformation(List <MassiveOperationTarget> documentSystemId, MassiveOperationReport report) { // L'oggetto da restituire List <InfoDocumento> toReturn = new List <InfoDocumento>(); // Oggetto con le informazioni di base sul documento BaseInfoDoc baseInfoDoc; // Recupero delle informazioni sui documenti foreach (MassiveOperationTarget mot in documentSystemId) { try { // Recupero delle informazioni di base sul documento baseInfoDoc = DocumentManager.GetBaseInfoForDocument( mot.Id, String.Empty, String.Empty).Where(e => e.IdProfile.Equals(mot.Id)).FirstOrDefault(); // Recuper dell'oggetto info documento toReturn.Add(DocumentManager.GetInfoDocumento( baseInfoDoc.IdProfile, baseInfoDoc.DocNumber, this)); } catch (Exception e) { report.AddReportRow( mot.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore durante il recupero delle informazioni sul documento."); } } // Restiutuzione della lista delle informazioni sui documento da spostare nell'ADL return(toReturn); }
/// <summary> /// Funzione per lo spostamento dei documenti selezionati nell'area di lavoro /// </summary> /// <param name="documentSystemId">Lista dei system id dei documenti da spostare</param> /// <param name="report">Il report dell'esecuzione</param> private void MoveDocumentsInADL(List <MassiveOperationTarget> documentSystemId, MassiveOperationReport report) { // Lista delle informazioni sui documenti List <InfoDocumento> documentsInfo = null; // Recupero delle informazioni sui documenti da aggiungere in ADL documentsInfo = this.LoadDocumentInformation(documentSystemId, report); // Salvataggio dei documenti nell'area di lavoro this.MoveDocumentsInWorkingArea(documentsInfo, report); }
/// <summary> /// Funzione per lo spostamento di fascicoli nell'area di lavoro /// </summary> /// <param name="projectsInformation">Lista dei fascicoli da spostare</param> /// <param name="report">Report dell'esecuzione</param> private void MoveDocumentsInWorkingArea(List <Fascicolo> projectsInformation, MassiveOperationReport report) { // Per ogni fascicolo... foreach (Fascicolo prj in projectsInformation) { try { if (!prj.InAreaLavoro.Equals("1") && ProjectManager.isFascInADLRole(prj.systemID, this.Page) == 0) { // ...spostamento del fascicolo nell'area di lavoro ProjectManager.addFascicoloInAreaDiLavoro( this, prj); // ...aggiunta di un risultato positivo report.AddReportRow( prj.codice, MassiveOperationReport.MassiveOperationResultEnum.OK, "Fascicolo inserito correttamento nell'area di lavoro."); } else { report.AddReportRow( prj.codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Fascicolo già inserito nell'area di lavoro."); } } catch (Exception e) { report.AddReportRow( prj.codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore durante lo spostamento del fascicolo nell'area di lavoro."); } } }