Esempio n. 1
0
        /// <summary>
        /// Effettua dei controlli legati al tipo di mezzo di spedizione scelto per ogni singolo destinatario
        /// </summary>
        /// <param name="destinatari"></param>
        protected void CheckMezzoDiSpedizione(DocsPaWR.DestinatarioEsterno[] destinatari)
        {
            DocsPaWR.DocsPaWebService ws = new DocsPaWR.DocsPaWebService();
            foreach (DocsPaWR.DestinatarioEsterno dest in destinatari)
            {
                //se destinatario diverso da occasionale
                if (!dest.DatiDestinatari[0].tipoCorrispondente.ToUpper().Equals("O"))
                {
                    //se il destinatario di default è interoperante ma per la trasmissione corrente, ha scelto un mezzo di trasmissione non interoperante, allora
                    // aggiorno le informazioni sullo stato.
                    if (dest.DatiDestinatari[0].canalePref != null)
                    {
                        if ((!string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.descrizione)) &&
                            (!dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("MAIL")) &&
                            (!dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("INTEROPERABILITA")) &&
                            (!dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("PORTALE")) &&
                            (!dest.DatiDestinatari[0].canalePref.typeId.Equals(SimplifiedInteroperabilityManager.SimplifiedInteroperabilityId)))
                        //((!string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.typeId) && !dest.DatiDestinatari[0].canalePref.typeId.ToUpper().Equals("S")) ||
                        //(!string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.tipoCanale) && !dest.DatiDestinatari[0].canalePref.tipoCanale.ToUpper().Equals(InteroperabilitaSemplificataManager.SimplifiedInteroperabilityId))))
                        {
                            // destinatario non interoperante
                            dest.Interoperante = false;
                            dest.StatoSpedizione.Descrizione = "mezzo di spedizione: " + dest.DatiDestinatari[0].canalePref.descrizione;
                        }
                    }
                    //DocsPaWR.Canale canalePref = UserManager.getCorrispondentBySystemID(dest.DatiDestinatari[0].systemId).canalePref;
                    DocsPaWR.Canale canalePref = SenderManager.getDatiCanPref(dest.DatiDestinatari[0]);
                    //se il canale preferenziale non è definito ed il mezzo di spedizione per la trasmissione corrente non è interoperante,
                    //allora aggiorno le informazioni sullo stato ed imposto il corrispondente come non interoperante
                    if (canalePref == null && !dest.DatiDestinatari[0].tipoIE.Equals("I"))
                    {
                        // Ticket Unitn-Apss dopo rilascio reperortori 3.19.x-brach.. impossibile spedire i documenti se un destinatario non ha il mezzo
                        //if (
                        //    !string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.descrizione) &&
                        //    ((dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("MAIL")) ||
                        //    (dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("INTEROPERABILITA"))))
                        //{
                        dest.Interoperante = false;
                        dest.StatoSpedizione.Descrizione = "Canale preferenziale non definito";
                        //}
                    }

                    if (canalePref != null &&
                        ((!string.IsNullOrEmpty(canalePref.descrizione)) &&
                         (!canalePref.descrizione.ToUpper().Equals("MAIL")) &&
                         (!canalePref.descrizione.ToUpper().Equals("INTEROPERABILITA")) &&
                         (!canalePref.descrizione.ToUpper().Equals("PORTALE"))) &&
                        (dest.DatiDestinatari[0].canalePref != null && !dest.DatiDestinatari[0].canalePref.typeId.Equals(SimplifiedInteroperabilityManager.SimplifiedInteroperabilityId)))
                    //((!string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.typeId) && !dest.DatiDestinatari[0].canalePref.typeId.ToUpper().Equals("S")) ||
                    //(!string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.tipoCanale) && !dest.DatiDestinatari[0].canalePref.tipoCanale.ToUpper().Equals(InteroperabilitaSemplificataManager.SimplifiedInteroperabilityId))))
                    {
                        if ((!string.IsNullOrEmpty(dest.DatiDestinatari[0].canalePref.descrizione)) &&
                            ((!dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("MAIL")) &&
                             (!dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("INTEROPERABILITA")) &&
                             (!dest.DatiDestinatari[0].canalePref.descrizione.ToUpper().Equals("PORTALE")) &&
                             (!dest.DatiDestinatari[0].canalePref.typeId.Equals(SimplifiedInteroperabilityManager.SimplifiedInteroperabilityId))))
                        {
                            dest.Interoperante = false;
                            dest.StatoSpedizione.Descrizione = "Canale preferenziale non interoperante.\nmezzo di spedizione: " + dest.DatiDestinatari[0].canalePref.descrizione;
                        }
                    }
                }
            }
        }