示例#1
0
        /// <summary>
        /// Creazione di un elemento contenente gli attributi
        /// di un corrispondente docspa da inviare a rubrica comune
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="idElemento">
        /// Id dell'elemento docspa da inviare a rubrica comune
        /// </param>
        /// <param name="tipo">
        /// Tipo di elemento da salvare
        /// </param>
        /// <returns></returns>
        public static RC.Proxy.Elementi.ElementoRubrica NuovoElementoRubrica(DocsPaWR.InfoUtente infoUtente, string idElemento, Tipo tipo)
        {
            RC.Proxy.Elementi.ElementoRubrica elementoRubrica = null;

            DocsPaWR.ElementoRC elementoDaInviare = null;

            switch (tipo)
            {
                case Tipo.UO:
                    elementoDaInviare = new DocsPaWR.DocsPaWebService().GetElementoRubricaUO(infoUtente, idElemento);
                    break;
                case Tipo.RF:
                    elementoDaInviare = new DocsPaWR.DocsPaWebService().GetElementoRubricaRF(infoUtente, idElemento);
                    break;
            }

            if (elementoDaInviare != null)
            {
                // UO ancora non presente in rubrica comune
                elementoRubrica = new RC.Proxy.Elementi.ElementoRubrica();

                elementoRubrica.Codice = elementoDaInviare.CodiceRubrica;
                elementoRubrica.Descrizione = elementoDaInviare.DescrizioneRubrica;

                ExtractDetails(elementoRubrica, elementoDaInviare, tipo);
            }

            return elementoRubrica;
        }
示例#2
0
        /// <summary>
        /// Creazione di un elemento contenente gli attributi
        /// di un corrispondente docspa da inviare a rubrica comune
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="idElemento">
        /// Id dell'elemento docspa da inviare a rubrica comune
        /// </param>
        /// <param name="tipo">
        /// Tipo di elemento da salvare
        /// </param>
        /// <returns></returns>
        public static RC.Proxy.Elementi.ElementoRubrica NuovoElementoRubrica(DocsPaWR.InfoUtente infoUtente, string idElemento, Tipo tipo)
        {
            RC.Proxy.Elementi.ElementoRubrica elementoRubrica = null;

            DocsPaWR.ElementoRC elementoDaInviare = null;

            switch (tipo)
            {
            case Tipo.UO:
                elementoDaInviare = new DocsPaWR.DocsPaWebService().GetElementoRubricaUO(infoUtente, idElemento);
                break;

            case Tipo.RF:
                elementoDaInviare = new DocsPaWR.DocsPaWebService().GetElementoRubricaRF(infoUtente, idElemento);
                break;
            }

            if (elementoDaInviare != null)
            {
                // UO ancora non presente in rubrica comune
                elementoRubrica = new RC.Proxy.Elementi.ElementoRubrica();

                elementoRubrica.Codice      = elementoDaInviare.CodiceRubrica;
                elementoRubrica.Descrizione = elementoDaInviare.DescrizioneRubrica;

                ExtractDetails(elementoRubrica, elementoDaInviare, tipo);
                if (tipo.Equals(Tipo.RF) && elementoDaInviare.CodiceRubrica != null)
                {
                    // Ricerca dell'elemento in rubrica comune
                    RC.Proxy.Elementi.ElementoRubrica elementoRubricaDetails = new RC.Proxy.Elementi.ElementoRubrica();
                    elementoRubricaDetails = GetElementiRubricaServiceInstance(infoUtente).SearchSingle(elementoDaInviare.CodiceRubrica, global::RubricaComune.Proxy.Elementi.TipiRicercaParolaEnum.ParolaIntera);
                    if (elementoRubricaDetails != null)
                    {
                        SetRfDetails2(elementoRubrica, elementoRubricaDetails);
                    }
                }
            }

            return(elementoRubrica);
        }
示例#3
0
        /// <summary>
        /// Metodo per la compilazione del dettaglio del corrispondente
        /// </summary>
        /// <param name="elementoRubrica">Elemento di cui impostare il dettaglio</param>
        /// <param name="elementoDaInviare">Elemento da cui estrarre il dettaglio</param>
        /// <param name="tipo">Tipo del corrispondente</param>
        private static void ExtractDetails(RC.Proxy.Elementi.ElementoRubrica elementoRubrica, DocsPaWR.ElementoRC elementoDaInviare, Tipo tipo)
        {
            switch (tipo)
            {
                case Tipo.UO:
                    SetUoDetails(elementoRubrica, (DocsPaWR.ElementoRubricaUO)elementoDaInviare);
                    break;
                case Tipo.RF:
                    SetRfDetails(elementoRubrica, (DocsPaWR.ElementoRubricaRF)elementoDaInviare);
                    break;

            }

            // Se presente la mail del registro, l'elemento rubrica è interoperante
            elementoRubrica.Email = elementoDaInviare.EMailRegistro;
            elementoRubrica.Amministrazione = elementoDaInviare.Amministrazione;
            elementoRubrica.AOO = elementoDaInviare.AOO;

            // Impostazione dell'URL (viene valorizzato solo se l'RF o il registro associato alla UO è interoperante
            switch (tipo)
            {
                case Tipo.UO:
                    elementoRubrica.Urls = UIManager.SimplifiedInteroperabilityManager.GetUrls(tipo, ((DocsPaWR.ElementoRubricaUO)elementoDaInviare).UO.IDCorrGlobale);
                    break;
                case Tipo.RF:
                    elementoRubrica.Urls = UIManager.SimplifiedInteroperabilityManager.GetUrls(tipo, ((DocsPaWR.ElementoRubricaRF)elementoDaInviare).RF.systemId);
                    break;
            }


            elementoRubrica.TipoCorrispondente = tipo;

        }