using System; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections.Generic; /// /// Gestisce il report di diagnosi. /// In questa versione č presente l'alberatura. /// Si basa sulla stored " R6_S_Generator 1, 'idmodello' ". /// public partial class ReportDiagnosi : System.Web.UI.Page { private Cliente _cliente; private string codiceFiscale; private string codiceRete; private string codicePB; private bool reportNominativo = false; public string pathNav; public int idReport; //indica il modello (fixed) COMPLETO di QUESTO report da cui costruire la treeview iniziale public static int tpReport = 1; //valore proprietario (fixed) di QUESTO report //DA VALUTARE!! public static int idReportAlbero = 1; //valore proprietario (fixed) di QUESTO report //DA VALUTARE!! public static int idReportBase = 2; public static int idReportCompleto = 1; public string ambiente; public int lastSavedReportId; public static string nomeReport = "DIAGNOSI"; //valore proprietario (fixed) di QUESTO report public static string nomeReportCompleto = "Diagnosi completo"; //valore proprietario (fixed) di QUESTO report public static string nomeReportDiagnosi = "DIAGNOSI"; //valore proprietario (fixed) di QUESTO report string nomeReportPerLabel; string descrizioneReportPerLabel; string reportIdToPass; public int reportIdToLoadBack = -1; public string endOfjob = "0"; private string token; int IDReportToLoad = -1; string baseCompleto = ""; protected void Page_Load(object sender, EventArgs e) { #region Add attribute to controls rbl_scelte.Attributes.Add("OnClick", "CallCheck_all_in_document()"); ddl_Modello.Attributes.Add("OnChange", "CallCheck_all_in_document()"); rbl_Privacy.Attributes.Add("OnClick", "CallCheck_all_in_document()"); #endregion token = Request.QueryString.Get("token"); codiceRete = Request.QueryString.Get("tipoRete"); codicePB = Request.QueryString.Get("codPB"); codiceFiscale = Request.QueryString.Get("codCliente"); ambiente = Request.QueryString.Get("ambiente"); pathNav = Request.QueryString.Get("pathNav"); _cliente = Cliente.getCliente(codiceRete + codicePB, codiceFiscale); if (Request.QueryString["lastReportPrinted"] != null) IDReportToLoad = Convert.ToInt32(Request.QueryString.Get("lastReportPrinted")); if (!Page.IsPostBack) { #region Nuova gestione privacy if (_cliente.SottoscrizioneContrattoSei) { rbl_Privacy.Items[0].Selected = true; rbl_Privacy.Items[0].Enabled = true; rbl_Privacy.Items[1].Enabled = true; reportNominativo = true; } else { rbl_Privacy.Items[1].Selected = true; rbl_Privacy.Items[0].Enabled = false; this.lbl_Privacy.Visible = true; lbl_Privacy.Text = "La reportistica nominativa puņ essere stampata per i clienti che hanno sottoscritto la consulenza evoluta SEI"; reportNominativo = false; } #endregion #region From Gestione Modelli e stampa if (Request.QueryString["baseCompleto"] != null && Request.QueryString["baseCompleto"] != "") baseCompleto = Request.QueryString.Get("baseCompleto").ToString(); string loadingReport = ""; if (baseCompleto == "") loadingReport = Request.QueryString.Get("idReportToLoad"); else loadingReport = baseCompleto; nomeReportPerLabel = Request.QueryString.Get("nomeInizialeReport"); descrizioneReportPerLabel = Request.QueryString.Get("descrizioneInizialeReport"); fillModelli(); if (loadingReport != null && loadingReport != "") { if (loadingReport == "loadBASE") { rbl_scelte.SelectedIndex = 0; IDReportToLoad = idReportBase; } else { IDReportToLoad = Convert.ToInt32(loadingReport); // Carico il report base if (IDReportToLoad != idReportBase && IDReportToLoad != idReportCompleto) { if (nomeReportPerLabel != null && nomeReportPerLabel != "") { txb_nomeModello.Text = nomeReportPerLabel; this.ddl_Modello.Enabled = true; this.ddl_Modello.Items.FindByText(nomeReportPerLabel).Selected = true; if (descrizioneReportPerLabel != null && descrizioneReportPerLabel != "") txb_descrizione.Text = descrizioneReportPerLabel; //rbl_scelte.Items[2].Selected = true; rbl_scelte.SelectedIndex = 2; } } else if (IDReportToLoad == idReportCompleto) { //rbl_scelte.Items[1].Selected = true; rbl_scelte.SelectedIndex = 1; } else if (IDReportToLoad == idReportBase) { //rbl_scelte.Items[0].Selected = true; rbl_scelte.SelectedIndex = 0; } } //if (IDReportToLoad == -1) //vuol dire che devo caricare l'ultimo report da modello "salvato" //{ // IDReportToLoad = loadLastSavedUserModel(); //da attivare x sapere quale modello e' stato usato per ultimo da quell'operatore x quel cliente //} } #endregion LoadVincoliInSession(codiceFiscale, codicePB, codiceRete); if (IDReportToLoad == -1) createTreeView(idReportAlbero, idReportBase, false); else createTreeView(idReportAlbero, IDReportToLoad, false); if (!ClientScript.IsStartupScriptRegistered("gestAnalisiRischio")) { String cstext = ""; ClientScript.RegisterStartupScript(this.GetType(), "gestAnalisiRischio", cstext); } } } protected void btn_Stampa_Click(object sender, EventArgs e) { int idCliente = _cliente.IdCliente_SEIReport; if (idCliente != -1) { int rc = 0; //inizializzo il cookie che segnala la possibilita' di mostrare la pagina di inserimento note (reportStampa.aspx) HttpCookie ck_endOfJob = new HttpCookie("endOfJob"); ck_endOfJob.Value = "0"; Response.Cookies.Add(ck_endOfJob); if (rbl_scelte.SelectedItem.Value == "1") { baseCompleto = idReportCompleto.ToString(); } else if (rbl_scelte.SelectedItem.Value == "2") { baseCompleto = idReportBase.ToString(); } else if (rbl_scelte.SelectedItem.Value == "") { if (ddl_Modello.SelectedIndex == 0) baseCompleto = idReportBase.ToString(); else { string[] split = ddl_Modello.SelectedItem.Value.Split('|'); if (split.Length > 0) baseCompleto = split[0]; } } string nomeInizialeReport = this.txb_nomeModello.Text; string descrizioneInizialeReport = this.txb_descrizione.Text; reportNominativo = this.rbl_Privacy.Items[0].Selected ? true : false; idReport = scriviNuovoModelloReportIntoDB("LAST USED CONFIG" + "_" + idCliente.ToString(), idCliente); rc = InsertDatiInReportSezioniPers(idReport, "|", HiddenFieldStampa.Value, codiceRete + codicePB); if (rc > 0) { Session["HIDDENFIELD"] = HiddenFieldStampa.Value; ClassLibraryWS.Debug.ScriviLog(" HiddenFieldStampa.Value = " + HiddenFieldStampa.Value); string command = "generaPDF(\"Generator.aspx\",\"tipoReport=DIAGNOSI&action=createDiagnosi&codicePB=" + codicePB + "&codiceFiscale=" + codiceFiscale + "&token=" + token + "&codiceRete=" + codiceRete + "&idReport=" + idReport.ToString() + "&ambiente=" + ambiente + "&nomeInizialeReport=" + nomeInizialeReport + "&descrizioneInizialeReport=" + descrizioneInizialeReport + "&baseCompleto=" + baseCompleto + "&checkPrivacy=" + reportNominativo + "\");"; ClientScript.RegisterStartupScript(typeof(string), "pppppp", ""); #region Gestione custom del ritorno alla pagina di diagnosi createTreeView(idReportAlbero, idReport, false); #endregion } } } private int InsertDatiInReportSezioniPers(int idReport, string delimiter, string hiddensezioniselezionate, string utente) { #region Salvataggio Modello SezioneVincolo vincoli = (SezioneVincolo)Session["VINCOLIDIAGNOSI"]; int rc = 0; List parametri = new List(); Parametro parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = idReport; parametro.ParameterName = "pIdReport"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = delimiter; parametro.ParameterName = "delimiter"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = hiddensezioniselezionate; parametro.ParameterName = "splitstring"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = utente; parametro.ParameterName = "utente"; parametri.Add(parametro); //Variabili per i vincoli parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHaBFWallet); parametro.ParameterName = "CustomerHaPatrimonioBF"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHasOnlyBFWallet); parametro.ParameterName = "CustomerHasOnlyBFWallet"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHaPatrimonioTerziEdHaUnSoloIntermediario); parametro.ParameterName = "CustomerHaPatrimonioTerziEdHaUnSoloIntermediario"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHaPatrimonioTerzi); parametro.ParameterName = "CustomerHaPatrimonioTerzi"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHasOnlyWalletByOtherInstitutes); parametro.ParameterName = "CustomerHasOnlyWalletByOtherInstitutes"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHasNoPiramideModello); parametro.ParameterName = "CustomerHasNoPiramideModello"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHasNoPatNonRapPoliticaInv); parametro.ParameterName = "CustomerHasNoPatNonRapPoliticaInv"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = Convert.ToInt16(vincoli.CustomerHasNoPatNonRapAsset); parametro.ParameterName = "CustomerHasNoPatNonRapAsset"; parametri.Add(parametro); rc = DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServer, "sp_InsertIdSezioniIntoReportSezioniPers_Diagnosi", parametri); return rc; #endregion } private int scriviNuovoModelloReportIntoDB(string reportName, int idCliente) { int rc = -1; List parametri = new List(); Parametro parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = reportName; parametro.ParameterName = "nome"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = this.txb_descrizione.Text; ; parametro.ParameterName = "descrizione"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Boolean; parametro.Value = false; parametro.ParameterName = "flgModello"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = idReportAlbero; parametro.ParameterName = "idReportModello"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = tpReport; parametro.ParameterName = "tpReport"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = _cliente.CodiceRete + _cliente.CodicePB; parametro.ParameterName = "utente"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = idCliente; parametro.ParameterName = "idCliente"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int16; parametro.Value = rbl_Privacy.SelectedIndex; parametro.ParameterName = "Privacy"; parametri.Add(parametro); rc = DataAccess.ExecuteNonQueryStoredProcedure(DBProvider.SqlServer, "sp_insertNewReportModelNew", parametri); return rc; } protected void rbl_scelte_SelectedIndexChanged(object sender, EventArgs e) { int tiporeport = -1; this.txb_nomeModello.Text = ""; this.txb_descrizione.Text = ""; lbl_message.Text = ""; if (rbl_scelte.SelectedItem.Value != "") { tiporeport = Convert.ToInt32(rbl_scelte.SelectedItem.Value); ddl_Modello.Enabled = false; ddl_Modello.SelectedIndex = 0; } else { ddl_Modello.Enabled = true; ddl_Modello.SelectedIndex = 0; } // Carico il report selezionato che puo essere base o completo visto che Modelli risuleterebbe vuoto if (tiporeport != -1) { createTreeView(idReportAlbero, tiporeport, false); } else { createTreeView(idReportAlbero, idReportCompleto, true); } if (tiporeport == idReportBase) { if (!ClientScript.IsStartupScriptRegistered("gestAnalisiRischio")) { String cstext = ""; ClientScript.RegisterStartupScript(this.GetType(), "gestAnalisiRischio", cstext); } } if (tiporeport == idReportCompleto) { //if (!ClientScript.IsStartupScriptRegistered("dis2grafici")) //{ // String cstext = ""; // ClientScript.RegisterStartupScript(this.GetType(), "dis2grafici", cstext); //} if (!ClientScript.IsStartupScriptRegistered("abilitaPerimetro")) { String cstext = ""; ClientScript.RegisterStartupScript(this.GetType(), "abilitaPerimetro", cstext); } } } private void createTreeView(int tipoAlbero, int tipoReport, bool viewstate) { DataTable dtAlbero = null; DataTable dtVincoli = null; dtVincoli = getVincoliAlbero(tipoAlbero); dtAlbero = CreateDataSource(tipoAlbero, tipoReport, Convert.ToInt16(viewstate)); // Rimozione dati previdenziali for (int i = 79; i >= 73; i--) { dtAlbero.Rows[i].Delete(); } //ISPB elimino il ramo patrimonio terzi for (int i = 68; i >= 45; i--) { dtAlbero.Rows[i].Delete(); } if (dtAlbero.Columns.Contains("SezionePers")) dtAlbero.Columns["SezionePers"].ReadOnly = false; if (viewstate) setStatoSezioni(ref dtAlbero); // Ritorna l'albero con i vincoli gestiti gestioneVincoliAlbero(ref dtAlbero, dtVincoli); TreeViewCompositeControl1.DataSource = dtAlbero; TreeViewCompositeControl1.DataBind(); String cstext = ""; ClientScript.RegisterStartupScript(this.GetType(), "max2check", cstext); } DataTable CreateDataSource(int idreportAlbero, int idreport, int flagViewState) { List parametri = new List(); Parametro parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = idreportAlbero; parametro.ParameterName = "pIdReportAlbero"; parametri.Add(parametro); // flagViewState = 0 (false) // flagViewState = 1 (true) parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = flagViewState; parametro.ParameterName = "flagViewState"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = idreport; parametro.ParameterName = "pIdReport"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = codiceRete; parametro.ParameterName = "pRete"; parametri.Add(parametro); return DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "sp_getSezioni_ByIdReport_TreeView", parametri); } private DataTable getVincoliAlbero(int idReport) { DataTable dt = null; // I vincoli relativi alla privacy li recupero sempre string codiceVincoli = Resources.GlobalResource.Vincolo_Flag_Privacy_Anomima; codiceVincoli += "|" + Resources.GlobalResource.Vincolo_Flag_Privacy_Nominativa; SezioneVincolo vincoli = (SezioneVincolo)Session["VINCOLIDIAGNOSI"]; #region SEZIONE VINCOLO //// d.lisena 06/12/2010 //// Se il cliente ha solo il cc presso fideuram devo abilitare la parte di albero relativa a SintesiPatrimonio, PatrimonioBF e Analisi rischio. //// Metto questa condizione con la speranza di poter cambiare questa gestione dei vincoli //if (vincoli.CustomerHasCCBancaFideuram == true) //{ // vincoli.CustomerHasOnlyBFWallet = true; // vincoli.CustomerHasNoWalletAtAll = false; //} // Vincolo cliente non ha if (vincoli.CustomerHasOnlyBFWallet) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasOnlyBFWallet; } // Il cliente ha solo patrimonio presso altri istituti if (vincoli.CustomerHasOnlyWalletByOtherInstitutes) { if (!vincoli.CustomerHasCCBancaFideuram) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasOnlyWalletByOtherInstitutes; codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHaSoloCCPressoBF; } } // Customer Ha Patrimonio Terzi Ed Ha Un Solo Intermediario if (vincoli.CustomerHaPatrimonioTerziEdHaUnSoloIntermediario) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHaPatrimonioTerziEdHaUnSoloIntermediario; } // // Customer Ha Patrimonio Terzi Ed Ha Un Solo Intermediario //if (vincoli.CustomerHaPatrimonioTerziEdHaUnSoloIntermediario) //{ // codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHaPatrimonioTerziEdHaUnSoloIntermediario; //} // Customer Ha Patrimonio Terzi if (!vincoli.CustomerHaPatrimonioTerzi) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHaPatrimonioTerzi; } // Customer Non ha piramide modello if (vincoli.CustomerHasNoPiramideModello) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoPiramideModello; } // Customer Non ha portafogli if (vincoli.CustomerHasNoWalletAtAll) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoWalletAtAll; if (!vincoli.CustomerHasCCBancaFideuram) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHaSoloCCPressoBF; if (vincoli.CustomerHasPatrimionioImmobiliareOAltroPatrimonio) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasPatrimionioImmobiliareOAltroPatrimonio; if (vincoli.CustomerHasNoRischio) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoRischio; } if (vincoli.CustomerHasNoDatiProfessionali) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoDatiProfessionali; } if (vincoli.CustomerHasNoFabbisognoPrevidenziale) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoFabbisognoPrevidenziale; } if (vincoli.CustomerHasNoDatiProfessionali && vincoli.CustomerHasNoFabbisognoPrevidenziale) { codiceVincoli += "|" + Resources.GlobalResource.Vincolo_NoDatiProfessionali_NoFabbisognoPrevidenziale; } if (vincoli.CustomerCheckImmobiliareEdAltroPatrimonio != 3) { if (vincoli.CustomerCheckImmobiliareEdAltroPatrimonio == 0) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerCheckImmobiliareEdAltroPatrimonio_0; else if (vincoli.CustomerCheckImmobiliareEdAltroPatrimonio == 1) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerCheckImmobiliareEdAltroPatrimonio_1; else if (vincoli.CustomerCheckImmobiliareEdAltroPatrimonio == 2) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerCheckImmobiliareEdAltroPatrimonio_2; } if (vincoli.CustomerHasNoPatNonRapAsset) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoPatNonRapAsset; if (vincoli.CustomerHasNoPatNonRapPoliticaInv) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_CustomerHasNoPatNonRapPoliticaInv; // NUOVI VINCOLI if (!vincoli.IsVarProxati) codiceVincoli += "|" + Resources.GlobalResource.Vincolo_VarProxati; #endregion #region Recupero dal db il datatable vincoli passando la stringa List parametri = new List(); Parametro parametro = new Parametro(); parametro.DbType = DbType.Int32; parametro.Value = idReport; parametro.ParameterName = "pIdReport"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = "|"; parametro.ParameterName = "delimiter"; parametri.Add(parametro); parametro = new Parametro(); parametro.DbType = DbType.String; parametro.Value = codiceVincoli; parametro.ParameterName = "splitstring"; parametri.Add(parametro); dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "sp_getVincoliSezioni", parametri); #endregion return dt; } private void setStatoSezioni(ref DataTable dtAlbero) { string words = HiddenFieldSezioni.Value.Trim(); if (words == "") if (Session["HIDDENFIELD"] != null && Session["HIDDENFIELD"] != "") words = Session["HIDDENFIELD"].ToString(); DataRow key = null; if (words.Length > 0) { if (dtAlbero.PrimaryKey.Length == 0) { DataColumn[] primarykeys = new DataColumn[1]; primarykeys[0] = dtAlbero.Columns["IDSezione"]; dtAlbero.PrimaryKey = primarykeys; } string[] split = words.Split('|'); foreach (string s in split) { if (s.Trim() != "") { key = dtAlbero.Rows.Find(s); if (key != null) key["SezionePers"] = 1; } } } } private void gestioneVincoliAlbero(ref DataTable dtAlbero, DataTable dtVincoli) { DataRow key = null; #region Cancello le righe del vincolo privacy se non selezionalto o selezionabile if (rbl_Privacy.Visible == true && rbl_Privacy.Items[0].Selected == true) { // Privacy Nominativa // Elimini le righe della privacy anonima DataRow[] drs = dtVincoli.Select(" IDVincolo = '" + Resources.GlobalResource.Vincolo_Flag_Privacy_Anomima.Trim() + "'"); foreach (DataRow rowVincolo in drs) { dtVincoli.Rows.Remove(rowVincolo); } } else if ((rbl_Privacy.Visible == true && rbl_Privacy.Items[1].Selected == true) || (rbl_Privacy.Visible == false)) { // Privacy Anonima // Eliminio le righe della privacy nominativa DataRow[] drs = dtVincoli.Select(" IDVincolo = '" + Resources.GlobalResource.Vincolo_Flag_Privacy_Nominativa.Trim() + "'"); foreach (DataRow rowVincolo in drs) { dtVincoli.Rows.Remove(rowVincolo); } } #endregion // settaggio della primary key if (dtAlbero.PrimaryKey.Length == 0) { DataColumn[] primarykeys = new DataColumn[1]; primarykeys[0] = dtAlbero.Columns["IDSezione"]; dtAlbero.PrimaryKey = primarykeys; } // recupero idsesione per ogni foreach (DataRow rowVincolo in dtVincoli.Rows) { key = dtAlbero.Rows.Find(rowVincolo["IDSEZIONE"]); // trova la chiave if (key != null) { #region Gestione Vincoli switch (rowVincolo["TIPOVINCOLO"].ToString()) { case "CHECKED": key["SezionePers"] = 1; break; case "CHECKED|DISABLE": key["SezionePers"] = 1; key["IsDefault"] = 0; break; case "UNCHECKED|DISABLE": key["IsDefault"] = 0; key["SezionePers"] = 0; break; case "UNCHECKED|ENABLE": key["IsDefault"] = 1; key["SezionePers"] = 0; break; case "LABELGREY": key["CSSClass"] = "lblTestoDescrizioneGrigio"; key["IsSectionPrinting"] = 0; break; case "LABELGREYBOLD": key["CSSClass"] = "lblTestoDescrizioneGrigioBold"; key["IsSectionPrinting"] = 0; break; case "UNCHECKED|DISABLE|UNMANDATORY": key["IsDefault"] = 0; key["SezionePers"] = 0; key["IsMandatory"] = 0; break; default: break; } #endregion } } } public void LoadVincoliInSession(string codiceFiscale, string codiceAgente, string codiceRete) { CTable tbl = new CTable(); SezioneVincolo SezVincolo = new SezioneVincolo(); bool conPatrimonioTerzi = false; bool conPatrimonioBF = false; //set variabili per abilitare pulsanti tbl.LoadDati(codiceFiscale, codicePB, codiceRete); conPatrimonioBF = tbl.Diagnosi_CustomerHasBFWallet(); conPatrimonioTerzi = tbl.Diagnosi_CustomerHaPatrimonioTerzi(); SezVincolo.CustomerHasCCBancaFideuram = tbl.Diagnosi_CustomerHaCCPressoBF(); SezVincolo.CustomerHasNoWalletAtAll = tbl.Diagnosi_CustomerHasNoWalletAtAll(); SezVincolo.CustomerHaBFWallet = conPatrimonioBF; if (conPatrimonioBF && (conPatrimonioTerzi == false)) SezVincolo.CustomerHasOnlyBFWallet = true; else SezVincolo.CustomerHasOnlyBFWallet = false; SezVincolo.CustomerHasOnlyWalletByOtherInstitutes = tbl.Diagnosi_CustomerHasOnlyWalletByOtherInstitutes(); SezVincolo.CustomerHasPatrimionioImmobiliareOAltroPatrimonio = tbl.Diagnosi_CustomerHasPatrimionioImmobiliareOAltroPatrimonio(); SezVincolo.CustomerHasNoFabbisognoPrevidenziale = tbl.Diagnosi_CustomerHasNoFabbisognoPrevidenziale(); SezVincolo.CustomerHasNoDatiProfessionali = tbl.Diagnosi_CustomerHasNoDatiProfessionali(); SezVincolo.CustomerHasNoPiramideModello = tbl.Diagnosi_CustomerHasNoPiramideModello(); SezVincolo.CustomerHasNoRischio = tbl.Diagnosi_CustomerHasNoRischio(codiceFiscale, codicePB, codiceRete, token); SezVincolo.CustomerCheckImmobiliareEdAltroPatrimonio = tbl.Diagnosi_CustomerCheckImmobiliareEdAltroPatrimonio(_cliente.ChiaveClientePB); SezVincolo.CustomerHaPatrimonioTerzi = conPatrimonioTerzi; SezVincolo.CustomerHaSoloCCPressoBF = tbl.Diagnosi_CustomerHaSoloCCPressoBF(); SezVincolo.CustomerHaPatrimonioTerziEdHaUnSoloIntermediario = tbl.Diagnosi_CustomerHaPatrimonioTerziEdHaUnSoloIntermediario(); SezVincolo.IsVarProxati = tbl.Diagnosi_CustomerHasProdottiNonCatalogati(); // La funzione sotto popola la varianile Diag_CustomerHasNoPatNonRapAsset // Sono vincolato alla gestione fantastica precedente tbl.Diagnosi_CustomerHasNoPatNonRapAsset(); SezVincolo.CustomerHasNoPatNonRapAsset = tbl.Diag_CustomerHasNoPatNonRapAsset; // La funzione sotto popola la varianile Diag_CustomerHasNoPatNonRapAsset // SONO VINCOLATO ALLA GESTIONE FANTASTICA PRECEDENTE tbl.Diagnosi_CustomerHasNoPatNonRapPoliticaInv(); SezVincolo.CustomerHasNoPatNonRapPoliticaInv = tbl.Diag_CustomerHasNoPatNonRapPoliticaInv; Session["VINCOLIDIAGNOSI"] = SezVincolo; } protected void btn_Salva_Click(object sender, EventArgs e) { int idReport; int rc = 0; string nomeModello = txb_nomeModello.Text; nomeModello = nomeModello.Trim(); int idCliente = _cliente.IdCliente_SEIReport; idReport = scriviNuovoModelloReportIntoDB(nomeModello, idCliente); //salvo il modello che non va stampato... fillModelli(); if (idReport != -1) { #region Salvataggio Modello rc = InsertDatiInReportSezioniPers(idReport, "|", HiddenFieldSezioni.Value, codiceRete + codicePB); #endregion } else this.lbl_message.Text = "Errore nel salvataggio del modello " + nomeModello + "."; if (rc > 0) { this.lbl_message.ForeColor = System.Drawing.Color.Black; this.lbl_message.Text = "Il Modello " + nomeModello + " e' stato salvato correttamente."; createTreeView(idReportAlbero, idReport, false); } else { this.lbl_message.Text = "Errore nel salvataggio del modello " + nomeModello + "."; createTreeView(idReportAlbero, idReportBase, false); } #region Modello Salvato this.ddl_Modello.Enabled = true; this.ddl_Modello.Items.FindByValue(idReport.ToString() + "|" + txb_descrizione.Text).Selected = true; //rbl_scelte.Items[2].Selected = true; rbl_scelte.SelectedIndex = 2; #endregion } protected void btn_GestioneModelli_Click(object sender, EventArgs e) { if (rbl_scelte.SelectedItem.Value == "1") { reportIdToPass = idReportCompleto.ToString(); } else if (rbl_scelte.SelectedItem.Value == "2") { reportIdToPass = idReportBase.ToString(); } else if (rbl_scelte.SelectedItem.Value == "") { if (ddl_Modello.SelectedIndex == 0) reportIdToPass = idReportBase.ToString(); else { string[] split = ddl_Modello.SelectedItem.Value.Split('|'); if (split.Length > 0) reportIdToPass = split[0]; } } string nomeInizialeReport = this.txb_nomeModello.Text; string descrizioneInizialeReport = this.txb_descrizione.Text; if (this.rbl_Privacy.Items[0].Selected == true) reportNominativo = true; else reportNominativo = false; Session["HIDDENFIELD"] = ""; Response.Redirect("archivioModelli.aspx?codCliente=" + codiceFiscale + "&tipoRete=" + codiceRete + "&codPB=" + codicePB + "&pathNav=" + pathNav + "&tpReport=" + tpReport + "&utente=" + _cliente.CodiceRete + _cliente.CodicePB + "&caller=" + nomeReportDiagnosi + "&idReport=" + reportIdToPass + "&nomeInizialeReport=" + nomeInizialeReport + "&descrizioneInizialeReport=" + descrizioneInizialeReport + "&checkPrivacy=" + reportNominativo + "&token=" + token); } protected void ddl_Modello_SelectedIndexChanged(object sender, EventArgs e) { string[] split = ddl_Modello.SelectedItem.Value.Split('|'); string idreport = ""; string desc = ""; if (split.Length > 0) { if (split[0] != null) idreport = split[0]; if (split.Length == 2) if (split[1] != null) desc = split[1]; } if (ddl_Modello.SelectedIndex != 0) createTreeView(idReportAlbero, Convert.ToInt32(idreport), false); else createTreeView(idReportAlbero, idReportCompleto, true); lbl_message.Text = ""; this.txb_nomeModello.Text = ddl_Modello.SelectedItem.Text; this.txb_descrizione.Text = desc; } protected void rbl_Privacy_SelectedIndexChanged(object sender, EventArgs e) { int tiporeport = -1; this.txb_nomeModello.Text = ""; this.txb_descrizione.Text = ""; lbl_message.Text = ""; if (rbl_scelte.SelectedItem.Value != "") { tiporeport = Convert.ToInt32(rbl_scelte.SelectedItem.Value); ddl_Modello.Enabled = false; ddl_Modello.SelectedIndex = 0; } else { ddl_Modello.Enabled = true; ddl_Modello.SelectedIndex = 0; } // Carico il report selezionato che puo essere base o completo visto che Modelli risuleterebbe vuoto if (tiporeport != -1) { createTreeView(idReportAlbero, tiporeport, false); } else { createTreeView(idReportAlbero, idReportCompleto, true); } if (tiporeport == idReportBase) { if (!ClientScript.IsStartupScriptRegistered("gestAnalisiRischio")) { String cstext = ""; ClientScript.RegisterStartupScript(this.GetType(), "gestAnalisiRischio", cstext); } } } private void fillModelli() { this.ddl_Modello.Items.Clear(); List parametri = new List(); Parametro parametro = new Parametro(); parametro.ParameterName = "pIdReportModello"; parametro.Value = idReportAlbero; parametro.DbType = DbType.Int32; parametri.Add(parametro); parametro = new Parametro(); parametro.ParameterName = "pUtente"; if ((_cliente.CodiceRete + _cliente.CodicePB).Length > 0) parametro.Value = _cliente.CodiceRete + _cliente.CodicePB; else parametro.Value = System.DBNull.Value; parametro.DbType = DbType.String; parametri.Add(parametro); DataTable dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServer, "sp_getReport_ByUtenteAndModello", parametri); ddl_Modello.Items.Add("Selezione Modelli"); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { string nome = dr["Nome"].ToString(); if (nome.IndexOf("LAST USED CONFIG") == -1) { ListItem li = new ListItem(dr["Nome"].ToString(), dr["IdReport"].ToString() + "|" + dr["Descrizione"].ToString()); this.ddl_Modello.Items.Add(li); } } } } }