示例#1
0
        /// <summary>
        /// Reperimento dell'eventuale messaggio di errore proveniente dal checkout
        /// </summary>
        /// <param name="resultInfo"></param>
        /// <returns></returns>
        private string GetErrorMessage(NttDataWA.DocsPaWR.ValidationResultInfo resultInfo)
        {
            string message = string.Empty;

            // Restituzione dei messaggi di validazione
            foreach (NttDataWA.DocsPaWR.BrokenRule brokenRule in resultInfo.BrokenRules)
            {
                if (message != string.Empty)
                {
                    message += Environment.NewLine;
                }

                message += brokenRule.Description;
            }

            return(message);
        }
示例#2
0
        /// <summary>
        /// CheckIn del documento corrente MTEXT
        /// </summary>
        private void CheckInMTextDocument(String file)
        {
            // Salvataggio del docNumber del documento in CheckOut
            CheckOutStatus ckSt = CheckOutAppletContext.Current.Status;

            if (UIManager.DocumentManager.getSelectedAttachId() != null)
            {
                ckSt = UIManager.DocumentManager.GetCheckOutDocumentStatus(UIManager.DocumentManager.GetSelectedAttachment().docNumber);
            }

            String docNumber = ckSt.DocumentNumber;

            // Estrai porzione del path di interesse per M/TEXT
            file = file.Substring(8);

            // Accedi a MTEXT per prelevare il PDF
            MTextModelProvider mtext = models.ModelProviderFactory <MTextModelProvider> .GetInstance();

            // Preleva contenuto PDF
            Byte[] content = mtext.ExportDocument(file, "application/pdf");

            // Fai sembrare il file M/TEXT un file FDF
            ckSt.DocumentLocation = "mtext.pdf";

            // Effettua il checkin del documento
            NttDataWA.DocsPaWR.ValidationResultInfo result = CheckInOutServices.CheckInDocument(content);

            // Salva l'FQN del file M/TEXT
            NttDataWA.DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();
            ws.SetMTextFullQualifiedName(new NttDataWA.DocsPaWR.MTextDocumentInfo()
            {
                DocumentDocNumber = docNumber,
                FullQualifiedName = file
            });

            if (!result.Value)
            {
                // Scrittura dei messaggi di errore nel checkin
                Response.Write(this.GetErrorMessage(result));
            }
        }
示例#3
0
        /// <summary>
        /// CheckIn del documento corrente
        /// </summary>
        private void CheckInDocument(bool isApplet = false, bool isSocket = false)
        {
            byte[] content = null;



            if (isApplet)
            {
                content = System.Convert.FromBase64String(Request.Params["strFile"]);
            }
            else if (isSocket)
            {
                string JSONfile = Request["strFile"];
                //Stream stream=Request.InputStream;
                JSONfile = JSONfile.Replace(' ', '+');
                JSONfile = JSONfile.Trim();
                NttDataWA.Utils.FileJSON file = JsonConvert.DeserializeObject <NttDataWA.Utils.FileJSON>(JSONfile);
                content = System.Convert.FromBase64String(file.content);
            }
            else
            {
                content = Request.BinaryRead(Request.ContentLength);
            }

            NttDataWA.DocsPaWR.ValidationResultInfo result = CheckInOutServices.CheckInDocument(content);

            if (!result.Value)
            {
                // Scrittura dei messaggi di errore nel checkin
                Response.Write(this.GetErrorMessage(result));
            }
            else
            {
                System.Web.HttpContext.Current.Session["isCheckinOrOut"] = result.Value;
                CheckOutAppletContext.Current = null;
            }
        }