public static Canale LoadChannelInformation(string channelName) { // L'oggetto da restituire Canale toReturn = null; // L'array dei canali di trasmissione Canale[] channels; try { // Reperimento dei canali di trasmissione salvati sul DB channels = (Canale[])addressBookManager.getCanaliMethod().ToArray(typeof(Canale)); // Recupero del canale di trasmissione richiesto toReturn = channels.Where(e => e.descrizione.ToUpper().Equals(channelName.ToUpper())).FirstOrDefault(); } catch (Exception e) { throw new ImportException("Errore durante il reperimento dei dati sui canali di trasmissione."); } // Restituzione del canale (null nel caso in cui non sia stato possibile recuperare le informazioni // sul canale desiderato) return(toReturn); }
public void BindGrid() { //preparo i destinatari/destinatari cc List <Cols> columns = new List <Cols>(); schedaDoc = DocumentManager.getDocumentoInLavorazione(this); DocsPaWR.ProtocolloUscita protocollo = (DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo; DocsPaWR.Corrispondente[] listaCorrispondenti; DocsPaWR.Corrispondente[] listaCorrispondentiCc; listaCorrispondenti = protocollo.destinatari; listaCorrispondentiCc = protocollo.destinatariConoscenza; if (listaCorrispondenti != null) { foreach (DocsPaWR.Corrispondente c in listaCorrispondenti) { if (!string.IsNullOrEmpty(c.systemId)) { Canale canalePreferenz = UserManager.getCorrispondenteBySystemID(this.Page, c.systemId).canalePref; if (canalePreferenz != null && (!string.IsNullOrEmpty(canalePreferenz.descrizione))) { columns.Add(new Cols("(" + canalePreferenz.descrizione + ") " + c.descrizione, c.systemId)); } else { columns.Add(new Cols(c.descrizione, c.systemId)); } } } } if (listaCorrispondentiCc != null) { foreach (DocsPaWR.Corrispondente c in listaCorrispondentiCc) { if (!string.IsNullOrEmpty(c.systemId)) { Canale canalePreferenz = UserManager.getCorrispondenteBySystemID(this.Page, c.systemId).canalePref; if (canalePreferenz != null && (!string.IsNullOrEmpty(canalePreferenz.descrizione))) { columns.Add(new Cols("(Cc)(" + c.canalePref.descrizione + ") " + c.descrizione, c.systemId)); } else { columns.Add(new Cols("(Cc) " + c.descrizione, c.systemId)); } } } } dataGridMezzi.DataSource = columns; dataGridMezzi.DataBind(); }
private List <Mezzi> GetMeansDeliveryFiltered(Canale canaleOrig, string idDest) { DocsPaWR.DocsPaWebService wws = new DocsPaWebService(); DocsPAWA.DocsPaWR.MezzoSpedizione[] m_sped = wws.AmmListaMezzoSpedizione(UserManager.getInfoUtente().idAmministrazione, false); List <Mezzi> filteredMeans = new List <Mezzi>(); Corrispondente corr = UserManager.getCorrispondenteBySystemID(this.Page, idDest); if (canaleOrig != null) { switch (canaleOrig.typeId.ToUpper()) { case "INTEROPERABILITA": foreach (MezzoSpedizione m in m_sped) { // Il canale interoperabilità semplificata non può essere inserito se il corrispondente non // ha URL mentre il canale mail non deve essere inserito if ((m.chaTipoCanale == "S" && InteroperabilitaSemplificataManager.IsEnabledSimpInterop && corr.Url != null && corr.Url.Length > 0 && Uri.IsWellFormedUriString(corr.Url[0].Url, UriKind.Absolute)) || (m.chaTipoCanale != "S" && !m.Descrizione.ToUpper().Equals("MAIL"))) { filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem)); } } break; case "MAIL": foreach (MezzoSpedizione m in m_sped) { if (!m.Descrizione.ToUpper().Equals("INTEROPERABILITA") && m.chaTipoCanale != "S") { filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem)); } else { if (m.chaTipoCanale == "S") { if (InteroperabilitaSemplificataManager.IsEnabledSimpInterop && corr.Url != null && corr.Url.Length > 0 && Uri.IsWellFormedUriString(corr.Url[0].Url, UriKind.Absolute)) { filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem)); } } else //Verifico che siano presenti i campi obbligatori per l'utente con canale preferito INTEROPERABILITA if (!string.IsNullOrEmpty(corr.codiceAmm) && (!string.IsNullOrEmpty(corr.codiceAOO)) && (!string.IsNullOrEmpty(corr.email))) { filteredMeans.Add(new Mezzi(m.Descrizione, m.IDSystem)); } } } break; default: this.FilterInteroperability(m_sped, corr, ref filteredMeans); break; } } return(filteredMeans); }
private void btn_ok_Click(object sender, System.EventArgs e) { string idCorr = string.Empty; string idCanale = string.Empty; bool acceptCanaleTutti; DocsPaWR.Canale canale = new DocsPAWA.DocsPaWR.Canale(); DocsPaWR.DocsPaWebService ws = new DocsPAWA.DocsPaWR.DocsPaWebService(); schedaDoc = DocumentManager.getDocumentoInLavorazione(this); DocsPaWR.Corrispondente[] dest = ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatari; DocsPaWR.Corrispondente[] destCc = ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza; if (dataGridMezzi != null) { Canale canaleTutti = null; if (!ddlTutti.SelectedValue.Equals("0")) { canaleTutti = ws.getCanaleBySystemId(ddlTutti.SelectedValue); } DataGridItemCollection items = dataGridMezzi.Items; if (items != null) { //itero sui singoli item della griglia foreach (DataGridItem item in items) { string tipoDest = string.Empty; TableCellCollection cells = item.Cells; foreach (TableCell cell in cells) { ControlCollection controls = cell.Controls; foreach (Control control in controls) { if (control.GetType() == typeof(Label)) { idCorr = ((Label)control).Text; break; } if (control.GetType() == typeof(DropDownList)) { idCanale = ((DropDownList)control).SelectedValue; break; } } } if (dest != null && dest.Length > 0) { acceptCanaleTutti = false; foreach (DocsPaWR.Corrispondente corr in dest) { // se è impostato il canale tutti ed il corrispondente corrente ha visibilità del mezzo di spedizione tutti allora lo imposto if (corr.systemId.Equals(idCorr) && canaleTutti != null) { System.Collections.Generic.List <Mezzi> listMezziVisCorr = GetMeansDeliveryFiltered(UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref, idCorr); foreach (Mezzi m in listMezziVisCorr) { if (m.Descrizione.Equals(canaleTutti.descrizione) && m.Valore.Equals(canaleTutti.systemId)) { acceptCanaleTutti = true; corr.canalePref = canaleTutti; tipoDest = "d"; break; } } } //l'utente a selezionata blank quindi reimposto il canale di default if (!acceptCanaleTutti && corr.systemId.Equals(idCorr) && (idCanale.Equals("0"))) { if (corr.canalePref != null && corr.canalePref.systemId != null) { canale = UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref; corr.canalePref = canale; tipoDest = "d"; break; } } //imposto il canale selezionato dall'utente else if (!acceptCanaleTutti && corr.systemId.Equals(idCorr)) { canale = ws.getCanaleBySystemId(idCanale); corr.canalePref = canale; tipoDest = "d"; break; } } } if (destCc != null && destCc.Length > 0 && (!tipoDest.Equals("d"))) { acceptCanaleTutti = false; foreach (DocsPaWR.Corrispondente corr in destCc) { // se è impostato il canale tutti ed il corrispondente corrente ha visibilità del mezzo di spedizione tutti allora lo imposto if (corr.systemId.Equals(idCorr) && canaleTutti != null) { System.Collections.Generic.List <Mezzi> listMezziVisCorr = GetMeansDeliveryFiltered(UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref, idCorr); foreach (Mezzi m in listMezziVisCorr) { if (m.Descrizione.Equals(canaleTutti.descrizione) && m.Valore.Equals(canaleTutti.systemId)) { acceptCanaleTutti = true; corr.canalePref = canaleTutti; tipoDest = "d"; break; } } } //l'utente a selezionata blank quindi reimposto il canale di default if (!acceptCanaleTutti && corr.systemId.Equals(idCorr) && (idCanale.Equals("0"))) { if (corr.canalePref != null && corr.canalePref.systemId != null) { canale = UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref; corr.canalePref = canale; break; } } //imposto il canale selezionato dall'utente else if (!acceptCanaleTutti && corr.systemId.Equals(idCorr)) { canale = ws.getCanaleBySystemId(idCanale); corr.canalePref = canale; break; } } } } } } //Salvo le informazioni aggiornate nella sessione ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatari = dest; ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza = destCc; DocumentManager.setDocumentoInLavorazione(this, schedaDoc); DocumentManager.setDocumentoSelezionato(this, schedaDoc); //richiama la funzione javascript che aggiorna il form chiamante string funct = " window.open('../documento/docProtocollo.aspx?editMode=true','IframeTabs'); "; funct = funct + " window.close(); "; Response.Write("<script> " + funct + "</script>"); }
protected void dataGridMezzi_RowDataBound(object sender, DataGridItemEventArgs e) { DocsPaWR.Corrispondente[] dest = ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatari; DocsPaWR.Corrispondente[] destCc = ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza; //id del corrispondente Label idCorr = (Label)e.Item.FindControl("lblId"); //popola la dropddownlist DropDownList ddl1 = (DropDownList)e.Item.FindControl("ddlM"); Canale canale = null, canaleOrig = null; string tipoDest = string.Empty; if (ddl1 != null) { //leggo il canale in sessione associato al corrispondente if (dest != null && dest.Length > 0) { foreach (Corrispondente d in dest) { if (!string.IsNullOrEmpty(d.systemId) && d.systemId.Equals(idCorr.Text)) { canale = d.canalePref; tipoDest = "d"; break; } } } if (destCc != null && destCc.Length > 0 && (!tipoDest.Equals("d"))) { foreach (Corrispondente d in destCc) { if (!string.IsNullOrEmpty(d.systemId) && d.systemId.Equals(idCorr.Text)) { canale = d.canalePref; break; } } } ddl1.Items.Add(new ListItem("", "0")); if (listaMezzoSpedizione != null) { if (UserManager.getCorrispondenteBySystemID(this.Page, idCorr.Text).tipoIE == null || UserManager.getCorrispondenteBySystemID(this.Page, idCorr.Text).tipoIE.Equals("I")) { ddl1.Enabled = false; } else { canaleOrig = UserManager.getCorrispondenteBySystemID(this.Page, idCorr.Text).canalePref; List <Mezzi> filteredMeans = GetMeansDeliveryFiltered(canaleOrig, idCorr.Text); if (filteredMeans != null && filteredMeans.Count > 0) { foreach (Mezzi m in filteredMeans) { ddl1.Items.Add(new ListItem(m.Descrizione, m.Valore)); if (canale != null && canale.systemId != null) { if (canaleOrig == null || (canaleOrig != null && canaleOrig.systemId != null && canaleOrig.systemId != canale.systemId)) { if (m.Valore.Equals(canale.systemId)) { ddl1.SelectedValue = canale.systemId; } } } } } } if (editMode.ToUpper().Equals("FALSE")) { ddl1.Enabled = false; } } } }