private void FillTables() { m_bIsFillingTables = true; m_comboTable.BeginUpdate(); m_comboTable.Items.Clear(); CParametreSourceChart p = m_chartSetup.ParametresDonnees.GetSourceFV(m_fournisseur.SourceId); if (p != null) { CEasyQuery query = p.GetSource(m_chartSetup) as CEasyQuery; if (query != null) { foreach (C2iObjetGraphique obj in query.Childs) { IObjetDeEasyQuery oe = obj as IObjetDeEasyQuery; if (oe != null) { m_comboTable.Items.Add(oe.NomFinal); } } } } m_comboTable.EndUpdate(); m_comboTable.SelectedItem = m_fournisseur.TableName; m_bIsFillingTables = false; }
//--------------------------------------------------------------------------------------- public void InitChamps(CChartSetup chartSetup, IFournisseurValeursSerie fournisseur) { m_fournisseurFormule = fournisseur as CFournisseurValeursSerieFormule; m_chartSetup = chartSetup; //Trouve la source CParametreSourceChart p = chartSetup.ParametresDonnees.GetSourceFV(fournisseur.SourceId); Type tp = typeof(string); if (p != null) { CTypeResultatExpression t = p.TypeSource; if (t != null) { tp = p.TypeSource.TypeDotNetNatif; /*if ( t.IsArrayOfTypeNatif ) * { * tp = CActivatorSurChaine.GetType(t.TypeDotNetNatif.ToString()+"[]"); * }*/ } } m_txtFormule.Init(new CFournisseurGeneriqueProprietesDynamiques(), tp); m_txtFormule.Formule = m_fournisseurFormule.Formule; m_chkForEach.Checked = m_fournisseurFormule.EvaluateOnEachSourceElement; }
//------------------------------------------------------------------- private void m_btnOk_Click(object sender, EventArgs e) { if (GetIdSourceSelectionnee() == null) { m_fournisseurValeurs = null; } else { if (m_editeurEnCours != null) { CParametreSourceChart p = m_cmbSource.SelectedValue as CParametreSourceChart; if (p != null) { m_fournisseurValeurs.SourceId = p.SourceId; } CResultAErreur result = m_editeurEnCours.MajChamps(); if (!result) { CFormAlerte.Afficher(result.Erreur); return; } } } DialogResult = DialogResult.OK; Close(); }
//------------------------------------------------------- public static Type GetTypeFormEditeur(CParametreSourceChart parametre) { if (parametre == null) { return(null); } Type typeRetour = null; m_dicTypeSourceToEditeur.TryGetValue(parametre.GetType(), out typeRetour); return(typeRetour); }
//------------------------------------------------------------------- private string GetIdSourceSelectionnee() { if (m_cmbSource.SelectedIndex >= 0) { CParametreSourceChart p = m_cmbSource.SelectedValue as CParametreSourceChart; if (p != null) { return(p.SourceId); } } return(null); }
//-------------------------------------------------------------- public void InitChamps(CParametreSourceChart parametre, IFournisseurProprietesDynamiques fournisseur, CObjetPourSousProprietes typeSourceGlobale) { CParametreSourceChartEasyQuery src = parametre as CParametreSourceChartEasyQuery; if (src == null) { return; } m_sourceEasyQuery = src; m_panelQuery.Init(src.EasyQuery); m_txtSourceName.Text = m_sourceEasyQuery.SourceName; }
//----------------------------------------------------------------------- private void m_lnkDetailSource_LinkClicked(object sender, EventArgs e) { if (m_wndListeSources.SelectedItems.Count > 0) { ListViewItem item = m_wndListeSources.SelectedItems[0]; CParametreSourceChart parametre = item.Tag as CParametreSourceChart; if (parametre != null) { EditeParametre(ref parametre); } } }
//-------------------------------------------------------- private void AssureMenuTypesSource() { if (m_menuTypesSources.Items.Count > 0) { return; } foreach (Type tp in CParametreSourceChart.TypesSourcesConnus) { CParametreSourceChart parametre = (CParametreSourceChart)Activator.CreateInstance(tp, new object[] { m_chartSetup }); ToolStripMenuItem itemNewParametre = new ToolStripMenuItem(parametre.SourceTypeName); itemNewParametre.Tag = tp; itemNewParametre.Click += new EventHandler(itemNewParametre_Click); m_menuTypesSources.Items.Add(itemNewParametre); } }
private void m_lnkDeleteSource_LinkClicked(object sender, EventArgs e) { if (m_wndListeSources.SelectedItems.Count > 0) { ListViewItem item = m_wndListeSources.SelectedItems[0]; CParametreSourceChart parametre = item.Tag as CParametreSourceChart; if (parametre != null && CFormAlerte.Afficher( I.T("Delete source '@1' ?|20035", parametre.SourceName), EFormAlerteBoutons.OuiNon, EFormAlerteType.Question) == DialogResult.Yes) { m_wndListeSources.Items.Remove(item); m_chartSetup.ParametresDonnees.RemoveSourceFV(parametre); } } }
//-------------------------------------------------------- void itemNewParametre_Click(object sender, EventArgs e) { ToolStripMenuItem menuItem = sender as ToolStripMenuItem; Type tp = menuItem != null ? menuItem.Tag as Type : null; if (tp != null) { CParametreSourceChart parametre = (CParametreSourceChart)Activator.CreateInstance(tp, new object[] { m_chartSetup }); ListViewItem item = new ListViewItem(parametre.SourceName); item.Tag = parametre; m_wndListeSources.Items.Add(item); if (!EditeParametre(ref parametre)) { m_wndListeSources.Items.Remove(item); } } }
public void InitChamps(CParametreSourceChart parametre, IFournisseurProprietesDynamiques fournisseur, CObjetPourSousProprietes objetAnalyse) { m_parametreFormule = parametre as CParametreSourceChartFormule; if (m_parametreFormule == null) { return; } m_txtFormule.Formule = m_parametreFormule.Formule; m_txtFormule.Init(fournisseur, objetAnalyse); m_objetAnalyse = objetAnalyse; m_fournisseur = fournisseur; m_wndAideFormule.FournisseurProprietes = m_fournisseur; m_wndAideFormule.ObjetInterroge = m_objetAnalyse; m_txtSourceName.Text = parametre.SourceName; }
//----------------------------------------------------------------- private void FillChamps() { m_comboChamp.BeginUpdate(); m_comboChamp.Items.Clear(); if (m_comboTable.Text.Length > 0) { CParametreSourceChart p = m_chartSetup.ParametresDonnees.GetSourceFV(m_fournisseur.SourceId); if (p != null) { CEasyQuery query = p.GetSource(m_chartSetup) as CEasyQuery; if (query != null) { foreach (C2iObjetGraphique obj in query.Childs) { IObjetDeEasyQuery oe = obj as IObjetDeEasyQuery; if (oe != null) { if (oe.NomFinal == m_comboTable.Text) { DataTable table = query.GetTable(oe.NomFinal); if (table != null) { foreach (DataColumn col in table.Columns) { m_comboChamp.Items.Add(col.ColumnName); } } CDynamicDataTableDef tableDef = new CDynamicDataTableDef(table); CDynamicDataTableRowDef rowDef = new CDynamicDataTableRowDef(tableDef); m_txtFormule.Init(new CFournisseurGeneriqueProprietesDynamiques(), new CObjetPourSousProprietes(rowDef)); } } } } } } m_comboChamp.EndUpdate(); m_comboChamp.SelectedItem = m_fournisseur.ColumnName; }
//------------------------------------------------------------------- private void FillListeTypesFournisseursPossibles() { m_cmbTypeExtracteur.BeginUpdate(); m_cmbTypeExtracteur.Items.Clear(); string strIdSource = GetIdSourceSelectionnee(); if (strIdSource != null) { CParametreSourceChart p = m_chartSetup.ParametresDonnees.GetSourceFV(strIdSource); if (p != null) { foreach (Type tp in CGestionnaireFournisseursValeursSerie.GetTypesFournisseursConnus()) { IFournisseurValeursSerie f = Activator.CreateInstance(tp) as IFournisseurValeursSerie; if (f != null && f.IsApplicableToSource(p)) { CDescriptionFournisseurValeurs desc = new CDescriptionFournisseurValeurs(f.LabelType, tp); m_cmbTypeExtracteur.Items.Add(desc); } } } } m_cmbTypeExtracteur.DisplayMember = "Libelle"; m_cmbTypeExtracteur.ValueMember = "Type"; m_cmbTypeExtracteur.EndUpdate(); if (m_fournisseurValeurs != null) { for (int n = 0; n < m_cmbTypeExtracteur.Items.Count; n++) { CDescriptionFournisseurValeurs desc = m_cmbTypeExtracteur.Items[n] as CDescriptionFournisseurValeurs; if (desc != null && desc.Type == m_fournisseurValeurs.GetType()) { m_cmbTypeExtracteur.SelectedIndex = n; break; } } } // m_cmbTypeExtracteur.SelectedValue = m_fournisseurValeurs.GetType(); ShowDetailFournisseur(); }
//-------------------------------------------------------- public bool EditeParametre(ref CParametreSourceChart parametre) { parametre = parametre.GetCloneAvecMemeId(); Type tp = CEditeurSourceChart.GetTypeFormEditeur(parametre); if (tp != null) { Form frm = Activator.CreateInstance(tp) as Form; if (frm != null) { ((IFormEditSourceChart)frm).InitChamps( parametre, new CFournisseurGeneriqueProprietesDynamiques(), new CObjetPourSousProprietes(m_chartSetup)); DialogResult res = frm.ShowDialog(); frm.Dispose(); if (res == DialogResult.OK) { foreach (ListViewItem item in m_wndListeSources.Items) { if (((CParametreSourceChart)item.Tag).SourceId == parametre.SourceId) { item.Tag = parametre; item.Text = parametre.SourceName; } } m_chartSetup.ParametresDonnees.AddSourceFV(parametre); if (SourcesChanged != null) { SourcesChanged(this, null); } return(true); } } } return(false); }
//----------------------------------------------------------------- public CResultAErreur MajChamps() { CResultAErreur result = CResultAErreur.True; if (m_comboTable.Text.Length == 0) { result.EmpileErreur(I.T("Select a table|20020")); return(result); } if (m_rbtnFormule.Checked && m_txtFormule.Formule == null) { result.EmpileErreur(I.T("Select a field or a formula|20034")); return(result); } //Vérifie que la sélection est valide CParametreSourceChart p = m_chartSetup.ParametresDonnees.GetSourceFV(m_fournisseur.SourceId); CEasyQuery q = p != null?p.GetSource(m_chartSetup) as CEasyQuery : null; if (q == null) { result.EmpileErreur(I.T("Invalid source|20021")); return(result); } //Trouve la table IObjetDeEasyQuery oqSel = null; foreach (C2iObjetGraphique objet in q.Childs) { IObjetDeEasyQuery o = objet as IObjetDeEasyQuery; if (o != null && o.NomFinal == m_comboTable.Text) { oqSel = o; break; } } if (oqSel == null) { result.EmpileErreur(I.T("Invalid table name (@1)|20022", m_comboTable.Text)); return(result); } DataColumn colSel = null; DataTable table = q.GetTable(oqSel.NomFinal); if (m_rbtnField.Checked) { foreach (DataColumn col in table.Columns) { if (col.ColumnName == m_comboChamp.Text) { colSel = col; break; } } if (colSel == null) { result.EmpileErreur(I.T("Invalid column name @1|20023", m_comboChamp.Text)); return(result); } } if (m_rbtnFormule.Checked) { if (!m_txtFormule.ResultAnalyse && colSel == null) { result.EmpileErreur(m_txtFormule.ResultAnalyse.Erreur); } else { m_fournisseur.Formule = m_txtFormule.Formule; m_fournisseur.ColumnName = ""; } } if (colSel != null) { m_fournisseur.ColumnName = colSel.ColumnName; m_fournisseur.Formule = null; } m_fournisseur.TableName = oqSel.NomFinal; return(result); }