/// <summary> /// /// </summary> /// <param name="spedizione"></param> public void SaveData(DocsPAWA.DocsPaWR.SpedizioneDocumento spedizione) { foreach (DataGridItem item in this.DataGrid.Items) { CheckBox chkIncludiInSpedizione = this.GetCheckBoxIncludiInSpedizione(item); if (chkIncludiInSpedizione != null) { DocsPaWR.Destinatario destinatario = this.GetDestinatario(spedizione, this.GetIdDestinatario(item)); if (destinatario != null) { destinatario.IncludiInSpedizione = chkIncludiInSpedizione.Checked; } bool go = true; for (int i = 0; i < spedizione.DestinatariEsterni.Length; i++) { foreach (DocsPaWR.Corrispondente corr in spedizione.DestinatariEsterni[i].DatiDestinatari) { if (corr.systemId.Equals(destinatario.Id)) { spedizione.DestinatariEsterni[i].Email = (item.FindControl("ddl_caselle_corr_est") as DropDownList).SelectedValue.Trim(); go = false; break; } } if (!go) { break; } } } } }
/// <summary> /// /// </summary> /// <param name="spedizione"></param> /// <returns></returns> protected virtual DocsPaWR.Destinatario[] GetDestinatari(DocsPAWA.DocsPaWR.SpedizioneDocumento spedizione) { if (this.TipoDestinatario == TipoDestinatarioEnum.Interno) { return(spedizione.DestinatariInterni); } else if (this.TipoDestinatario == TipoDestinatarioEnum.Esterno) { return((from c in spedizione.DestinatariEsterni where c.Interoperante && (c.DatiDestinatari[0].tipoIE != null && c.DatiDestinatari[0].tipoIE.Equals("I") || (c.DatiDestinatari[0].canalePref != null && !c.DatiDestinatari[0].canalePref.descrizione.Equals("Interoperabilità PITRE")) || (c.DatiDestinatari[0].tipoCorrispondente == "O" && !string.IsNullOrEmpty(c.DatiDestinatari[0].email))) select c).ToArray()); } else if (this.TipoDestinatario == TipoDestinatarioEnum.EsternoNonInteroperante) { return((from c in spedizione.DestinatariEsterni where !c.Interoperante select c).ToArray()); } else if (this.TipoDestinatario == TipoDestinatarioEnum.SimplifiedInteroperability) { return((from c in spedizione.DestinatariEsterni where c.Interoperante && c.DatiDestinatari[0].canalePref != null && c.DatiDestinatari[0].canalePref.descrizione.Equals("Interoperabilità PITRE") && c.DatiDestinatari[0].Url != null && c.DatiDestinatari[0].Url.Length > 0 && !String.IsNullOrEmpty(c.DatiDestinatari[0].Url[0].Url) select c).ToArray()); } return(null); }
/// <summary> /// /// </summary> /// <param name="spedizione"></param> /// <param name="tipoDestinatario"></param> public void FetchData(DocsPAWA.DocsPaWR.SpedizioneDocumento spedizione, TipoDestinatarioEnum tipoDestinatario) { this.Spedizione = spedizione; this.TipoDestinatario = tipoDestinatario; this.DataGrid.DataSource = this.GetDestinatari(spedizione); this.DataGrid.DataBind(); }