Ejemplo n.º 1
0
        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");
                }
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 /// <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);
         }
     }
 }
Ejemplo n.º 6
0
        /// <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();
        }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
        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");
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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;
        }
Ejemplo n.º 13
0
        /// <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);
        }
Ejemplo n.º 14
0
        /// <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");
            }
        }
Ejemplo n.º 15
0
        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();
        }
Ejemplo n.º 16
0
        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();
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        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();
        }
Ejemplo n.º 19
0
        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");
        }
Ejemplo n.º 20
0
        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;
            }
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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();
        }
Ejemplo n.º 23
0
        /// <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();
            }
        }
Ejemplo n.º 24
0
        /// <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);
        }
Ejemplo n.º 25
0
        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");
        }
Ejemplo n.º 26
0
        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);
        }
Ejemplo n.º 27
0
        /// <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);
        }
Ejemplo n.º 28
0
        /// <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);
        }
Ejemplo n.º 29
0
        /// <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);
        }
Ejemplo n.º 30
0
        /// <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.");
                }
            }
        }