Пример #1
0
        //VERIFICA se il mittente del protocollo in ingresso coincide con il destinatario selezionato
        //del protocollo in uscita a cui si sta rispondendo
        private bool verificaUguaglianzacorrispondenti(DocsPAWA.DocsPaWR.Corrispondente destSelected, DocsPAWA.DocsPaWR.Corrispondente mittCorrente)
        {
            bool verificaUguaglianza = false;

            if (destSelected.systemId == mittCorrente.systemId)
            {
                verificaUguaglianza = true;
            }
            return(verificaUguaglianza);
        }
Пример #2
0
        public void inserisciCorrispondente(DocsPAWA.DocsPaWR.OggettoCustom oggettoCustom, string readOnly)
        {
            Label etichetta = new Label();

            if (oggettoCustom.CAMPO_OBBLIGATORIO.Equals("SI"))
            {
                etichetta.Text = oggettoCustom.DESCRIZIONE + " *";
            }
            else
            {
                etichetta.Text = oggettoCustom.DESCRIZIONE;
            }
            etichetta.Font.Size = FontUnit.Point(8);
            etichetta.Font.Bold = true;
            etichetta.Font.Name = "Verdana";

            DocsPAWA.UserControls.Corrispondente corrispondente = (DocsPAWA.UserControls.Corrispondente) this.LoadControl("../UserControls/Corrispondente.ascx");
            corrispondente.CSS_CODICE            = "comp_profilazione_anteprima";
            corrispondente.CSS_DESCRIZIONE       = "comp_profilazione_anteprima";
            corrispondente.DESCRIZIONE_READ_ONLY = true;
            corrispondente.TIPO_CORRISPONDENTE   = oggettoCustom.TIPO_RICERCA_CORR;
            corrispondente.ID           = oggettoCustom.SYSTEM_ID.ToString();
            corrispondente.RICERCA_AJAX = false;

            if (Session["dictionaryCorrispondente"] != null)
            {
                dic_Corr = (Dictionary <string, DocsPAWA.DocsPaWR.Corrispondente>)Session["dictionaryCorrispondente"];
            }

            if (dic_Corr != null && dic_Corr.ContainsKey(corrispondente.ID) && dic_Corr[corrispondente.ID] != null)
            {
                corrispondente.SYSTEM_ID_CORR   = dic_Corr[corrispondente.ID].systemId;
                corrispondente.CODICE_TEXT      = dic_Corr[corrispondente.ID].codiceRubrica;
                corrispondente.DESCRIZIONE_TEXT = dic_Corr[corrispondente.ID].descrizione;
                oggettoCustom.VALORE_DATABASE   = dic_Corr[corrispondente.ID].systemId;
            }
            else
            {
                //Da amministrazione è stato impostato un ruolo di default per questo campo.
                if (oggettoCustom.ID_RUOLO_DEFAULT != null && oggettoCustom.ID_RUOLO_DEFAULT != "" && oggettoCustom.ID_RUOLO_DEFAULT != "0")
                {
                    DocsPaWR.Ruolo ruolo = (DocsPaWR.Ruolo)UserManager.getRuoloById(oggettoCustom.ID_RUOLO_DEFAULT, this);
                    if (ruolo != null)
                    {
                        corrispondente.SYSTEM_ID_CORR   = ruolo.systemId;
                        corrispondente.CODICE_TEXT      = ruolo.codiceRubrica;
                        corrispondente.DESCRIZIONE_TEXT = ruolo.descrizione;
                    }
                    oggettoCustom.ID_RUOLO_DEFAULT = "0";
                }

                //DocsPAWA.DocsPaWR.Corrispondente corr_1 = (DocsPAWA.DocsPaWR.Corrispondente)UserManager.getCorrispondenteBySystemID(this,oggettoCustom.VALORE_DATABASE);

                //Nel caso in cui si debbano vedere dei corrispondenti che risultano ora essere disabilitati, il metodo getCorrispondenteBySystemId
                // ritornerebbe un valore null: per questo, inserisco uun nuovo metodo che riporti anche i corrispondenti disabilitati

                if (oggettoCustom.VALORE_DATABASE != null && oggettoCustom.VALORE_DATABASE != "")
                {
                    DocsPAWA.DocsPaWR.Corrispondente corr_1 = (DocsPAWA.DocsPaWR.Corrispondente)UserManager.getCorrispondenteBySystemIDDisabled(this, oggettoCustom.VALORE_DATABASE);
                    if (corr_1 != null)
                    {
                        corrispondente.SYSTEM_ID_CORR   = corr_1.systemId;
                        corrispondente.CODICE_TEXT      = corr_1.codiceRubrica;
                        corrispondente.DESCRIZIONE_TEXT = corr_1.descrizione;
                        oggettoCustom.VALORE_DATABASE   = corr_1.systemId;
                        if (dic_Corr == null)
                        {
                            dic_Corr = new Dictionary <string, DocsPAWA.DocsPaWR.Corrispondente>();
                        }
                        dic_Corr[corrispondente.ID]         = corr_1;
                        Session["dictionaryCorrispondente"] = dic_Corr;
                    }
                    //oggettoCustom.VALORE_DATABASE = "";
                }

                //E' stato selezionato un corrispondente da rubrica.
                if (Session["rubrica.campoCorrispondente"] != null)
                {
                    DocsPAWA.DocsPaWR.Corrispondente corr_3 = (DocsPAWA.DocsPaWR.Corrispondente)Session["rubrica.campoCorrispondente"];
                    if (corr_3 != null)
                    {
                        //Verifico che l'id del campo sia quello che mi interessa.
                        //Questo id viene messo in sessione dallo UserControl e serve a
                        //distinguere i diversi campi corrispondete che una popup di profilazione puo' contenere
                        if (Session["rubrica.idCampoCorrispondente"] != null && Session["rubrica.idCampoCorrispondente"].ToString() == corrispondente.ID)
                        {
                            corrispondente.SYSTEM_ID_CORR   = corr_3.systemId;
                            corrispondente.CODICE_TEXT      = corr_3.codiceRubrica;
                            corrispondente.DESCRIZIONE_TEXT = corr_3.descrizione;
                            if (dic_Corr == null)
                            {
                                dic_Corr = new Dictionary <string, DocsPAWA.DocsPaWR.Corrispondente>();
                            }
                            dic_Corr[corrispondente.ID]   = corr_3;
                            oggettoCustom.VALORE_DATABASE = corr_3.systemId;
                            Session.Remove("rubrica.campoCorrispondente");
                            Session.Remove("rubrica.idCampoCorrispondente");
                            Session["noRicercaCodice"]          = true;
                            Session["noRicercaDesc"]            = true;
                            Session["dictionaryCorrispondente"] = dic_Corr;
                        }
                    }
                }

                //if (Session["CorrSelezionatoDaMulti"] != null)
                //{
                //    DocsPAWA.DocsPaWR.Corrispondente corr_3 = (DocsPaWR.Corrispondente)Session["CorrSelezionatoDaMulti"];
                //    int idCorrMulti = 0;
                //    if (Session["idCorrMulti"] != null)
                //        idCorrMulti = (int)Session["idCorrMulti"];

                //    if (corr_3 != null && idCorrMulti.ToString().Equals(corrispondente.ID))
                //    {
                //        oggettoCustom.VALORE_DATABASE = corr_3.systemId;
                //        corrispondente.CODICE_TEXT = corr_3.codiceRubrica;
                //        corrispondente.DESCRIZIONE_TEXT = corr_3.descrizione;
                //        if (dic_Corr == null)
                //            dic_Corr = new Dictionary<string, DocsPAWA.DocsPaWR.Corrispondente>();
                //        dic_Corr[corrispondente.ID] = corr_3;
                //        oggettoCustom.VALORE_DATABASE = corr_3.systemId;
                //        Session.Remove("CorrSelezionatoDaMulti");
                //        Session.Remove("noDoppiaRicerca");
                //        Session["dictionaryCorrispondente"] = dic_Corr;
                //        Session.Remove("idCorrMulti");
                //    }
                //}
            }

            //Verifico i diritti del ruolo sul campo
            impostaDirittiRuoloSulCampo(etichetta, corrispondente, oggettoCustom, template);

            if (readOnly == "SI")
            {
                corrispondente.CODICE_READ_ONLY = true;
            }

            TableRow  row    = new TableRow();
            TableCell cell_1 = new TableCell();

            cell_1.Controls.Add(etichetta);
            row.Cells.Add(cell_1);
            TableCell cell_2 = new TableCell();

            cell_2.Controls.Add(corrispondente);
            row.Cells.Add(cell_2);
            table.Rows.Add(row);
        }
Пример #3
0
 /// <summary>
 /// Metodo per il settaggio in sessione del corrispondente selezionato per il protocollo di risposta
 /// </summary>
 /// <param name="page"></param>
 /// <param name="corrispondente"></param>
 public static void setCorrispondenteRisposta(Page page, DocsPAWA.DocsPaWR.Corrispondente corrispondente)
 {
     page.Session["RicercaNonProtocollati.corrispondenteRisposta"] = corrispondente;
 }
Пример #4
0
        protected void txt_Descrizione_TextChanged(object sender, EventArgs e)
        {
            //In questo caso il campo è readOnly.
            //Controllo solo il codice perchè la descrizione è sempre readOnly,
            //l'apertura della rubrica è quindi inutile in quanto non si può
            //modificare il valore di questo userControl
            bool eseguiRicerca = true;

            if (Session["dictionaryCorrispondente"] != null)
            {
                dic_Corr = (Dictionary <string, DocsPAWA.DocsPaWR.Corrispondente>)Session["dictionaryCorrispondente"];
                if (dic_Corr.ContainsKey(this.ID))
                {
                    DocsPAWA.DocsPaWR.Corrispondente corr_saved = dic_Corr[this.ID];
                    if (dic_Corr[this.ID] != null && corr_saved.codiceRubrica.ToUpper().Equals(txt_Codice.Text.ToUpper()))
                    {
                        eseguiRicerca = false;
                    }
                    if (eseguiRicerca && Session["noRicercaDesc"] != null)
                    {
                        eseguiRicerca = false;
                        Session.Remove("noRicercaDesc");
                    }
                }
            }
            else
            {
                dic_Corr = new Dictionary <string, DocsPaWR.Corrispondente>();
            }

            if (Session["noDoppiaRicerca"] == null)
            {
                //caso di annullamento dei dati inseriti
                if (txt_Descrizione.Text.Equals("") && eseguiRicerca)
                {
                    eseguiRicerca     = false;
                    dic_Corr[this.ID] = null;
                    Session.Add("dictionaryCorrispondente", dic_Corr);
                    txt_Codice.Text = "";
                }

                if (Session["rubrica.campoCorrispondente"] == null && eseguiRicerca)
                {
                    DocsPAWA.DocsPaWR.Ruolo ruoloSelezionato = UserManager.getRuolo();

                    DocsPaWR.Registro[] regAll = UserManager.getListaRegistriWithRF(ruoloSelezionato.systemId, "", "");
                    string condRegistri        = string.Empty;
                    string condRegistri2       = string.Empty;
                    if (regAll != null && regAll.Length > 0)
                    {
                        foreach (DocsPaWR.Registro reg in regAll)
                        {
                            condRegistri2 += reg.systemId + ",";
                        }

                        condRegistri  = " and (id_registro in (" + condRegistri2.Substring(0, condRegistri2.Length - 1) + ") OR id_registro is null)";
                        condRegistri2 = condRegistri2.Substring(0, condRegistri2.Length - 1);
                    }

                    //Se in sessione c'è un ruolo, vuol dire che sono sul frontend e quindi la
                    //rubrica puo' funzionare, in quanto preleva da sessione il registro, il ruolo e
                    //l'utente che la vorrebbero utilizzando.
                    //In caso contrario, vuol dire che sto chiamando l'apertura della rubrica
                    //dall'amministrazione, in particolare da una delle due anteprime di profilazione.
                    //In questo caso non essendoci nessun registro, nè ruolo nè utente in sessione,
                    //l'apertura della rubrica viene inibita, ma non è un problema in quanto essendo
                    //un antemprima, serve solo per determinare una veste grafica gradevole per tipo
                    //di documento o di fascicolo che si sta creando.
                    if (ruoloSelezionato != null)
                    {
                        if ((txt_Descrizione.Text != null && txt_Descrizione.Text != ""))
                        {
                            ParametriRicercaRubrica qco = new ParametriRicercaRubrica();
                            qco.caller          = new RubricaCallerIdentity();
                            qco.caller.IdUtente = UserManager.getInfoUtente().idPeople;
                            qco.caller.filtroRegistroPerRicerca = condRegistri2;
                            qco.descrizione = txt_Descrizione.Text;
                            qco.doUo        = true;
                            qco.doRuoli     = true;
                            qco.doUtenti    = true;
                            qco.tipoIE      = AddressbookTipoUtente.GLOBALE;
                            if (this.cbx_storicizzato.Checked)
                            {
                                qco.calltype = RubricaCallType.CALLTYPE_RICERCA_CORRISPONDENTE;
                            }
                            else
                            {
                                qco.calltype = RubricaCallType.CALLTYPE_CORR_INT_EST;
                            }

                            DocsPAWA.DocsPaWR.ElementoRubrica[] er = UserManager.getElementiRubrica(this.Page, qco); // .getElementoRubrica(this.Page, txt_Codice.Text, condRegistri);
                            if (er != null)
                            {
                                if (er.Length == 0)
                                {
                                    this.TIPO = "";
                                    this.ID_CORRISPONDENTE = "";
                                    sDescrizione           = txt_Descrizione.Text;
                                    sCodice           = null;
                                    dic_Corr[this.ID] = null;
                                    Session.Add("dictionaryCorrispondente", dic_Corr);
                                    Page.ClientScript.RegisterStartupScript(this.GetType(), "noCorr", String.Format("alert('Nessun corrispondente individuato con la descrizione {0}');", this.txt_Descrizione.Text.Replace("'", "''")), true);
                                }
                                else
                                {
                                    if (er.Length == 1)
                                    {
                                        this.TIPO = er[0].tipo;
                                        this.ID_CORRISPONDENTE     = er[0].systemId;
                                        Session["noDoppiaRicerca"] = true;
                                        txt_Descrizione.Text       = er[0].descrizione;
                                        sDescrizione      = er[0].descrizione;
                                        txt_Codice.Text   = er[0].codice;
                                        sCodice           = er[0].codice;
                                        dic_Corr[this.ID] = UserManager.getCorrispondenteBySystemIDDisabled(this.Page, er[0].systemId);
                                        Session.Add("dictionaryCorrispondente", dic_Corr);
                                        Session["noRicercaCodice"] = true;
                                    }
                                    else
                                    {
                                        // apro popup per la scelta dei corrispondenti
                                        dic_Corr[this.ID] = null;
                                        Page.ClientScript.RegisterStartupScript(this.GetType(), "multiCorr", "ApriFinestraMultiCorrispondenti('" + this.txt_Codice.ClientID + "','" + this.txt_Descrizione.ClientID + "');", true);
                                        Session.Add("multiCorr", er);
                                        Session["noRicercaCodice"] = true;
                                        Session["idCorrMulti"]     = Convert.ToInt32(this.ID);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                Session.Remove("noDoppiaRicerca");
            }

            if (Session["countCorr"] != null && Convert.ToInt32(Session["countCorr"]) > 1)
            {
                Session.Remove("whichCorr");
            }

            if (isRiprodotto)
            {
                Session.Remove("CorrSelezionatoDaMulti");
                Session.Remove("rubrica.campoCorrispondente");
            }
        }