private static void EstraiDatiProtoInterno(DocsPaVO.documento.SchedaDocumento schDoc, Registrazione registrazione) { DocsPaVO.documento.ProtocolloInterno protInt = schDoc.protocollo as DocsPaVO.documento.ProtocolloInterno; if (protInt != null) { List <Destinatario> destList = new List <Destinatario>(); if (protInt.destinatari != null) { foreach (object c in protInt.destinatari) { DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente; Destinatario d = new Destinatario { Codice = corrItem.codiceRubrica, IndirizzoMail = corrItem.email, Descrizione = corrItem.descrizione, MezzoSpedizione = protInt.mezzoSpedizione.ToString() }; destList.Add(d); } } if (protInt.destinatariConoscenza != null) { foreach (object c in protInt.destinatariConoscenza) { DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente; Destinatario d = new Destinatario { Codice = corrItem.codiceRubrica, IndirizzoMail = corrItem.email, Descrizione = corrItem.descrizione, MezzoSpedizione = protInt.mezzoSpedizione.ToString() }; destList.Add(d); } } if (protInt.mittente != null) { List <Mittente> mittList = new List <Mittente>(); Mittente m = new Mittente { Codice = protInt.mittente.codiceRubrica, IndirizzoMail = protInt.mittente.email, Descrizione = protInt.mittente.descrizione, ProtocolloMittente = null, DataProtocolloMittente = null }; mittList.Add(m); registrazione.Mittente = mittList.ToArray(); } registrazione.Destinatario = destList.ToArray(); } }
/// <summary> /// Caricamento nella lista delle proprietà ocs /// della descrizione dei mittenti / destinatari del documento /// </summary> /// <param name="schedaDocumento"></param> /// <param name="metaDataList"></param> private static void fetchMittentiDestinatari(DocsPaVO.documento.SchedaDocumento schedaDocumento, List <MetadataType> metaDataList) { if (schedaDocumento.tipoProto.Equals("A")) { // Se il documento è in ingresso, viene reperito solo il mittente DocsPaVO.documento.ProtocolloEntrata pe = (DocsPaVO.documento.ProtocolloEntrata)schedaDocumento.protocollo; if (pe.mittente != null && pe.mittente.descrizione != null) { metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.MITTENTE, pe.mittente.ToString())); } } else if (schedaDocumento.tipoProto.Equals("P")) { // Se il documento è in uscita, vengono reperiti sia il mittente che i destinatari (anche per conoscenza) DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)schedaDocumento.protocollo; if (pu.mittente != null && pu.mittente.descrizione != null) { metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.MITTENTE, pu.mittente.ToString())); } if (pu.destinatari != null && pu.destinatari.Count > 0) { List <string> destList = new List <string>(); foreach (DocsPaVO.utente.Corrispondente item in pu.destinatari) { destList.Add(item.ToString()); } metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.DESTINATARI, destList.ToArray())); } if (pu.destinatariConoscenza != null && pu.destinatariConoscenza.Count > 0) { List <string> destList = new List <string>(); foreach (DocsPaVO.utente.Corrispondente item in pu.destinatariConoscenza) { destList.Add(item.ToString()); } metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.DESTINATARI_CC, destList.ToArray())); } } else if (schedaDocumento.tipoProto.Equals("I")) { // Se il documento è interno, vengono reperiti sia il mittente che i destinatari (anche per conoscenza) DocsPaVO.documento.ProtocolloInterno pi = (DocsPaVO.documento.ProtocolloInterno)schedaDocumento.protocollo; if (pi.mittente != null && pi.mittente.descrizione != null) { metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.MITTENTE, pi.mittente.ToString())); } if (pi.destinatari != null && pi.destinatari.Count > 0) { List <string> destList = new List <string>(); foreach (DocsPaVO.utente.Corrispondente item in pi.destinatari) { destList.Add(item.ToString()); } metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.DESTINATARI, destList.ToArray())); } if (pi.destinatariConoscenza != null && pi.destinatariConoscenza.Count > 0) { List <string> destList = new List <string>(); foreach (DocsPaVO.utente.Corrispondente item in pi.destinatariConoscenza) { destList.Add(item.ToString()); } metaDataList.Add(OCSUtils.getMetadataItem(DocsPaObjectType.TypeDocumentoProtocollo.DESTINATARI_CC, destList.ToArray())); } } }