Пример #1
0
        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;
        }
Пример #2
0
        //---------------------------------------------------------------------------------------
        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;
        }
Пример #3
0
 //-------------------------------------------------------------------
 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();
 }
Пример #4
0
        //-------------------------------------------------------
        public static Type GetTypeFormEditeur(CParametreSourceChart parametre)
        {
            if (parametre == null)
            {
                return(null);
            }
            Type typeRetour = null;

            m_dicTypeSourceToEditeur.TryGetValue(parametre.GetType(), out typeRetour);
            return(typeRetour);
        }
Пример #5
0
 //-------------------------------------------------------------------
 private string GetIdSourceSelectionnee()
 {
     if (m_cmbSource.SelectedIndex >= 0)
     {
         CParametreSourceChart p = m_cmbSource.SelectedValue as CParametreSourceChart;
         if (p != null)
         {
             return(p.SourceId);
         }
     }
     return(null);
 }
Пример #6
0
        //--------------------------------------------------------------
        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;
        }
Пример #7
0
 //-----------------------------------------------------------------------
 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);
         }
     }
 }
Пример #8
0
 //--------------------------------------------------------
 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);
     }
 }
Пример #9
0
 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);
         }
     }
 }
Пример #10
0
        //--------------------------------------------------------
        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;
 }
Пример #12
0
 //-----------------------------------------------------------------
 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;
 }
Пример #13
0
        //-------------------------------------------------------------------
        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();
        }
Пример #14
0
        //--------------------------------------------------------
        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);
        }
Пример #15
0
        //-----------------------------------------------------------------
        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);
        }