Пример #1
0
        /// <summary>
        /// Reperimento ragioni trasmissione per il contesto della ricerca
        /// </summary>
        /// <param name="accessRights"></param>
        /// <returns></returns>
        public RagioneTrasmissione[] GetRagioniTrasmissione(string accessRights)
        {
            DocsPaWR.TrasmissioneDiritti diritti = new DocsPAWA.DocsPaWR.TrasmissioneDiritti();

            if (accessRights != null && accessRights != string.Empty)
            {
                diritti.accessRights = accessRights;
            }

            diritti.idAmministrazione = UserManager.getUtente().idAmministrazione;

            DocsPaWebService ws = new DocsPaWebService();

            return(ws.TrasmissioneGetRagioni(diritti, true));
        }
Пример #2
0
        /// <summary>
        /// Reperimento classificazione da codice
        /// </summary>
        /// <param name="codiceClassifica"></param>
        /// <param name="registro"></param>
        /// <param name="idAmministrazione"></param>
        /// <param name="idGruppo"></param>
        /// <param name="idPeople"></param>
        /// <returns></returns>
        public DocsPAWA.DocsPaWR.FascicolazioneClassificazione GetClassificazione(string codiceClassifica, Registro registro, string idAmministrazione, string idGruppo, string idPeople)
        {
            DocsPaWebService ws = new DocsPaWebService();

            DocsPaWR.FascicolazioneClassificazione[] retValue = ws.FascicolazioneGetTitolario(idAmministrazione, idGruppo, idPeople, registro, codiceClassifica, true);

            if (retValue != null && retValue.Length > 0)
            {
                return(retValue[0]);
            }
            else
            {
                return(null);
            }
        }
Пример #3
0
        /// <summary>
        /// Reperimento di un documento
        /// </summary>
        /// <param name="idProfile"></param>
        /// <param name="docNumber"></param>
        /// <returns></returns>
        public SchedaDocumento GetDocumento(string idProfile, string docNumber)
        {
            if (idProfile == null || idProfile == string.Empty)
            {
                throw new ApplicationException("Parametro 'idProfile' non fornito");
            }

            if (docNumber == null || docNumber == string.Empty)
            {
                throw new ApplicationException("Parametro 'docNumber' non fornito");
            }

            DocsPaWebService ws = new DocsPaWebService();

            return(ws.DocumentoGetDettaglioDocumento(UserManager.getInfoUtente(), idProfile, docNumber));
        }
Пример #4
0
        internal void SaveRfDetails(global::RubricaComune.Proxy.Elementi.ElementoRubrica elementoRubrica, String idRf)
        {
            DocsPaWebService ws = new DocsPaWebService();

            ws.SaveElementoRubricaRF(new RaggruppamentoFunzionale()
            {
                cap         = elementoRubrica.Cap,
                citta       = elementoRubrica.Citta,
                fax         = elementoRubrica.Fax,
                indirizzo   = elementoRubrica.Indirizzo,
                nazionalita = elementoRubrica.Nazione,
                prov        = elementoRubrica.Provincia,
                telefono1   = elementoRubrica.Telefono,
                codfisc     = elementoRubrica.CodiceFiscale,
                partitaiva  = elementoRubrica.PartitaIva
            }, idRf);
        }
Пример #5
0
        /// <summary>
        /// Funzione per l'importazione di un documento RDE
        /// </summary>
        /// <param name="rowData">L'oggetto con i dati sul documento da importare</param>
        /// <param name="userInfo">Le informazioni sull'utente che ha lanciato la procedura</param>
        /// <param name="role">Il ruolo con cui è stata lanciata la procedura</param>
        /// <param name="serverPath">L'indirizzo della WA</param>
        /// <param name="isSmistamentoEnabled">True se è abilito lo smistamento</param>
        /// <param name="protoType">Il tipo di documento da creare</param>
        /// <returns>Il riusltato dell'importazione</returns>
        public static ImportResult ImportRDEDocument(
            DocumentRowData rowData,
            InfoUtente userInfo,
            Ruolo role,
            string serverPath,
            ProtoType protoType)
        {
            // Instanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout ad infinito
            ws.Timeout = System.Threading.Timeout.Infinite;

            // Lettura del valore di configurazione utilizzato per indicare
            // se è obbligatoria la classificazione del documento
            bool isClassificationRequired = false;

            string valoreChiaveFasc = utils.InitConfigurationKeys.GetValue(UserManager.getInfoUtente().idAmministrazione, "FE_FASC_RAPIDA_REQUIRED");

            if (string.IsNullOrEmpty(valoreChiaveFasc))
            {
                valoreChiaveFasc = "false";
            }
            Boolean.TryParse(
                valoreChiaveFasc,
                out isClassificationRequired);

            try
            {
                // Chiamata del webservice per l'importazione RDE e restituzione
                // della lista dei risultati
                return(ws.ImportRDEDocument(
                           rowData,
                           userInfo,
                           role,
                           serverPath,
                           isClassificationRequired,
                           Utils.getAbilitazioneSmistamento() == "1",
                           false,
                           protoType));
            }
            catch (Exception e)
            {
                throw new Exception("Ricevuto errore dal servizio.");
            }
        }
Пример #6
0
        /// <summary>
        /// Reperimento dei documenti per il contesto di paginazione richiesto
        /// </summary>
        /// <param name="filters"></param>
        /// <param name="pagingContext"></param>
        /// <returns></returns>
        public InfoDocumento[] GetDocumenti(FiltroRicerca[] filters, PagingContext pagingContext)
        {
            InfoDocumento[] documenti = null;

            int pageCount;
            int recordCount;

            // Array degli idProfile dei documenti restituiti dalla ricerca
            SearchResultInfo[] idProfilesList = new SearchResultInfo[0];

            DocsPaWR.InfoUtente infoUtente = UserManager.getInfoUtente();

            DocsPaWebService ws = new DocsPaWebService();

            documenti = ws.DocumentoGetQueryDocumentoPaging(infoUtente.idGruppo,
                                                            infoUtente.idPeople,
                                                            new FiltroRicerca[1][] { filters },
                                                            false,
                                                            false,
                                                            pagingContext.PageNumber,
                                                            true,
                                                            false,
                                                            out pageCount,
                                                            out recordCount,
                                                            out idProfilesList);

            if (documenti == null)
            {
                documenti = new DocsPAWA.DocsPaWR.InfoDocumento[0];
            }

            pagingContext.PageCount   = pageCount;
            pagingContext.RecordCount = recordCount;

            if (idProfilesList != null)
            {
                // Salavtaggio della lista di idProfile dei documenti individuati
                pagingContext.IdProfilesList = new string[idProfilesList.Length];
                for (int i = 0; i < idProfilesList.Length; i++)
                {
                    pagingContext.IdProfilesList[i] = idProfilesList[i].Id;
                }
            }

            return(documenti);
        }
Пример #7
0
        /// <summary>
        /// Funzione per l'inizializzazione della sezione di ricerca
        /// </summary>
        private void InitializeSearchSection()
        {
            // Registrazione eventi onchange javascript per le text box dei codici
            this.txtDestinatariCodice.Attributes["onchange"] = String.Format("javascript:clearCorrData(this, '{0}');", this.txtDestinatariDescrizione.ClientID);
            this.txtVisibilitaCodice.Attributes["onchange"]  = String.Format("javascript:clearCorrData(this, '{0}');", this.txtVisibilitaDescrizione.ClientID);

            DocsPaWebService ws = new DocsPaWebService();

            ws.Timeout = Timeout.Infinite;
            //string[] amm = ((string)Session["AMMDATASET"]).Split('@');
            //string codAmm = amm[0];
            //String idAmm = ws.getIdAmmByCod(codAmm);
            String idAmm = UserManager.getInfoUtente().idAmministrazione;

            // Registri
            this.ddlRegistri.Items.Clear();
            this.ddlRegistri.Items.Add(String.Empty);
            OrganigrammaManager theManager = new OrganigrammaManager();

            theManager.ListaRegistriRF(idAmm, null, String.Empty);
            foreach (OrgRegistro item in theManager.getListaRegistri())
            {
                this.ddlRegistri.Items.Add(new ListItem(item.Descrizione, item.IDRegistro));
            }

            // Ragioni di trasmissione
            this.ddlRagioniTrasmissione.Items.Clear();
            this.ddlRagioniTrasmissione.Items.Add(String.Empty);
            RagioneTrasmissione[] rag = DocsPAWA.AdminTool.Manager.ModelliTrasmManager.getlistRagioniTrasm(idAmm, false, String.Empty);
            foreach (RagioneTrasmissione item in rag)
            {
                this.ddlRagioniTrasmissione.Items.Add(new ListItem(item.descrizione, item.systemId));
            }

            // Impostazione del css per i bottoni
            this.btnFind.CssClass           = this.ButtonCss;
            this.btnExport.CssClass         = this.ButtonCss;
            this.btnFindAndReplace.CssClass = this.ButtonCss;

            // Visualizzazione dei controlli in base al contesto
            this.ShowControl();

            // Caricamento dei registri
            this.LoadRegistryInformation();
        }
Пример #8
0
        /// <summary>
        /// Reperimento trasmissioni dell'utente e del ruolo, con la possibilità di effettuare filtri
        /// </summary>
        /// <param name="searchType"></param>
        /// <param name="pagingContext"></param>
        /// <param name="filters"></param>
        /// <returns></returns>
        public Trasmissione[] GetTrasmissioni(TipiTrasmissioniEnum searchType, PagingContext pagingContext, FiltroRicerca[] filters)
        {
            Trasmissione[] retValue = null;

            Utente utente = UserManager.getUtente();
            Ruolo  ruolo  = UserManager.getRuolo();

            DocsPaWebService ws = new DocsPaWebService();

            int pageCount;
            int recordCount;

            if (searchType == TipiTrasmissioniEnum.Effettuate)
            {
                retValue = ws.TrasmissioneGetQueryEffettuatePaging(
                    new TrasmissioneOggettoTrasm(),
                    filters,
                    utente,
                    ruolo,
                    pagingContext.PageNumber,
                    out pageCount,
                    out recordCount);
            }
            else
            {
                retValue = ws.TrasmissioneGetQueryRicevutePaging(
                    new TrasmissioneOggettoTrasm(),
                    filters,
                    utente,
                    ruolo,
                    pagingContext.PageNumber,
                    out pageCount,
                    out recordCount);
            }

            pagingContext.PageCount   = pageCount;
            pagingContext.RecordCount = recordCount;

            if (retValue == null)
            {
                retValue = new Trasmissione[0];
            }

            return(retValue);
        }
Пример #9
0
        public static byte[] CreateZipFromReport(ResultsContainer report, InfoUtente userInfo)
        {
            // Instanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout ad infinito
            ws.Timeout = System.Threading.Timeout.Infinite;
            try
            {
                // Chiamata del webservice per l'importazione dei documenti da
                // foglio Excel e restituzione della lista dei risultati
                return(ws.CreateZipFromReport(report, userInfo));
            }
            catch (Exception e)
            {
                throw new Exception("Ricevuto errore dal servizio.");
            }
        }
Пример #10
0
        /// <summary>
        /// Reperimento trasmissioni del documento,
        /// con la possibilità di effettuare filtri
        /// </summary>
        /// <param name="searchType"></param>
        /// <param name="pagingContext"></param>
        /// <param name="filters"></param>
        /// <param name="schedaDocumento"></param>
        /// <returns></returns>
        public Trasmissione[] GetTrasmissioniDocumento(SitoAccessibile.Trasmissioni.TipiTrasmissioniEnum tipoTrasmissione, PagingContext pagingContext, FiltroRicerca[] filters, SchedaDocumento schedaDocumento)
        {
            Trasmissione[] retValue = null;

            TrasmissioneOggettoTrasm oggettoTrasm = new TrasmissioneOggettoTrasm();

            if (schedaDocumento != null)
            {
                oggettoTrasm.infoDocumento = DocumentManager.getInfoDocumento(schedaDocumento);
            }

            Utente utente = UserManager.getUtente();
            Ruolo  ruolo  = UserManager.getRuolo();

            DocsPaWebService ws = new DocsPaWebService();

            int pageCount;
            int recordCount;

            if (tipoTrasmissione == SitoAccessibile.Trasmissioni.TipiTrasmissioniEnum.Effettuate)
            {
                retValue = ws.TrasmissioneGetQueryEffettuateDocPaging(
                    oggettoTrasm,
                    filters,
                    utente,
                    ruolo,
                    pagingContext.PageNumber,
                    out pageCount,
                    out recordCount);
            }
            else
            {
                pageCount   = 0;
                recordCount = 0;

                retValue = ws.TrasmissioneGetQueryRicevute(oggettoTrasm, filters, utente, ruolo);
            }

            pagingContext.PageCount   = pageCount;
            pagingContext.RecordCount = recordCount;

            return(retValue);
        }
Пример #11
0
        /// <summary>
        /// Funzione per l'estrazione dei dati relativi a corrispondenti da foglio Excel
        /// </summary>
        /// <param name="content">Il contenuto del file Excel</param>
        /// <param name="fileName">Il nome da attribuire al file temporaneo</param>
        /// <param name="userInfo">Le informazioni sull'utente che ha lanciato la procedura</param>
        /// <returns>Un oggetto con le informazioni sui corrispondenti su cui compiere le azioni</returns>
        public static AddressBookRowDataContainer ReadDataFromExcel(
            byte[] content,
            string fileName,
            InfoUtente userInfo)
        {
            // Istanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout
            ws.Timeout = System.Threading.Timeout.Infinite;

            // L'oggetto da restiture
            AddressBookRowDataContainer toReturn = null;

            // L'eventuale errore avvenuto in fase di estrazione dati
            string errorMessage = String.Empty;

            try
            {
                // Chiamata del metodo web per l'estrazione dei dati dal foglio Excel
                toReturn = ws.ReadAddressBookImportDataFromExcel(
                    content,
                    fileName,
                    userInfo,
                    out errorMessage);

                // Se si è verificato un errore un esecuzione, viene lanciata un'eccezione con il
                // dettaglio
                if (toReturn == null &&
                    !String.IsNullOrEmpty(errorMessage))
                {
                    throw new Exception(errorMessage);
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(toReturn);
        }
Пример #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string idProject = Request.QueryString["ID"].ToString();

            string requestAsXml = "<ExportFascicoloRequest>";

            InfoUtente       userInfo    = NttDataWA.UIManager.UserManager.GetInfoUser();
            DocsPaWebService webServices = new DocsPaWebService();

            if (!string.IsNullOrEmpty(idProject))
            {
                requestAsXml += "<fascicolo id=\"" + idProject + "\"/>";
                requestAsXml += "<userInfo userId=\"" + userInfo.userId + "\" idCorrGlobali=\"" + userInfo.idCorrGlobali + "\" idPeople=\"" + userInfo.idPeople + "\" idGruppo=\"" + userInfo.idGruppo + "\" idAmministrazione=\"" + userInfo.idAmministrazione + "\" sede=\"" + userInfo.sede + "\" urlWA=\"" + userInfo.urlWA + "\" dst=\"" + userInfo.dst + "\"/>";
            }

            requestAsXml += "</ExportFascicoloRequest>";

            String xmlInfoProject = webServices.GetInfoFascicoloAsXml(requestAsXml);

            Response.Write(xmlInfoProject);
        }
Пример #13
0
        /// <summary>
        ///
        /// </summary>
        private void SetDataArchivioCartaceo()
        {
            //DocsPaWR.FiltroRicerca[] filtri = FascicolazioneCartacea.SessionManager.Filtri;
            DocsPaWR.FiltroRicerca[] filtri = null;

            if (filtri != null && filtri.Length > 0)
            {
                DocsPaWR.ExportDataFormatEnum format = DocsPaWR.ExportDataFormatEnum.Pdf;
                if (this._tipologiaExport.ToUpper().Equals("XLS"))
                {
                    format = ExportDataFormatEnum.Excel;
                }

                DocsPaWR.DocsPaWebService ws = new DocsPaWebService();
                this._file = ws.FascCartaceaExportListFilters(UserManager.GetInfoUser(), format, filtri, this._titolo);

                if (this._file != null)
                {
                    exportDatiSessionManager session = new exportDatiSessionManager();
                    session.SetSessionExportFile(this._file);
                }
            }
        }
Пример #14
0
 private void PerformActionNotificaAnnullamento()
 {
     DocsPaWR.SchedaDocumento   schedaDocumento = DocumentManager.getDocumentoSelezionato(this);
     DocsPAWA.DocsPaWR.Registro reg;
     //se il protocollo è in entrata ed è stato ricevuto per interoperabilità, allora invio una notifica di annullamento al mittente
     if (schedaDocumento.protocollo.GetType() == typeof(DocsPAWA.DocsPaWR.ProtocolloEntrata))
     {
         if (!string.IsNullOrEmpty(schedaDocumento.documento_da_pec) || schedaDocumento.typeId == InteroperabilitaSemplificataManager.SimplifiedInteroperabilityId)
         {
             DocsPaWebService ws         = new DocsPaWebService();
             string           idRegistro = (schedaDocumento.protocollo as DocsPAWA.DocsPaWR.ProtocolloEntrata).mittente.idRegistro;
             if (!string.IsNullOrEmpty(idRegistro))
             {
                 reg = ws.GetRegistroBySistemId(idRegistro);
             }
             else
             {
                 reg = ws.GetRegistroBySistemId(schedaDocumento.registro.systemId);
             }
             DocumentManager.DocumentoInvioNotificaAnnulla(this, schedaDocumento.systemId, reg);
         }
     }
 }
Пример #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string docId        = Request.Params["ID"];
            string userInfoJSON = Request.Params["USERINFO"];

            InfoUtente userInfo = NttDataWA.UIManager.UserManager.GetInfoUser();

            if (!String.IsNullOrEmpty(userInfoJSON))
            {
                userInfo = JsonConvert.DeserializeObject <InfoUtente>(userInfoJSON);

                if (userInfo == null)
                {
                    throw new Exception("User info not found");
                }
            }

            DocsPaWebService webServices = new DocsPaWebService();

            ContentDocumento docContent = webServices.GetFileDocumento(userInfo, docId);

            Response.BinaryWrite(docContent.fileContent);
            Response.Flush();
        }
Пример #16
0
        /// <summary>
        /// Metodo per il salvataggio delle informazioni sull'utente loggato DA CONTROLLARE
        /// </summary>
        private void SaveUserInSession()
        {
            DocsPaWebService ws = new DocsPaWebService();

            ws.Timeout = System.Threading.Timeout.Infinite;
            string[] amministrazione       = ((string)Session["AMMDATASET"]).Split('@');
            string   codiceAmministrazione = amministrazione[0];
            string   idAmministrazione     = ws.getIdAmmByCod(codiceAmministrazione);

            SAAdminTool.DocsPaWR.Utente ut = new SAAdminTool.DocsPaWR.Utente();
            ut.codiceAmm         = codiceAmministrazione;
            ut.idAmministrazione = idAmministrazione;
            ut.tipoIE            = "I";

            //ut.idRegistro = idRegistro;

            Session.Add("userData", ut);

            SAAdminTool.DocsPaWR.Ruolo rl = new SAAdminTool.DocsPaWR.Ruolo();
            rl.codiceAmm         = codiceAmministrazione;
            rl.idAmministrazione = idAmministrazione;
            rl.tipoIE            = "I";

            //rl.idRegistro = idRegistro;

            rl.systemId         = idAmministrazione;
            rl.uo               = new SAAdminTool.DocsPaWR.UnitaOrganizzativa();
            rl.uo.codiceRubrica = codiceAmministrazione;
            Session.Add("userRuolo", rl);

            SAAdminTool.DocsPaWR.Registro reg = new SAAdminTool.DocsPaWR.Registro();

            //reg = ws.GetRegistroBySistemId(idRegistro);

            Session.Add("userRegistro", reg);
        }
Пример #17
0
        /// <summary>
        /// Ricerca fascicoli
        /// </summary>
        /// <param name="filterItem"></param>
        /// <param name="pagingContext"></param>
        /// <returns></returns>
        public static Fascicolo[] SearchFascicoli(FascicoliFilterItem filterItem, PagingContext pagingContext)
        {
            FiltroRicerca[] filters = filterItem.ToFiltriRicerca();

            int pageCount;
            int recordCount;


            Utente     user       = UserManager.getUtente();
            InfoUtente infoUtente = UserManager.getInfoUtente();

            Registro registro = null;

            foreach (Registro item in UserManager.getRuolo().registri)
            {
                if (item.systemId.Equals(filterItem.IDRegistro))
                {
                    registro = item;
                    break;
                }
            }

            FascicolazioneClassificazione classificazione = null;

            if (filterItem.CodiceNodoTitolario != string.Empty)
            {
                ClassificaHandler classificaHandler = new ClassificaHandler();
                classificazione = classificaHandler.GetClassificazione(filterItem.CodiceNodoTitolario, registro);
            }

            DocsPaWebService ws = new DocsPaWebService();

            // Lista dei system id dei fascicoli. Non utilizzata
            SearchResultInfo[] idProjects = null;

            Fascicolo[] retValue = ws.FascicolazioneGetListaFascicoliPaging(
                infoUtente,
                classificazione,
                registro,
                filters,
                false,
                false,
                false,
                pagingContext.PageNumber,
                pagingContext.PageSize,
                false,
                null,
                out pageCount,
                out recordCount,
                out idProjects);


            pagingContext.PageCount   = pageCount;
            pagingContext.RecordCount = recordCount;

            if (retValue == null)
            {
                retValue = new Fascicolo[0];
            }

            return(retValue);
        }
Пример #18
0
        public SelectorFilter(Page page, RubricaCallType calltype)
        {
            _page     = page;
            _calltype = calltype;

            // Inizializza la tabella UO smistamento


            string id_registro = null;

            if (calltype == SAAdminTool.DocsPaWR.RubricaCallType.CALLTYPE_PROTO_INGRESSO)
            {
                id_registro = ProtocollazioneIngresso.Registro.RegistroMng.GetRegistroInSessione().systemId;
            }
            else
            {
                Registro rreg = UserManager.getRegistroSelezionato(_page);
                if (rreg != null)
                {
                    id_registro = rreg.systemId;
                }
                else
                {
                    Ruolo rr = UserManager.getRuolo();

                    //se veniamo dall'amministrazione (per esempio nel caso di creazione
                    // di una lista di distribuzione) non sappiamo l'id del registro in
                    // esame
                    if (rr.registri == null)
                    {
                        string           codAmm = AmmUtils.UtilsXml.GetAmmDataSession((string)page.Session["AMMDATASET"], "0");
                        DocsPaWebService ws     = new DocsPaWebService();
                        OrgRegistro[]    reg    = ws.AmmGetRegistri(codAmm, "0");
                        if (reg.Length > 0)
                        {
                            id_registro = reg[0].IDRegistro;
                        }
                    }
                    else
                    {
                        id_registro = rr.registri[0].systemId;
                    }
                    //UserManager.setRegistroSelezionato(_page,rr.registri[0]);
                }
            }

            uo_smistamento = (UOSmistamento[])ht_uo_smistamento[id_registro];
            uo_interne     = (string[])ht_uo_interne[id_registro];

            if (uo_smistamento == null)
            {
                DocsPaWebService    ws = new DocsPaWebService();
                MittenteSmistamento ms = new MittenteSmistamento();
                ms.IDPeople    = "0";
                uo_smistamento = ws.GetUOSmistamento(id_registro, ms);

                if (uo_smistamento != null)
                {
                    Array.Sort(uo_smistamento, new UOSmistamentoByCodiceSorter());
                }
                else
                {
                    uo_smistamento = new UOSmistamento[0];
                }

                ht_uo_smistamento[id_registro] = uo_smistamento;
            }

            // Inizializza la tabella UO interne alla nostra AOO
            if (uo_interne == null)
            {
                DocsPaWebService ws = new DocsPaWebService();
                uo_interne = UserManager.GetUoInterneAoo(_page);

                if (uo_interne != null)
                {
                    Array.Sort(uo_interne, CaseInsensitiveComparer.Default);
                }

                ht_uo_interne[id_registro] = uo_interne;
            }
        }
Пример #19
0
 static CheckInOutAdminServices()
 {
     _webServices = new DocsPaWebService();
 }
Пример #20
0
        /// <summary>
        /// Reperimento dei registri disponibili per l'utente corrente
        /// </summary>
        /// <returns></returns>
        public Registro[] GetRegistri()
        {
            DocsPaWebService ws = new DocsPaWebService();

            return(ws.UtenteGetRegistri(UserManager.getInfoUtente().idCorrGlobali));
        }
Пример #21
0
        private List <Mezzi> GetMeansDeliveryFiltered(Canale canaleOrig, string idDest)
        {
            DocsPaWR.DocsPaWebService           wws    = new DocsPaWebService();
            DocsPAWA.DocsPaWR.MezzoSpedizione[] m_sped = wws.AmmListaMezzoSpedizione(UserManager.getInfoUtente().idAmministrazione, false);
            List <Mezzi>   filteredMeans = new List <Mezzi>();
            Corrispondente corr          = UserManager.getCorrispondenteBySystemID(this.Page, idDest);

            if (canaleOrig != null)
            {
                switch (canaleOrig.typeId.ToUpper())
                {
                case "INTEROPERABILITA":
                    foreach (MezzoSpedizione m in m_sped)
                    {
                        // Il canale interoperabilità semplificata non può essere inserito se il corrispondente non
                        // ha URL mentre il canale mail non deve essere inserito
                        if ((m.chaTipoCanale == "S" && InteroperabilitaSemplificataManager.IsEnabledSimpInterop &&
                             corr.Url != null && corr.Url.Length > 0 &&
                             Uri.IsWellFormedUriString(corr.Url[0].Url, UriKind.Absolute)) ||
                            (m.chaTipoCanale != "S" && !m.Descrizione.ToUpper().Equals("MAIL")))
                        {
                            filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem));
                        }
                    }
                    break;

                case "MAIL":
                    foreach (MezzoSpedizione m in m_sped)
                    {
                        if (!m.Descrizione.ToUpper().Equals("INTEROPERABILITA") && m.chaTipoCanale != "S")
                        {
                            filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem));
                        }
                        else
                        {
                            if (m.chaTipoCanale == "S")
                            {
                                if (InteroperabilitaSemplificataManager.IsEnabledSimpInterop &&
                                    corr.Url != null && corr.Url.Length > 0 &&
                                    Uri.IsWellFormedUriString(corr.Url[0].Url, UriKind.Absolute))
                                {
                                    filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem));
                                }
                            }
                            else
                            //Verifico che siano presenti i campi obbligatori per l'utente con canale preferito INTEROPERABILITA
                            if (!string.IsNullOrEmpty(corr.codiceAmm) && (!string.IsNullOrEmpty(corr.codiceAOO)) && (!string.IsNullOrEmpty(corr.email)))
                            {
                                filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem));
                            }
                        }
                    }
                    break;

                default:
                    this.FilterInteroperability(m_sped, corr, ref filteredMeans);

                    break;
                }
            }
            return(filteredMeans);
        }
Пример #22
0
 public void DestroyAll()
 {
     this.ws = null;
 }
Пример #23
0
        public static ImportResult ImportAndAcquireDocument(
            DocumentRowData documentToImport,
            ProtoType protoType,
            string serverPath,
            InfoUtente userInfo,
            Ruolo role,
            ref ResultsContainer resultsContainer)
        {
            // Instanziazione del web service
            DocsPaWebService ws = new DocsPaWebService();

            // Impostazione del timeout ad infinito
            ws.Timeout = System.Threading.Timeout.Infinite;

            // Lettura del valore di configurazione utilizzato per indicare
            // se è obbligatoria la profilazione del documento
            bool isProfilationRequired = false;

            //Boolean.TryParse(
            //    ConfigurationManager.AppSettings["TIPO_ATTO_REQUIRED"],
            //    out isProfilationRequired);
            string idAmm = userInfo.idAmministrazione;

            if (DocumentManager.GetTipoDocObbl(idAmm).Equals("1"))
            {
                isProfilationRequired = true;
            }

            // Lettura del valore di configurazione utilizzato per indicare
            // se è obbligatoria la classificazione del documento
            bool   isClassificationRequired = false;
            string valoreChiaveFasc         = utils.InitConfigurationKeys.GetValue(UserManager.getInfoUtente().idAmministrazione, "FE_FASC_RAPIDA_REQUIRED");

            if (string.IsNullOrEmpty(valoreChiaveFasc))
            {
                valoreChiaveFasc = "false";
            }

            Boolean.TryParse(
                valoreChiaveFasc,
                out isClassificationRequired);

            try
            {
                // Chiamata del webservice per l'importazione dei documenti da
                // foglio Excel e restituzione della lista dei risultati
                return(ws.ImportAndAcquireDocument(
                           documentToImport,
                           protoType,
                           serverPath,
                           userInfo,
                           role,
                           isProfilationRequired,
                           isClassificationRequired,
                           Utils.getAbilitazioneSmistamento() == "1",
                           ref resultsContainer,
                           importazionePregressiAbilitata()));
            }
            catch (Exception e)
            {
                throw new Exception("Ricevuto errore dal servizio.");
            }
        }
Пример #24
0
 static MTextUtils()
 {
     ws         = new DocsPaWebService();
     ws.Timeout = Timeout.Infinite;
 }
Пример #25
0
 public void InitializeTest()
 {
     this.ws         = new DocsPaWebService();
     this.ws.Timeout = System.Threading.Timeout.Infinite;
 }
Пример #26
0
 /// <summary>
 ///
 /// </summary>
 static SaveFileServices()
 {
     _webServices = new DocsPaWebService();
 }
Пример #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);
        }
Пример #28
0
        /// <summary>
        /// Return true se il ruolo ha cha_spedisci = 1:
        /// per destinatari interoperanti esterni su una o più delle caselle associate a registri/rf sui quali il ruolo ha visibilità.
        /// per destinatari interoperanti interni
        /// </summary>
        /// <param name="page"></param>
        /// /// <param name="verifyDest"> "I" - check solo per destinatari interni, "E" - check solo per destinatariv esterni, "A" - check tutti</param>
        /// <returns></returns>
        public static bool RoleIsAuthorizedSend(Page page, string verifyDest)
        {
            DocsPaWebService ws  = new DocsPaWebService();
            bool             res = false;

            //prendo gli rf associati al ruolo
            SAAdminTool.DocsPaWR.Registro[] rf       = UserManager.getListaRegistriWithRF(page, "1", UserManager.getRegistroSelezionato(page).systemId);
            SAAdminTool.DocsPaWR.Registro[] registri = UserManager.getListaRegistriWithRF(page, "0", UserManager.getRegistroSelezionato(page).systemId);
            foreach (SAAdminTool.DocsPaWR.Registro registro in rf)
            {
                DataSet ds = utils.MultiCasellaManager.GetRightMailRegistro(registro.systemId, UserManager.getRuolo().systemId);
                if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                {
                    switch (verifyDest)
                    {
                    case "E":
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if (row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()))
                            {
                                return(res = true);
                            }
                        }
                        break;

                    case "I":
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if (row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())
                            {
                                return(res = true);
                            }
                        }
                        break;

                    default:
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if ((row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString())) ||
                                ((row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())))
                            {
                                return(res = true);
                            }
                        }
                        break;
                    }
                }
            }

            //prendo i registri associati al ruolo

            foreach (SAAdminTool.DocsPaWR.Registro registro in registri)
            {
                DataSet ds = utils.MultiCasellaManager.GetRightMailRegistro(registro.systemId, UserManager.getRuolo().systemId);
                if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                {
                    switch (verifyDest)
                    {
                    case "E":
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if (row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()))
                            {
                                return(res = true);
                            }
                        }
                        break;

                    case "I":
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if (row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())
                            {
                                return(res = true);
                            }
                        }
                        break;

                    default:
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if ((row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString())) ||
                                ((row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())))
                            {
                                return(res = true);
                            }
                        }
                        break;
                    }
                }
            }
            return(res);
        }
Пример #29
0
        /// <summary>
        /// Reperimento degli allegati del documento
        /// </summary>
        /// <param name="docNumber"></param>
        /// <returns></returns>
        public Allegato[] GetAllegatiDocumento(string docNumber)
        {
            DocsPaWebService ws = new DocsPaWebService();

            return(ws.DocumentoGetAllegati(docNumber, string.Empty, string.Empty));
        }
Пример #30
0
        /// <summary>
        /// Funzione per l'applicazione del timestamp a tutti i documenti selezionati
        /// </summary>
        /// <param name="selectedItem">Lista dei system id dei documenti selezionati</param>
        /// <param name="report">Report di esecuzione</param>
        private void ApplyTimeStampToDocuments(List <MassiveOperationTarget> selectedItem, MassiveOperationReport report)
        {
            #region Dichiarazione variabili

            DocsPaWebService ws = new DocsPaWebService();
            ws.Timeout = System.Threading.Timeout.Infinite;
            // Lista delle informazioni di base sul documento
            // contenete il file a cui aggiungere il timestamp
            BaseInfoDoc[] baseInfoDocs = null;

            // Le informazioni sul documento di interesse
            BaseInfoDoc tmpDoc;

            // Il file a cui applicare il timestamp
            string convertedFile;

            // Messaggio da aggiungere al report
            string message;

            // Risultato dell'applicazione del timestamp ad un documento
            MassiveOperationReport.MassiveOperationResultEnum result;

            #endregion

            // Per ogni documento a cui bisogna applicare il timestamp...
            foreach (MassiveOperationTarget temp in selectedItem)
            {
                // ...inizializzazione del messaggio e dell'esito
                message = String.Empty;
                result  = MassiveOperationReport.MassiveOperationResultEnum.OK;
                string accessRight = ws.getAccessRightDocBySystemID(temp.Id, UserManager.getInfoUtente(this));
                if (accessRight.Equals("20"))
                {
                    message = "Il documento è in attesa di accettazione, quindi non può essere il effettuato Timestamp";
                    result  = MassiveOperationReport.MassiveOperationResultEnum.KO;
                }

                // ...recupero del contenuto delle informazioni di base sul documento
                if (result == MassiveOperationReport.MassiveOperationResultEnum.OK)
                {
                    try
                    {
                        if (accessRight.Equals("20"))
                        {
                            message = "Il documento è in attesa di accettazione, quindi non può essere il Timestamp";
                            result  = MassiveOperationReport.MassiveOperationResultEnum.KO;
                        }
                        else
                        {
                            baseInfoDocs = DocumentManager.GetBaseInfoForDocument(
                                temp.Id,
                                String.Empty,
                                String.Empty);
                        }
                    }
                    catch (Exception e)
                    {
                        message = "Errore durante il recupero dei dati sul documento.";
                        result  = MassiveOperationReport.MassiveOperationResultEnum.KO;

                        return;
                    }

                    // ...se baseInfoDocs non contiene elementi o non contiene un documento
                    // con idProfile ugual a idProfile -> errore
                    if (baseInfoDocs != null &&
                        baseInfoDocs.Where(e => e.IdProfile.Equals(temp.Id)).Count() == 1)
                    {
                        try
                        {
                            // Recupero delle informazioni sul documento
                            tmpDoc = baseInfoDocs.Where(e => e.IdProfile.Equals(temp.Id)).FirstOrDefault();

                            // Recupero del contenuto del file a cui applicare il timestamp
                            convertedFile = this.GetFileForDocument(tmpDoc);

                            // Recupero del file e applicazione del time stamp
                            message = this.ApplyTimeStampToDocument(
                                convertedFile,
                                tmpDoc.DocNumber,
                                tmpDoc.VersionId);
                        }
                        catch (Exception e)
                        {
                            message = e.Message;
                            result  = MassiveOperationReport.MassiveOperationResultEnum.KO;
                        }
                    }
                    else
                    {
                        message = "Errore durante il recupero dei dati sul documento.";
                        result  = MassiveOperationReport.MassiveOperationResultEnum.KO;
                    }
                }
                // Aggiunta della riga al report
                report.AddReportRow(
                    temp.Codice,
                    result,
                    message);
            }
        }