Beispiel #1
0
        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);
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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>");
        }
Beispiel #5
0
        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;
                    }
                }
            }
        }