/// <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>
        /// Funzione per verificare se è possibile applicare la firma HSM sul documento
        /// </summary>
        /// <param name="docInfo"></param>
        /// <param name="details"></param>
        /// <returns></returns>
        private MassiveOperationReport.MassiveOperationResultEnum CanSignDocument(SchedaDocumento schedaDoc, out string details)
        {
            // Risultato della verifica
            MassiveOperationReport.MassiveOperationResultEnum retValue = MassiveOperationReport.MassiveOperationResultEnum.OK;
            System.Text.StringBuilder detailsBS = new System.Text.StringBuilder();

            string msgError = CheckSign(schedaDoc);

            if (!string.IsNullOrEmpty(msgError))
            {
                retValue = MassiveOperationReport.MassiveOperationResultEnum.KO;
                detailsBS.Append(msgError);
            }

            details = detailsBS.ToString();
            return(retValue);
        }
        /// <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();
            }
        }
        public MassiveOperationReport ConsolidateDocumentMassive(DocsPaWR.DocumentConsolidationStateEnum toState, List <MassiveOperationTarget> items)
        {
            MassiveOperationReport report = new MassiveOperationReport();

            foreach (MassiveOperationTarget mot in items)
            {
                MassiveOperationReport.MassiveOperationResultEnum result = MassiveOperationReport.MassiveOperationResultEnum.KO;
                string message = string.Empty;
                try
                {
                    DocsPaWR.DocumentConsolidationStateInfo info = docsPaWS.ConsolidateDocumentById_AM(_userInfo, mot.Id, toState);
                    if (info.State == toState)
                    {
                        result  = MassiveOperationReport.MassiveOperationResultEnum.OK;
                        message = "Il documento è stato consolidato correttamente";
                        // Notifica evento di consolidamento del documento
                        if (this._consolidated != null)
                        {
                            this._consolidated(this, new DocumentConsolidatedEventArgs {
                                Info = info
                            });
                        }
                    }
                }
                catch (System.Web.Services.Protocols.SoapException ex)
                {
                    ApplicationException originalEx = SoapExceptionParser.GetOriginalException(ex);
                    result  = MassiveOperationReport.MassiveOperationResultEnum.KO;
                    message = originalEx.Message;
                }
                finally
                {
                    report.AddReportRow(mot.Codice, result, message);
                }
            }
            return(report);
        }
示例#5
0
        public void ProcessRequest(HttpContext context)
        {
            if (!string.IsNullOrEmpty(NttDataWA.Utils.InitConfigurationKeys.GetValue("0", NttDataWA.Utils.DBKeys.FE_ENABLE_DRAG_AND_DROP.ToString())) && NttDataWA.Utils.InitConfigurationKeys.GetValue("0", NttDataWA.Utils.DBKeys.FE_ENABLE_DRAG_AND_DROP.ToString()).Equals("1"))
            {
                DragAndDropResult  response = null;
                HttpPostedFile     file     = null;
                HttpFileCollection files    = null;
                HttpRequest        request  = null;
                bool       first            = true;
                CallerPage callerPage;

                try
                {
                    if (context != null && context.Request != null && context.Request.Files != null && context.Request.Files.Count > 0)
                    {
                        request    = context.Request;
                        files      = request.Files;
                        first      = Boolean.Parse(request["First"]);
                        callerPage = (CallerPage)Enum.Parse(typeof(CallerPage), request["CallerPage"]);
                        if (first)
                        {
                            DragAndDropManager.ClearReport();
                        }

                        for (int i = 0; i < files.Count; i++)
                        {
                            file = files[i];

                            switch (callerPage)
                            {
                            case (CallerPage.ADLDOCUMENT):
                                response = AddWorkArea(file, context.Session);
                                break;

                            case (CallerPage.PROJECT):
                                response = AddInProject(file, first);
                                break;

                            case (CallerPage.DOCUMENT):
                            case (CallerPage.ATTACHMENTS):
                                response = AddNewDocument(file, context.Session);
                                break;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    response         = new DragAndDropResult();
                    response.Success = false;
                    if (file != null)
                    {
                        response.FileName      = file.FileName;
                        response.ContentLength = file.ContentLength;
                    }
                    response.Error = ex.Message;

                    MassiveOperationReport.MassiveOperationResultEnum result = MassiveOperationReport.MassiveOperationResultEnum.KO;
                    if (DragAndDropManager.Report == null)
                    {
                        DragAndDropManager.Report = new MassiveOperationReport();
                    }
                    DragAndDropManager.Report.AddReportRow(response.FileName + " " + response.DocNumber, result, response.Error);
                }

                context.Response.Write(JsonConvert.SerializeObject(response));
            }
        }