/// <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; } } } } }