예제 #1
0
        private static void EstraiDatiProtoUscita(DocsPaVO.documento.SchedaDocumento schDoc, Registrazione registrazione)
        {
            DocsPaVO.documento.ProtocolloUscita protUsc = schDoc.protocollo as DocsPaVO.documento.ProtocolloUscita;
            if (protUsc != null)
            {
                List <Destinatario> destList = new List <Destinatario>();
                if (protUsc.destinatari != null)
                {
                    foreach (object c in protUsc.destinatari)
                    {
                        DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente;
                        Destinatario d = new Destinatario
                        {
                            Codice          = corrItem.codiceRubrica,
                            IndirizzoMail   = corrItem.email,
                            Descrizione     = corrItem.descrizione,
                            MezzoSpedizione = protUsc.mezzoSpedizione.ToString()
                        };
                        destList.Add(d);
                    }
                }
                if (protUsc.destinatariConoscenza != null)
                {
                    foreach (object c in protUsc.destinatariConoscenza)
                    {
                        DocsPaVO.utente.Corrispondente corrItem = c as DocsPaVO.utente.Corrispondente;
                        Destinatario d = new Destinatario
                        {
                            Codice          = corrItem.codiceRubrica,
                            IndirizzoMail   = corrItem.email,
                            Descrizione     = corrItem.descrizione,
                            MezzoSpedizione = protUsc.mezzoSpedizione.ToString()
                        };
                        destList.Add(d);
                    }
                }

                if (protUsc.mittente != null)
                {
                    List <Mittente> mittList = new List <Mittente>();

                    Mittente m = new Mittente
                    {
                        Codice                 = protUsc.mittente.codiceRubrica,
                        IndirizzoMail          = protUsc.mittente.email,
                        Descrizione            = protUsc.mittente.descrizione,
                        ProtocolloMittente     = null,
                        DataProtocolloMittente = null
                    };
                    mittList.Add(m);
                    registrazione.Mittente = mittList.ToArray();
                }
                registrazione.Destinatario = destList.ToArray();
            }
        }
예제 #2
0
        /// <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()));
                }
            }
        }