示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="spedizione"></param>
        public void SaveData(NttDataWA.DocsPaWR.SpedizioneDocumento spedizione)
        {
            foreach (GridViewRow item in this.DataGrid.Rows)
            {
                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;
                        }
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="spedizione"></param>
        /// <param name="tipoDestinatario"></param>
        public void FetchData(NttDataWA.DocsPaWR.SpedizioneDocumento spedizione, CorrespondentTypeEnum tipoDestinatario, NttDataWA.DocsPaWR.Registro[] rf, NttDataWA.DocsPaWR.Registro[] registri, string tipoDest, NttDataWA.DocsPaWR.StatoInvio[] listaSped_opt)
        {
            this.Spedizione       = spedizione;
            this.TipoDestinatario = tipoDestinatario;
            //DocsPaWR.DocsPaWebService ws = new DocsPaWR.DocsPaWebService();
            this.ListaSpedizioni     = listaSped_opt;
            this.DataGrid.DataSource = this.GetDestinatari(spedizione);
            this.DataGrid.DataBind();

            if (DataGrid.Rows.Count > 0)
            {
                this.reloadContentText(spedizione, rf, registri, tipoDest);
            }
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="spedizione"></param>
        /// <returns></returns>
        protected virtual DocsPaWR.Destinatario[] GetDestinatari(NttDataWA.DocsPaWR.SpedizioneDocumento spedizione)
        {
            if (this.TipoDestinatario == CorrespondentTypeEnum.Interno)
            {
                return(spedizione.DestinatariInterni);
            }
            else if (this.TipoDestinatario == CorrespondentTypeEnum.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.typeId.Equals(SimplifiedInteroperabilityManager.SimplifiedInteroperabilityId)) ||
                                                  (c.DatiDestinatari[0].tipoCorrispondente == "O" && !string.IsNullOrEmpty(c.DatiDestinatari[0].email)))
                        orderby c.DatiDestinatari[0].descrizione, c.DatiDestinatari[0].codiceRubrica
                        select c).ToArray());
            }
            else if (this.TipoDestinatario == CorrespondentTypeEnum.EsternoNonInteroperante)
            {
                return((from c in spedizione.DestinatariEsterni
                        where !c.Interoperante
                        orderby c.DatiDestinatari[0].descrizione, c.DatiDestinatari[0].codiceRubrica
                        select c).ToArray());
            }
            else if (this.TipoDestinatario == CorrespondentTypeEnum.SimplifiedInteroperability)
            {
                return((from c in spedizione.DestinatariEsterni
                        where c.Interoperante &&
                        c.DatiDestinatari[0].canalePref != null &&
                        c.DatiDestinatari[0].canalePref.typeId.Equals(SimplifiedInteroperabilityManager.SimplifiedInteroperabilityId) &&
                        c.DatiDestinatari[0].Url != null &&
                        c.DatiDestinatari[0].Url.Length > 0 &&
                        !String.IsNullOrEmpty(c.DatiDestinatari[0].Url[0].Url)
                        orderby c.DatiDestinatari[0].descrizione, c.DatiDestinatari[0].codiceRubrica
                        select c).ToArray());
            }

            return(null);
        }