//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); }
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); }
/// <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; }
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"); } }