/// <summary> /// Caricamento dati protocollo interno /// </summary> private void FetchProtocolloInterno() { ProtocolloInterno protocollo = this.GetSchedaDocumento().protocollo as ProtocolloInterno; if (protocollo != null) { this.txtCodMitt.Text = protocollo.mittente.codiceRubrica; this.txtDescMitt.Text = protocollo.mittente.descrizione; this.FetchItemsDestinatari(this.lstDestinatari.Items, protocollo.destinatari); this.FetchItemsDestinatari(this.lstDestinatariCC.Items, protocollo.destinatariConoscenza); } }
/// <summary> /// Funzione per la creazione dell'oggetto protocollo in Ingresso /// </summary> /// <param name="rowData">L'oggetto con le informazioni sul documenti interno da creare</param> /// <param name="registrySyd">Il system id del registro</param> /// <param name="rfSyd">Il system id dell'RF</param> /// <param name="administrationSyd">Il system id dell'amministrazione</param> /// <param name="isSmistamentoEnabled">True se è abilitato lo smistamento</param> /// <param name="userInfo">Le informazioni sull'utente che ha lanciato la procedura</param> /// <param name="role">Il ruolo con cui è stata lanciata la procedura</param> /// <returns>L'oggetto con le informazioni sul protocollo da creare</returns> protected override Protocollo CreateProtocolObject(DocumentRowData rowData, string registrySyd, string rfSyd, string administrationSyd, bool isSmistamentoEnabled, InfoUtente userInfo, Ruolo role) { // Creazione dell'oggetto ProtocolloInterno ProtocolloInterno ownProto = new ProtocolloInterno(); // Il corrispondente da inserire Corrispondente corr; // Il codice corrispondente da analizzare // Questo array dovrà contenere due elementi: Il codice corrispondente // e la tipologia (M, D, CC) string[] corrToAdd; // Creazione lista destinatari e destinatari conoscenza ownProto.destinatari = new ArrayList(); ownProto.destinatariConoscenza = new ArrayList(); // Per ogni codice corrispondente in CorrCode... foreach (string corrDesc in rowData.CorrCode) { // Spezzettamento dei dati sul corrispondente corrToAdd = corrDesc.Split('#'); // Se non ci sono più tre elementi, eccezione // Tre elementi poiché il formato con cui è scritto il codice è // <Codice>#D|CC# if (corrToAdd.Length != 3) { throw new Exception(String.Format( "Specifica corrispondente non valida: {0}", corrDesc)); } // A seconda del tipo di corrispondente bisogna intraprendere // azioni differenti switch (corrToAdd[1].ToUpper().Trim()) { case "M": // Mittente del protocollo // Reperimento del corrispondente corr = ImportUtils.GetCorrispondenteByCode( ParametriRicercaRubrica.CallType.CALLTYPE_PROTO_INT_MITT, corrToAdd[0].Trim(), role, userInfo, registrySyd, rfSyd, isSmistamentoEnabled, DocsPaVO.addressbook.TipoUtente.GLOBALE); // Impostazione del mittente, se individuato if (corr != null) { ownProto.mittente = corr; } break; case "D": // Destinatario principale // Reperimento del corrispondente corr = ImportUtils.GetCorrispondenteByCode( ParametriRicercaRubrica.CallType.CALLTYPE_PROTO_INT_DEST, corrToAdd[0].Trim(), role, userInfo, registrySyd, rfSyd, isSmistamentoEnabled, DocsPaVO.addressbook.TipoUtente.GLOBALE); // Aggiunta del corrispondente alla lista dei destinatari, se individuato if (corr != null) { ownProto.destinatari.Add(corr); } break; case "CC": // Destinatario in copia // Reperimento del corrispondente corr = ImportUtils.GetCorrispondenteByCode( ParametriRicercaRubrica.CallType.CALLTYPE_PROTO_INT_DEST, corrToAdd[0].Trim(), role, userInfo, registrySyd, rfSyd, isSmistamentoEnabled, DocsPaVO.addressbook.TipoUtente.GLOBALE); // Aggiunta del corrispondente alla lista dei destinatari, se individuato if (corr != null) { ownProto.destinatariConoscenza.Add(corr); } break; } } // Aggiornamento di destinatari, mittenti e destinatari in conoscenza ownProto.daAggiornareDestinatari = true; ownProto.daAggiornareMittente = true; ownProto.daAggiornareDestinatariConoscenza = true; // Restituzione dell'oggetto con le informazioni sul protocollo return(ownProto); }
/// <summary> /// Costruttore con i relativi controlli!!! /// </summary> /// <param name="schDoc"></param> public Metadati(DocsPaVO.documento.SchedaDocumento schDoc) { try { dataCreazione = schDoc.dataCreazione; oraCreazione = schDoc.oraCreazione; docNumber = schDoc.docNumber; descMezzoSpedizione = schDoc.descMezzoSpedizione; if (schDoc.tipoProto.ToUpper() == "G") { tipoProto = "non protocollato"; } else { tipoProto = schDoc.tipoProto; } if (schDoc.protocollo != null) { if (schDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloEntrata)) { DocsPaVO.documento.ProtocolloEntrata protE = (DocsPaVO.documento.ProtocolloEntrata)schDoc.protocollo; ProtocolloEntrata protocolloE = new ProtocolloEntrata(); protocolloE.anno = protE.anno; protocolloE.dataProtocollazione = protE.dataProtocollazione; protocolloE.dataProtocolloMittente = protE.dataProtocolloMittente; protocolloE.descrizioneProtocolloMittente = protE.descrizioneProtocolloMittente; protocolloE.numero = protE.numero; protocolloE.segnatura = protE.segnatura; if (protE.mittente != null) { protocolloE.mittente = new Corrispondente(); protocolloE.mittente.descrizione = protE.mittente.descrizione; } else { protocolloE.mittente = null; } protocollo = new ProtocolloEntrata(); protocollo = protocolloE; } if (schDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloInterno)) { DocsPaVO.documento.ProtocolloInterno protI = (DocsPaVO.documento.ProtocolloInterno)schDoc.protocollo; ProtocolloInterno protocolloI = new ProtocolloInterno(); protocolloI.anno = protI.anno; protocolloI.dataProtocollazione = protI.dataProtocollazione; protocolloI.numero = protI.numero; protocolloI.segnatura = protI.segnatura; if (protI.mittente != null) { protocolloI.mittente = new Corrispondente(); protocolloI.mittente.descrizione = protI.mittente.descrizione; } else { protocolloI.mittente = null; } if (protI.destinatari.Count > 0) { protocolloI.destinatari = new ArrayList(); for (int i = 0; i < protI.destinatari.Count; i++) { DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protI.destinatari[i]; Corrispondente corrCons = new Corrispondente(); corrCons.descrizione = corr.descrizione; protocolloI.destinatari.Add(corrCons); } } if (protI.destinatariConoscenza.Count > 0) { protocolloI.destinatariConoscenza = new ArrayList(); for (int i = 0; i < protI.destinatariConoscenza.Count; i++) { DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protI.destinatariConoscenza[i]; Corrispondente corrCons = new Corrispondente(); corrCons.descrizione = corr.descrizione; protocolloI.destinatariConoscenza.Add(corrCons); } } protocollo = new ProtocolloInterno(); protocollo = protocolloI; } if (schDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloUscita)) { DocsPaVO.documento.ProtocolloUscita protU = (DocsPaVO.documento.ProtocolloUscita)schDoc.protocollo; ProtocolloUscita protocolloU = new ProtocolloUscita(); protocolloU.anno = protU.anno; protocolloU.dataProtocollazione = protU.dataProtocollazione; protocolloU.numero = protU.numero; protocolloU.segnatura = protU.segnatura; if (protU.mittente != null) { protocolloU.mittente = new Corrispondente(); protocolloU.mittente.descrizione = protU.mittente.descrizione; } else { protocolloU.mittente = null; } if (protU.destinatari.Count > 0) { protocolloU.destinatari = new ArrayList(); for (int i = 0; i < protU.destinatari.Count; i++) { DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protU.destinatari[i]; Corrispondente corrCons = new Corrispondente(); corrCons.descrizione = corr.descrizione; protocolloU.destinatari.Add(corrCons); } } if (protU.destinatariConoscenza.Count > 0) { protocolloU.destinatariConoscenza = new ArrayList(); for (int i = 0; i < protU.destinatariConoscenza.Count; i++) { DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protU.destinatariConoscenza[i]; Corrispondente corrCons = new Corrispondente(); corrCons.descrizione = corr.descrizione; protocolloU.destinatariConoscenza.Add(corrCons); } } protocollo = new ProtocolloUscita(); protocollo = protocolloU; } } if (schDoc.oggetto != null) { oggetto = new Oggetto(); oggetto.descrizione = schDoc.oggetto.descrizione; } if (schDoc.tipologiaAtto != null) { tipologiaAtto = new TipologiaAtto(); tipologiaAtto.descrizione = schDoc.tipologiaAtto.descrizione; } if (schDoc.registro != null) { registro = new Registro(); registro.codRegistro = schDoc.registro.codRegistro; } if (schDoc.protocollatore != null) { protocollatore = new Protocollatore(); protocollatore.Nome_Cognome = schDoc.protocollatore.utente_idPeople; } if (schDoc.creatoreDocumento != null) { creatoreDocumento = new CreatoreDocumento(); creatoreDocumento.Nome_Cognome = schDoc.creatoreDocumento.idPeople; } if (schDoc.documenti.Count > 0) { documenti = new ArrayList(); for (int i = 0; i < schDoc.documenti.Count; i++) { DocsPaVO.documento.Documento doc = (DocsPaVO.documento.Documento)schDoc.documenti[i]; Documento docCons = new Documento(); docCons.autore = doc.autore; docCons.dataInserimento = doc.dataInserimento; docCons.descrizione = doc.descrizione; docCons.version = doc.version; documenti.Add(docCons); } } if (schDoc.allegati.Count > 0) { allegati = new ArrayList(); foreach (documento.Allegato t in schDoc.allegati) { allegati.Add(new Allegato() { autore = t.autore, dataInserimento = t.dataInserimento, descrizione = t.descrizione, version = t.version }); } } if (schDoc.paroleChiave.Count > 0) { paroleChiave = new ArrayList(); foreach (documento.ParolaChiave t in schDoc.paroleChiave) { paroleChiave.Add(new ParolaChiave { descrizione = t.descrizione }); } } } catch { // Ignored } }