Пример #1
0
        private Oggetto getOggettoFromKey(string key)
        {
            logger.Debug("getOggettoFromKey");
            Oggetto res         = null;
            string  queryString = "SELECT [" + Constants.JOUDES_FIELD_NAME + "] FROM " + Constants.TEWAS400_TABLE_NAME;

            queryString = queryString + " WHERE [" + Constants.KEY_FIELD_NAME + "]=" + key;
            queryString = queryString + " AND ([" + Constants.JOUCOD_FIELD_NAME + "]=" + Constants.JOUCOD_OGGETTO_VALUE;
            queryString = queryString + " OR [" + Constants.JOUCOD_FIELD_NAME + "]=" + Constants.JOUCOD_PROTO_VALUE;
            queryString = queryString + ") ORDER BY [" + Constants.JOUPRO_FIELD_NAME + "]";
            AS400Database db         = new AS400Database();
            IDataReader   dr         = db.executeReader(queryString);
            ArrayList     valuesList = new ArrayList();

            dr.Read();
            string numProt = dr.GetValue(0).ToString();

            while (dr.Read())
            {
                string temp = dr.GetValue(0).ToString();
                valuesList.Add(temp);
            }
            if (valuesList.Count > 0)
            {
                res = new Oggetto(valuesList);
                res.setNumProt(Int32.Parse(numProt).ToString());
            }
            return(res);
        }
Пример #2
0
 public override void RimuoviOggetto(Oggetto ogg)
 {
     if (SlotProdotti.DizionarioProdotti.Keys.Contains(ogg.Nome))
     {
         SlotProdotti.DizionarioProdotti[ogg.Nome].Quantita -= ogg.Quantita;
     }
 }
Пример #3
0
        private void conferma_button_Click(object sender, EventArgs e)
        {
            string nome;

            foreach (var item in ListaOggetti.DizionarioProdotti)
            {
                nome = item.Key + "_coso";
                var coso = (NumericUpDown)this.Controls[nome];

                Oggetto tempOggetto = item.Value;
                tempOggetto.Quantita = (int)coso.Value;
                merce.Add(tempOggetto);
            }

            foreach (var item in ListaOggetti.DizionarioMateriali)
            {
                nome = item.Key + "_coso";
                var coso = (NumericUpDown)this.Controls[nome];

                Oggetto tempOggetto = item.Value;
                tempOggetto.Quantita = (int)coso.Value;
                merce.Add(tempOggetto);
            }

            gestioneTrasporti.AggiungiViaggio(Mittente, Destinatario, merce.ToArray(), nVagoni, 0, 0, 0, 0);
            this.Hide();
        }
Пример #4
0
        public override void RimuoviOggetto(Oggetto ogg)
        {
            if (!SlotMateriali.DizionarioMateriali.Keys.Contains(ogg.Nome))
            {
                return;
            }

            SlotMateriali.DizionarioMateriali[ogg.Nome].Quantita -= ogg.Quantita;
        }
Пример #5
0
 /// <summary>
 /// Aggiunge un oggetto nel magazzino. il magazzino è rilevato automaticamente
 /// </summary>
 /// <param name="ogg">Oggetto da aggiungere al magazzino</param>
 public override void AggiungiOggetto(Oggetto ogg)
 {
     if (SlotMateriali.DizionarioMateriali.Keys.Contains(ogg.Nome))
     {
         SlotMateriali.DizionarioMateriali[ogg.Nome].Quantita += ogg.Quantita;
     }
     else
     if (SlotProdotti.DizionarioProdotti.Keys.Contains(ogg.Nome))
     {
         SlotProdotti.DizionarioProdotti[ogg.Nome].Quantita += ogg.Quantita;
     }
 }
Пример #6
0
        private string getQueryOggettario(Oggetto oggetto)
        {
            logger.Debug("getQueryOggettario");
            string res = null;
            string q   = "SELECT SYSTEM_ID FROM DPA_OGGETTARIO WHERE UPPER(VAR_DESC_OGGETTO)=UPPER(" + oggetto.getValue() + ")";

            DocsPaUtils.Query query = new DocsPaUtils.Query(q);
            //query.addColumn("OGGETTARIO.SYSTEM_ID",co);
            //query.addCondition("OGGETTARIO.VAR_DESC_OGGETTO",oggetto.getValue(),"=","AND");
            // query.getSQL()
            res = query.getSQL() + " " + oggetto.getNumProt();
            return(res);
        }
Пример #7
0
        public ArrayList update()
        {
            ArrayList res     = new ArrayList();
            ArrayList records = getUpdateKeys();

            for (int i = 0; i < records.Count; i++)
            {
                string  key     = (string)records[i];
                Oggetto oggetto = getOggettoFromKey(key);
                res.Add(updateOggetto(oggetto));
            }
            return(res);
        }
Пример #8
0
        async Task ExecuteCercaCommand()
        {
            if (isEmpty())
            {
                await App.Current.MainPage.DisplayAlert("Errore", "Riempi entrambi i campi di ricerca", "Ok");

                return;
            }
            SearchQuery query = new SearchQuery();

            query.citta   = Citta.Trim();
            query.oggetto = Oggetto.Trim();
            await NavService.NavigateTo <AnnunciQueryViewModel, SearchQuery>(query);
        }
Пример #9
0
 public static bool DeleteObject(Page page, Oggetto Object)
 {
     //Tolgo i caratteri speciali dal campo descrizione oggetto
     Object.descrizione = Object.descrizione.Replace(System.Environment.NewLine, "");
     try
     {
         InfoUtente infoUtente = UserManager.GetInfoUser();
         bool       result     = docsPaWS.UpdateOggetto(infoUtente, Object);
         return(result);
     }
     catch (System.Exception ex)
     {
         UIManager.AdministrationManager.DiagnosticError(ex);
         return(false);
     }
 }
Пример #10
0
        private System.Collections.ArrayList getQueryArray(string key, string operation, string folderCode, DocsPaVO.documento.SchedaDocumento schedaDoc)
        {
            logger.Debug("Costruzione queries");
            System.Collections.ArrayList queries = new System.Collections.ArrayList();
            TableField[] fields = new TableField[] { TableFieldAgent.getTableFieldInstance(Constants.JOUREC_FIELD_NAME),
                                                     TableFieldAgent.getTableFieldInstance(Constants.JOUDOC_FIELD_NAME),
                                                     TableFieldAgent.getTableFieldInstance(Constants.JOUCOD_FIELD_NAME),
                                                     TableFieldAgent.getTableFieldInstance(Constants.JOUPRO_FIELD_NAME),
                                                     TableFieldAgent.getTableFieldInstance(Constants.JOUTYP_FIELD_NAME),
                                                     TableFieldAgent.getTableFieldInstance(Constants.JOULEN_FIELD_NAME),
                                                     TableFieldAgent.getTableFieldInstance(Constants.JOUDES_FIELD_NAME), };
            for (int i = 0; i <= Constants.NUM_CODES; i++)
            {
                //COSTRUZIONE DELLA SINGOLA QUERY
                //costruzione insert context
                InsertContext ic = new InsertContext();
                ic.numRow    = i;
                ic.operation = operation;
                ic.schedaDoc = schedaDoc;
                ic.val       = getValue(i, schedaDoc, folderCode, operation);
                string queryString = getQuery(ic, key, fields);
                logger.Debug("Creata query " + i + ": " + queryString);
                queries.Add(queryString);
            }
            //INSERIMENTO DELL'OGGETTO
            logger.Debug("Inserimento oggetto");
            string    oggettoString = schedaDoc.oggetto.descrizione;
            Oggetto   oggetto       = new Oggetto(oggettoString);
            ArrayList oggettoList   = oggetto.split(Constants.OBJECT_ROW_LENGTH);

            for (int i = 0; i < oggettoList.Count; i++)
            {
                InsertContext ic = new InsertContext();
                ic.numRow    = Constants.NUM_CODES + 1 + i;
                ic.operation = operation;
                ic.schedaDoc = schedaDoc;
                ic.val       = (string)oggettoList[i];
                string queryString = getQuery(ic, key, fields);
                logger.Debug("Creata query " + (Constants.NUM_CODES + 1 + i) + ": " + queryString);
                queries.Add(queryString);
            }

            return(queries);
        }
Пример #11
0
 private string updateOggetto(Oggetto oggetto)
 {
     logger.Debug("updateOggetto");
     try
     {
         logger.Debug("Inizio transazione");
         //co.db.beginTransaction(co.debug);
         //RICERCA NELLA TABELLA DELL'OGGETTARIO
         getInfoOggetto(oggetto);
         string oggettarioQuery = getQueryOggettario(oggetto);
         //co.db.commitTransaction(co.debug);
         return(oggettarioQuery);
     }
     catch (Exception e)
     {
         //co.db.rollbackTransaction(co.debug);
         return(e.Message);
     }
     return(null);
 }
Пример #12
0
        private static SchedaDocumento CreateSchedaDocumentoFromAttestato(AttestatoVO att, InfoUtente infoUtente, Ruolo ruolo, string idRegistro)
        {
            SchedaDocumento sd  = DocManager.NewSchedaDocumento(infoUtente);
            Oggetto         ogg = new Oggetto();

            ogg.idRegistro  = idRegistro;
            ogg.descrizione = att.Oggetto;
            sd.oggetto      = ogg;
            // Impostazione del registro
            sd.registro = RegistriManager.getRegistro(idRegistro);
            // Impostazione del tipo atto
            sd.tipoProto                 = "";
            sd.template                  = ProfilazioneDocumenti.getTemplateById(att.IdTemplate);
            sd.tipologiaAtto             = new TipologiaAtto();
            sd.tipologiaAtto.descrizione = sd.template.DESCRIZIONE;
            sd.tipologiaAtto.systemId    = sd.template.SYSTEM_ID.ToString();
            sd.daAggiornareTipoAtto      = true;
            sd = DocSave.addDocGrigia(sd, infoUtente, ruolo);
            Allegato all = new Allegato();

            all.descrizione = "ALL1";
            all.docNumber   = sd.docNumber;
            all.version     = "0";
            string idPeopleDelegato = "0";

            if (infoUtente.delegato != null)
            {
                idPeopleDelegato = infoUtente.delegato.idPeople;
            }
            all.idPeopleDelegato = idPeopleDelegato;

            // Impostazione del repositoryContext associato al documento
            all.repositoryContext = sd.repositoryContext;
            all.position          = 1;
            Allegato resAll = AllegatiManager.aggiungiAllegato(infoUtente, all);

            sd.allegati = new ArrayList();
            sd.allegati.Add(resAll);
            return(sd);
        }
Пример #13
0
        public static Oggetto AddObject(Page page, Oggetto oggetto, Registro registro, ref string errMsg)
        {
            //Tolgo i caratteri speciali dal campo descrizione oggetto
            oggetto.descrizione = oggetto.descrizione.Replace(System.Environment.NewLine, "");

            try
            {
                InfoUtente infoUtente = UserManager.GetInfoUser();
                Oggetto    result     = docsPaWS.DocumentoAddOggetto(infoUtente, oggetto, registro, ref errMsg);

                if (result == null)
                {
                    //throw new Exception();
                }

                return(result);
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return(null);
            }
        }
Пример #14
0
        /* ABBATANGELI GIANLUIGI
         * Aggiunto come ultimo parametro la cartella root
         * da utilizzare come root per l'acquisizione massiva*/
        public static int checkORCreateDocFolderFasc(Page page, NttDataWA.DocsPaWR.Fascicolo fasc, string absolutePath, NttDataWA.DocsPaWR.FileDocumento fd, string foldName, string type, NttDataWA.DocsPaWR.Folder folder_Root, string componentType)
        {
            int             retValue = 0;
            SchedaDocumento scheda   = new SchedaDocumento();
            Oggetto         ogg      = new Oggetto();
            FileRequest     fr       = null;
            bool            daAggiornareUffRef;
            bool            inFolder;
            bool            fileFormat   = false;
            bool            fattDaImport = false;

            try
            {
                Folder folderRoot = null;
                if (folder_Root == null)
                {
                    //get folder dal fascicolo Fasc:
                    folderRoot = NttDataWA.UIManager.ProjectManager.getFolder(page, fasc);
                }
                else
                {
                    folderRoot = NttDataWA.UIManager.ProjectManager.getFolder(page, folder_Root);
                }

                //verifico formato file se chiave attiva su backend
                if (docsPaWS.IsEnabledSupportedFileTypes())
                {
                    fileFormat = true;
                }

                ArrayList splitData  = getSplitPath(absolutePath);
                ArrayList rootFolder = findRootFolder(splitData, foldName);

                if ((rootFolder.Count > 0))
                {
                    for (int i = 0; i < rootFolder.Count; i++)
                    {
                        if (type == "DIR")
                        {
                            retValue = checkExsistNode(page, ref folderRoot, rootFolder[i].ToString(), absolutePath, componentType);
                        }

                        if (type == "FILE")
                        {
                            if (i != rootFolder.Count - 1)
                            {
                                retValue = checkExsistNode(page, ref folderRoot, rootFolder[i].ToString(), absolutePath, componentType);
                            }

                            else
                            {
                                string externalExt = getExt(rootFolder[i].ToString());
                                if (verifyFileFormat(page, externalExt, fileFormat))
                                {
                                    if ((externalExt.ToUpper() != "P7M" && externalExt.ToUpper() != "M7M" && externalExt.ToUpper() != "TSD") ||
                                        verifyFileFormat(page, getEnvelopedExt(rootFolder[i].ToString()), fileFormat))
                                    {
                                        if (fd.content.Length > 0)
                                        {
                                            ogg.descrizione  = rootFolder[i].ToString();
                                            scheda.oggetto   = ogg;
                                            scheda.personale = "0";
                                            scheda.privato   = "0";
                                            scheda.userId    = UIManager.UserManager.GetInfoUser().userId;
                                            scheda.typeId    = "LETTERA";
                                            scheda.tipoProto = "G";
                                            scheda.appId     = "ACROBAT";
                                            scheda.idPeople  = UIManager.UserManager.GetInfoUser().idPeople;
                                            scheda           = docsPaWS.DocumentoAddDocGrigia(scheda, UIManager.UserManager.GetInfoUser(), UIManager.UserManager.GetSelectedRole());
                                            // setto le prop di fileDocumento
                                            fd.length = fd.content.Length;
                                            fd.name   = rootFolder[i].ToString();

                                            String message = String.Empty;
                                            //fascicolazione
                                            UIManager.DocumentManager.addDocumentoInFolder(page, scheda.systemId, folderRoot.systemID, false, out inFolder, out message);

                                            //acq img
                                            string errorMessage = string.Empty;
                                            if (scheda.documenti != null && scheda.documenti[0] != null)
                                            {
                                                fr = (NttDataWA.DocsPaWR.FileRequest)scheda.documenti[0];
                                                fr = docsPaWS.DocumentoPutFileImport(fr, fd, UIManager.UserManager.GetInfoUser(), out errorMessage);

                                                if (fr != null)
                                                {
                                                    retValue = 1;
                                                }
                                                else  //se l'acquisizione non va a buon fine cestino il documento
                                                {
                                                    if (!string.IsNullOrEmpty(errorMessage) && errorMessage.Equals("NOME_FILE_TROPPO_LUNGO"))
                                                    {
                                                        UIManager.DocumentManager.CestinaDocumento(page, scheda, scheda.tipoProto, "Errore nell'acquisizione del documento da import", out errorMessage);
                                                        retValue = 7;
                                                    }
                                                }
                                            }

                                            // controllo fattura
                                            if ((externalExt.ToUpper() == "P7M" || externalExt.ToUpper() == "M7M" || externalExt.ToUpper() == "TSD") &&
                                                (getEnvelopedExt(rootFolder[i].ToString())).ToUpper() == "XML")
                                            {
                                                fattDaImport = true;
                                            }
                                            else if (externalExt.ToUpper() == "XML")
                                            {
                                                string xmlFatt = System.Text.Encoding.UTF8.GetString(fd.content);
                                                xmlFatt = xmlFatt.Trim();
                                                System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
                                                if (xmlFatt.Contains("xml version=\"1.1\""))
                                                {
                                                    logger.Debug("Versione XML 1.1. Provo conversione");
                                                    xmlFatt = xmlFatt.Replace("xml version=\"1.1\"", "xml version=\"1.0\"");
                                                }
                                                xmlDoc.LoadXml(xmlFatt);
                                                if (xmlDoc.DocumentElement.NamespaceURI.ToLower().Contains("http://www.fatturapa.gov.it/sdi/fatturapa/v1") ||
                                                    xmlDoc.DocumentElement.NamespaceURI.ToLower().Contains("http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/"))
                                                {
                                                    fattDaImport = true;
                                                }
                                                else
                                                {
                                                    logger.Debug("Il file xml non è una fattura.");
                                                }
                                            }

                                            if (fattDaImport)
                                            {
                                                // eseguo il metodo esposto che va fino al FattElAttiveDaImport
                                                string retImpFAtt = docsPaWS.FattElAttiveDaImport(scheda.systemId, UIManager.UserManager.GetInfoUser());
                                                if (retImpFAtt == "Fattura non firmata")
                                                {
                                                    retValue = 6;
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        retValue = 21;
                                    }
                                }
                                else
                                {
                                    retValue = 2;
                                }
                            }
                        }
                    }
                }
            }

            catch (Exception ex) {
                logger.Error("Errore: ", ex);
                retValue = 0;
            }

            return(retValue);
        }
Пример #15
0
 public Documento()
 {
     protocollo = new Protocollo();
     oggetto    = new Oggetto();
 }
Пример #16
0
        private int creaGrigioDaReport(bool trasmDoc)
        {
            string     language = UIManager.UserManager.GetUserLanguage();
            InfoUtente userInfo = UserManager.GetInfoUser();
            Ruolo      ruolo    = RoleManager.GetRoleInSession();

            PrintReportRequestDataset request =
                new PrintReportRequestDataset()
            {
                ContextName   = "CasellaIstituzionale",
                ReportType    = ReportTypeEnum.PDF,
                ReportKey     = "RicercaCasellaIstituzionale",
                Title         = Utils.Languages.GetLabelFromCode("CheckMailboxReportLblIstitutionalBox", language),
                SubTitle      = String.Format(Utils.Languages.GetLabelFromCode("ReportGeneratorTbwSubtitle", language), MailCheckResponse.DtaConcluded.ToShortDateString(), MailCheckResponse.DtaConcluded.ToShortTimeString()),
                SearchFilters = null,
                UserInfo      = userInfo,
                InputDataset  = reportDataSetDocGrigio
            };

            RequestPrintReport  = request;
            this.ReportRegistry = CheckMailboxManager.GetReportRegistry(RequestPrintReport.ContextName);
            RequestPrintReport.ColumnsToExport = this.ReportRegistry.Where(r => r.ReportKey == request.ReportKey).First().ExportableFields;

            FileDocumento fd = CheckMailboxManager.GenerateReport(request);

            int retValue = 0;

            try
            {
                DocsPaWR.SchedaDocumento scheda = new SchedaDocumento();
                DocsPaWR.Oggetto         ogg    = new Oggetto();
                DocsPaWR.FileRequest     fr     = null;
                //Report Casella Istituzional del RF: codice/descrizione

                ogg.descrizione  = String.Format("Report Casella Istituzionale {0} del {1} alle {2}", this.txtRegistro.Text, MailCheckResponse.DtaConcluded.ToShortDateString(), MailCheckResponse.DtaConcluded.ToShortTimeString());
                scheda.oggetto   = ogg;
                scheda.personale = "0";
                scheda.privato   = "0";
                scheda.userId    = UserManager.GetInfoUser().userId;
                scheda.typeId    = "LETTERA";
                scheda.tipoProto = "G";
                scheda.appId     = "ACROBAT";
                scheda.idPeople  = UserManager.GetInfoUser().idPeople;
                scheda           = CheckMailboxManager.DocumentoAddDocGrigia(scheda, UserManager.GetInfoUser(), RoleManager.GetRoleInSession());
                fr           = (FileRequest)scheda.documenti[0];
                fr.docNumber = scheda.docNumber;
                fr           = CheckMailboxManager.DocumentoPutFile(fr, fd, UserManager.GetInfoUser());
                if (fr != null)
                {
                    retValue = 1;
                }
                //disabilito il pulsante di creazione doc grigio
                this.CheckMailboxReportCreateDoc.Enabled = false;
                if (trasmDoc)
                {
                    CreateAndTrasmDoc(scheda, userInfo, ruolo);
                }
            }
            catch (Exception ex) { retValue = 0; }
            return(retValue);
        }
Пример #17
0
 private void getInfoOggetto(Oggetto oggetto)
 {
     logger.Debug("getInfoOggetto");
     DocsPaUtils.Query infoQuery = new DocsPaUtils.Query("");
 }
Пример #18
0
        /* ABBATANGELI GIANLUIGI
         * Aggiunto come ultimo parametro la cartella root
         * da utilizzare come root per l'acquisizione massiva*/
        public static int checkORCreateDocFolderFasc(Page page, DocsPAWA.DocsPaWR.Fascicolo fasc, string absolutePath, DocsPAWA.DocsPaWR.FileDocumento fd, string foldName, string type, DocsPAWA.DocsPaWR.Folder folder_Root)
        {
            int retValue = 0;

            DocsPaWR.SchedaDocumento scheda = new SchedaDocumento();
            DocsPaWR.Oggetto         ogg    = new Oggetto();
            DocsPaWR.FileRequest     fr     = null;
            bool daAggiornareUffRef;
            bool inFolder;
            bool fileFormat = false;

            try
            {
                DocsPaWR.Folder folderRoot = null;
                if (folder_Root == null)
                {
                    //get folder dal fascicolo Fasc:
                    folderRoot = FascicoliManager.getFolder(page, fasc);
                }
                else
                {
                    folderRoot = FascicoliManager.getFolder(page, folder_Root);
                }

                //verifico formato file se chiave attiva su backend
                if (docsPaWS.IsEnabledSupportedFileTypes())
                {
                    fileFormat = true;
                }

                ArrayList splitData  = getSplitPath(absolutePath);
                ArrayList rootFolder = findRootFolder(splitData, foldName);

                if ((rootFolder.Count > 0))
                {
                    for (int i = 0; i < rootFolder.Count; i++)
                    {
                        if (type == "DIR")
                        {
                            retValue = checkExsistNode(page, ref folderRoot, rootFolder[i].ToString());
                        }

                        if (type == "FILE")
                        {
                            if (i != rootFolder.Count - 1)
                            {
                                retValue = checkExsistNode(page, ref folderRoot, rootFolder[i].ToString());
                            }

                            else
                            if (verifyFileFormat(page, getExt(rootFolder[i].ToString()), fileFormat))
                            {
                                if (fd.content.Length > 0)
                                {
                                    ogg.descrizione  = rootFolder[i].ToString();
                                    scheda.oggetto   = ogg;
                                    scheda.personale = "0";
                                    scheda.privato   = "0";
                                    scheda.userId    = UserManager.getInfoUtente(page).userId;
                                    scheda.typeId    = "LETTERA";
                                    scheda.tipoProto = "G";
                                    scheda.appId     = "ACROBAT";
                                    scheda.idPeople  = UserManager.getInfoUtente(page).idPeople;
                                    scheda           = docsPaWS.DocumentoAddDocGrigia(scheda, UserManager.getInfoUtente(page), UserManager.getRuolo(page));
                                    // setto le prop di fileDocumento
                                    fd.length = fd.content.Length;
                                    fd.name   = rootFolder[i].ToString();

                                    String message = String.Empty;
                                    //fascicolazione
                                    DocumentManager.addDocumentoInFolder(page, scheda.systemId, folderRoot.systemID, false, out inFolder, out message);

                                    //acq img
                                    if (scheda.documenti != null && scheda.documenti[0] != null)
                                    {
                                        fr = (DocsPAWA.DocsPaWR.FileRequest)scheda.documenti[0];
                                        fr = docsPaWS.DocumentoPutFile(fr, fd, UserManager.getInfoUtente(page));

                                        if (fr != null)
                                        {
                                            retValue = 1;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                retValue = 2;
                            }
                        }
                    }
                }
            }

            catch (Exception ex) { retValue = 0; }

            return(retValue);
        }
Пример #19
0
        private int creaGrigioDaReport(bool trasmDoc)
        {
            InfoUtente userInfo = UserManager.getInfoUtente();
            Ruolo      ruolo    = UserManager.getRuolo();

            if (CallContextStack.CurrentContext == null)
            {
                CallContextStack.CurrentContext = new CallContext("ReportingContext");
            }

            PrintReportRequestDataset request =
                new PrintReportRequestDataset()
            {
                ContextName   = "CasellaIstituzionale",
                ReportType    = ReportTypeEnum.PDF,
                ReportKey     = "RicercaCasellaIstituzionale",
                Title         = "Casella Istituzionale",
                SubTitle      = String.Format("Report generato {0} alle {1}", DateTime.Now.ToString("dddd, dd MMMM yyyy"), (DateTime.Now).ToString("HH:mm:ss")),
                SearchFilters = null,
                UserInfo      = userInfo,
                InputDataset  = reportDataSetDocGrigio
            };

            ReportingUtils.PrintRequest = request;
            this.ReportRegistry         = ReportingUtils.GetReportRegistry(ReportingUtils.PrintRequest.ContextName);
            ReportingUtils.PrintRequest.ColumnsToExport = this.ReportRegistry.Where(r => r.ReportKey == request.ReportKey).First().ExportableFields;

            FileDocumento fd = ReportingUtils.GenerateReport(request);

            int retValue = 0;

            try
            {
                DocsPaWR.SchedaDocumento scheda = new SchedaDocumento();
                DocsPaWR.Oggetto         ogg    = new Oggetto();
                DocsPaWR.FileRequest     fr     = null;
                //Report Casella Istituzional del RF: codice/descrizione

                ogg.descrizione  = String.Format("Report Casella Istituzionale {0} del {1} alle {2}", txtCodiceRegistro.Text, DateTime.Now.ToString("dddd, dd MMMM yyyy"), (DateTime.Now).ToString("HH:mm:ss"));
                scheda.oggetto   = ogg;
                scheda.personale = "0";
                scheda.privato   = "0";
                scheda.userId    = UserManager.getInfoUtente().userId;
                scheda.typeId    = "LETTERA";
                scheda.tipoProto = "G";
                scheda.appId     = "ACROBAT";
                scheda.idPeople  = UserManager.getInfoUtente().idPeople;
                scheda           = docsPaWS.DocumentoAddDocGrigia(scheda, UserManager.getInfoUtente(), UserManager.getRuolo());
                fr           = (DocsPAWA.DocsPaWR.FileRequest)scheda.documenti[0];
                fr.docNumber = scheda.docNumber;
                fr           = docsPaWS.DocumentoPutFile(fr, fd, UserManager.getInfoUtente());
                if (fr != null)
                {
                    retValue = 1;
                }
                //disabilito il pulsante di creazione doc grigio
                btnDocGrigio.Enabled = false;
                if (trasmDoc)
                {
                    CreateAndTrasmDoc(scheda, userInfo, ruolo);
                }
            }
            catch (Exception ex) { retValue = 0; }
            return(retValue);
        }