//--------------------------------------------------------------
        public void Init(
            CEasyQuery query,
            IEnumerable <CCAMLItemField> fields,
            CCAMLItemComparaison comparaison)
        {
            m_query       = query;
            m_comparaison = comparaison;
            List <CCAMLItemComparaison>      itemsComparaison = new List <CCAMLItemComparaison>();
            List <CCAMLOperateurComparaison> ops = new List <CCAMLOperateurComparaison>();

            foreach (ECAMLComparaison op in CCAMLOperateurComparaison.ValeursEnumPossibles)
            {
                ops.Add(new CCAMLOperateurComparaison(op));
            }
            m_comboOperateur.ListDonnees       = ops;
            m_comboOperateur.ProprieteAffichee = "Libelle";

            m_comboOperateur.SelectedValue = new CCAMLOperateurComparaison(comparaison.Operateur);

            m_comboChamp.ListDonnees       = fields;
            m_comboChamp.ProprieteAffichee = "Libelle";
            m_comboChamp.SelectedValue     = comparaison.Field;

            m_txtFormuleValeur.Init(
                new CFournisseurGeneriqueProprietesDynamiques(),
                new CObjetPourSousProprietes(m_query));
            m_txtFormuleValeur.Formule = comparaison.Valeur;

            m_txtFormuleCondition.Init(
                new CFournisseurGeneriqueProprietesDynamiques(),
                new CObjetPourSousProprietes(m_query));
            m_txtFormuleCondition.Formule = comparaison.Condition;
        }
Beispiel #2
0
        //---------------------------------------------------------------
        private void m_btnLoad_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Easy query|*.esq|All files|*.*";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                CEasyQuery     query = m_editeur.ObjetEdite as CEasyQuery;
                CResultAErreur res   = CSerializerObjetInFile.ReadFromFile(query, "QUERY", dlg.FileName);
                if (!res)
                {
                    CEasyQueryAvecSource qas  = new CEasyQueryAvecSource();
                    CResultAErreur       res2 = CSerializerObjetInFile.ReadFromFile(qas, "QUERYWITHSOURCE", dlg.FileName);
                    if (res2)
                    {
                        m_bSaveWithSource = true;
                        query             = qas.GetEasyQuerySansSource();
                        res = CResultAErreur.True;
                    }
                }
                else
                {
                    m_bSaveWithSource = false;
                }
                if (!res)
                {
                    CFormAlerte.Afficher(res.Erreur);
                }
                Init(query);
                /*m_editeur.ObjetEdite = query;*/
                m_editeur.Refresh();
            }
        }
        //-------------------------------------------------
        public void Init(
            IDataHotelCalcul calcul,
            CEasyQuery query,
            CODEQTableFromDataHotel table)
        {
            m_calcul = calcul as CDataHotelCalculDuration;
            if (m_calcul == null)
            {
                m_calcul = new CDataHotelCalculDuration();
            }
            List <CColumnEQFromSource> cols   = new List <CColumnEQFromSource>();
            CColumnEQFromSource        colSel = null;

            foreach (IColumnDeEasyQuery colTest in table.Columns)
            {
                CColumnEQFromSource cs = colTest as CColumnEQFromSource;
                if (cs != null && colTest != null && colTest.DataType == typeof(double))
                {
                    cols.Add(cs);
                    if (cs.IdColumnSource == m_calcul.IdChampSource)
                    {
                        colSel = cs;
                    }
                }
            }
            m_cmbChampSource.SelectedValue = colSel;
            if (table != null)
            {
                m_cmbChampSource.ListDonnees       = cols;
                m_cmbChampSource.ProprieteAffichee = "ColumnName";
                m_cmbChampSource.AssureRemplissage();
                m_cmbChampSource.SelectedItem = colSel;
            }
            m_panelFiltre.Init(query, m_calcul.Filtre, table);
        }
Beispiel #4
0
        //------------------------------------------
        protected override void MyGetXmlText(CEasyQuery query, StringBuilder bl, int nIndent)
        {
            if (BaliseOperateur.Length > 0 && m_champ != null)
            {
                AddIndent(bl, nIndent);
                bl.Append("<");
                bl.Append(BaliseOperateur);
                bl.Append(">");

                bl.Append(Environment.NewLine);
                m_champ.GetXmlText(query, bl, nIndent + 1);
                bl.Append(Environment.NewLine);
                bl.Append("<Value Type='Text'>");
                if (m_valeur != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(query);
                    CResultAErreur result             = m_valeur.Eval(ctx);
                    if (result && result.Data != null)
                    {
                        bl.Append(result.Data.ToString());
                    }
                }
                bl.Append("</Value>");
                bl.Append(Environment.NewLine);
                bl.Append("</");
                bl.Append(BaliseOperateur);
                bl.Append(">");
                bl.Append(Environment.NewLine);
            }
        }
Beispiel #5
0
 //--------------------------------------------
 public void GetRowFilter(CEasyQuery query, StringBuilder bl)
 {
     if (ShouldApply(query))
     {
         MyGetRowFilter(query, bl);
     }
 }
Beispiel #6
0
        void itemSource_DropDownOpening(object sender, EventArgs e)
        {
            ToolStripMenuItem     item            = sender as ToolStripMenuItem;
            CEasyQuery            query           = ObjetEdite as CEasyQuery;
            CODEQFromObjetsSource tableFromSource = Selection.Count == 1?Selection[0] as CODEQFromObjetsSource:null;

            if (item != null && query != null && tableFromSource != null)
            {
                item.DropDownItems.Clear();
                List <IObjetDeEasyQuery> lst = new List <IObjetDeEasyQuery>();
                foreach (IObjetDeEasyQuery obj in query.Childs)
                {
                    lst.Add(obj);
                }
                lst.Sort((x, y) => x.NomFinal.CompareTo(y.NomFinal));
                foreach (IObjetDeEasyQuery objet in lst)
                {
                    if (objet.Id != tableFromSource.Id)
                    {
                        ToolStripMenuItem itemNewSource = new ToolStripMenuItem(objet.NomFinal);
                        itemNewSource.Tag    = objet;
                        itemNewSource.Click += itemNewSource_Click;
                        item.DropDownItems.Add(itemNewSource);
                    }
                }
            }
        }
Beispiel #7
0
        public void InitFromColonneSource(IColumnDeEasyQuery colonne, CODEQBase objetDeQuery)
        {
            m_colonneSource = colonne;

            CEasyQuery query = objetDeQuery.Query;

            if (query != null)
            {
                //cherche la source
                ITableDefinition  tableDef = null;
                IColumnDefinition colDef   = null;
                IsReadOnly  = true;
                Description = "";
                if (query.FindSource(colonne, objetDeQuery, out tableDef, out colDef))
                {
                    CColumnDefinitionSNMP colSnmp = colDef as CColumnDefinitionSNMP;
                    if (colSnmp != null)
                    {
                        if (tableDef is CTableDefinitionSNMP ||
                            tableDef is CTableDefinitionSnmpOfScalar)
                        {
                            Description = colSnmp.Description;
                            IsReadOnly  = colSnmp.IsReadOnly;
                        }
                    }
                }
            }
        }
Beispiel #8
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;
        }
Beispiel #9
0
 //--------------------------------------------
 public void GetXmlText(CEasyQuery query, StringBuilder bl, int nIndent)
 {
     if (ShouldApply(query))
     {
         MyGetXmlText(query, bl, nIndent);
     }
 }
        //------------------------------------------
        public void FillFromTable(CODEQBase objetDeRequete)
        {
            CEasyQuery query = objetDeRequete.Query;

            if (query == null)
            {
                return;
            }
            IdObjetDeQuerySource = objetDeRequete.Id;
            HashSet <string> champsASupprimer = new HashSet <string>();

            foreach (IChampEntiteSNMP champ in Champs.ToArray())
            {
                if (champ is CChampEntiteSnmpStandard)
                {
                    champsASupprimer.Add(champ.Id);
                }
            }
            foreach (IColumnDeEasyQuery col in objetDeRequete.Columns)
            {
                CChampEntiteFromQuery champ = Champs.FirstOrDefault(c =>
                                                                    c is CChampEntiteFromQuery && ((CChampEntiteFromQuery)c).ColonneSource.Id == col.Id) as CChampEntiteFromQuery;
                if (champ == null)
                {
                    champ = new CChampEntiteFromQuery();
                    ChampsListe.Add(champ);
                }
                champ.InitFromColonneSource(col, objetDeRequete);
            }
        }
 public static void EditeOptions(CEasyQuery query)
 {
     using (CFormOptionsDeQuery frm = new CFormOptionsDeQuery())
     {
         frm.m_query = query;
         frm.ShowDialog();
     }
 }
Beispiel #12
0
 //------------------------------------
 protected override void MyGetXmlText(CEasyQuery query, StringBuilder bl, int nIndent)
 {
     AddIndent(bl, nIndent);
     bl.Append("<FieldRef ");
     bl.Append(m_strXmlAttrib);
     bl.Append("='");
     bl.Append(m_strXmlAttribValue);
     bl.Append("'/>");
 }
Beispiel #13
0
        //--------------------------------------------
        public string GetRowFilter(CEasyQuery query)
        {
            StringBuilder bl = new StringBuilder();

            if (m_root != null)
            {
                m_root.GetRowFilter(query, bl);
            }
            return(bl.ToString());
        }
        //------------------------------------------------------------------------------
        private CODEQBase GetObjetDeQuerySource()
        {
            CEasyQuery query = m_typeAgent.Queries.FirstOrDefault(c => c.GetObjet(m_typeEntite.IdObjetDeQuerySource) != null);

            if (query != null)
            {
                return(query.Childs.FirstOrDefault(o => o is IObjetDeEasyQuery && ((IObjetDeEasyQuery)o).Id == m_typeEntite.IdObjetDeQuerySource) as CODEQBase);
            }
            return(null);
        }
Beispiel #15
0
 //-----------------------------------------------------------------------------------
 public void Init(
     CEasyQuery easyQuery,
     IDHFiltre filtre,
     CODEQTableFromDataHotel table)
 {
     m_easyQuery      = easyQuery;
     m_table          = table;
     m_filtreOriginal = filtre;
     InitArbre();
 }
Beispiel #16
0
        //---------------------------------------------------------------
        public void Init(CEasyQuery query)
        {
            m_query = query;
            Size sz = new Size(Math.Max(m_query.Size.Width, 3000), Math.Max(m_query.Size.Height, 3000));

            m_query.Size = sz;
            m_arbre.Init(query.ListeSources);
            m_editeur.ObjetEdite = query;
            m_panelVariables.Init(query);
        }
Beispiel #17
0
        //---------------------------------------------------------------
        private void m_lnkAddQuery_LinkClicked(object sender, EventArgs e)
        {
            CEasyQuery query = new CEasyQuery();

            if (EditeQuery(query))
            {
                m_baseHandlers.AddQuery(query);
                FillListeQueries();
            }
        }
Beispiel #18
0
        public string GetXmlText(CEasyQuery query)
        {
            StringBuilder bl = new StringBuilder();

            if (m_root != null)
            {
                m_root.GetXmlText(query, bl, 0);
            }
            return(bl.ToString());
        }
Beispiel #19
0
 //-----------------------------------------------------------------------------------
 public void InitForChampFixe(
     CEasyQuery easyQuery,
     IDHFiltre filtre,
     CODEQTableFromDataHotel table,
     string strIdChamp)
 {
     m_easyQuery      = easyQuery;
     m_table          = table;
     m_filtreOriginal = filtre;
     InitArbre();
 }
Beispiel #20
0
        //---------------------------------------------------------------
        private bool EditeQuery(CEasyQuery query)
        {
            CEasyQuerySource  source = new CEasyQuerySource();
            CDynamicSnmpAgent agent  = new CDynamicSnmpAgent();

            agent.Connexion = m_connexion;
            source.AddTableFiller(new CSnmpTableFiller(agent));
            CTableDefinitionSNMP.FromMib(source, m_browser.RootDefinition, source.RootFolder);
            query.Source = source;
            return(CFormEditEasyQuery.EditeQuery(query));
        }
Beispiel #21
0
 //---------------------------------------------------------------
 private void m_lnkRemoveQuery_LinkClicked(object sender, EventArgs e)
 {
     if (m_wndListeQueries.SelectedItems.Count == 1)
     {
         CEasyQuery query = m_wndListeQueries.SelectedItems[0] as CEasyQuery;
         if (query != null)
         {
             m_baseHandlers.RemoveQuery(query);
         }
     }
 }
        //-----------------------------------------------
        public CResultAErreur InitChamps(CEasyQueryInDb queryInDb)
        {
            CResultAErreur result = CResultAErreur.True;

            m_queryInDb = queryInDb;
            CEasyQuery query = queryInDb.EasyQueryAvecSources;

            m_panelQuery.Init(query);

            result = m_extLinkField.FillDialogFromObjet(queryInDb);
            return(result);
        }
Beispiel #23
0
        //--------------------------------------------------------------
        public void Init(
            CEasyQuery query,
            IObjetDeEasyQuery table,
            CDHFiltreValeur comparaison)
        {
            m_query = query;
            m_table = table;
            if (comparaison == null)
            {
                comparaison = new CDHFiltreValeur();
            }
            m_comparaison = comparaison;
            List <COperateurComparaisonMassStorage> ops = new List <COperateurComparaisonMassStorage>();

            foreach (EOperateurComparaisonMassStorage op in COperateurComparaisonMassStorage.ValeursEnumPossibles)
            {
                ops.Add(new COperateurComparaisonMassStorage(op));
            }
            m_comboOperateur.ListDonnees       = ops;
            m_comboOperateur.ProprieteAffichee = "Libelle";

            m_comboOperateur.SelectedValue = new COperateurComparaisonMassStorage(comparaison.Operateur);

            IColumnDeEasyQuery         colSel = null;
            List <CColumnEQFromSource> cols   = new List <CColumnEQFromSource>();

            foreach (IColumnDeEasyQuery col in m_table.Columns)
            {
                CColumnEQFromSource cs = col as CColumnEQFromSource;
                if (cs != null && col.DataType == typeof(double))
                {
                    cols.Add(cs);
                    if (cs.IdColumnSource == m_comparaison.ColumnHotelId)
                    {
                        colSel = col;
                    }
                }
            }

            m_comboChamp.ListDonnees       = cols;
            m_comboChamp.ProprieteAffichee = "ColumnName";
            m_comboChamp.SelectedValue     = colSel;

            m_txtFormuleValeur.Init(
                new CFournisseurGeneriqueProprietesDynamiques(),
                new CObjetPourSousProprietes(m_query));
            m_txtFormuleValeur.Formule = comparaison.FormuleValeur;

            m_txtFormuleCondition.Init(
                new CFournisseurGeneriqueProprietesDynamiques(),
                new CObjetPourSousProprietes(m_query));
            m_txtFormuleCondition.Formule = comparaison.FormuleApplication;
        }
        //--------------------------------------------------------------
        public static bool EditeComparaison(CEasyQuery query,
                                            IEnumerable <CCAMLItemField> fields,
                                            CCAMLItemComparaison itemComparaison)
        {
            CFormEditeComposantCAMLComparaison frm = new CFormEditeComposantCAMLComparaison();

            frm.Init(query, fields, itemComparaison);
            DialogResult res = frm.ShowDialog();

            frm.Dispose();
            return(res == DialogResult.OK);
        }
 //------------------------------------------
 public CODEQBase GetObjetDeQuery(CTypeAgentPourSupervision typeAgent)
 {
     if (IdObjetDeQuerySource != null)
     {
         CEasyQuery query = typeAgent.Queries.FirstOrDefault(q => q.GetObjet(IdObjetDeQuerySource) != null);
         if (query != null)
         {
             return(query.Childs.FirstOrDefault(c => c is CODEQBase && ((CODEQBase)c).Id == IdObjetDeQuerySource) as CODEQBase);
         }
     }
     return(null);
 }
Beispiel #26
0
        //--------------------------------------------------------------
        public static bool EditeComparaison(CEasyQuery query,
                                            IObjetDeEasyQuery table,
                                            CDHFiltreValeur itemComparaison)
        {
            CFormEditeComposantDHComparaison frm = new CFormEditeComposantDHComparaison();

            frm.Init(query, table, itemComparaison);
            DialogResult res = frm.ShowDialog();

            frm.Dispose();
            return(res == DialogResult.OK);
        }
Beispiel #27
0
        //------------------------------------------------------------
        private void SaveWithoutSources()
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Filter = "Easy query|*.esq|All files|*.*";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                CEasyQuery query = m_editeur.ObjetEdite as CEasyQuery;
                CSerializerObjetInFile.SaveToFile(query, "QUERY", dlg.FileName);
                m_bSaveWithSource = false;
            }
        }
        //-------------------------------------------------------------------
        public object[] GetValues(CChartSetup chart)
        {
            List <object>         lstValeurs = new List <object>();
            CParametreSourceChart p          = chart.ParametresDonnees.GetSourceFV(SourceId);

            if (p != null)
            {
                CEasyQuery query = p.GetSource(chart) as CEasyQuery;
                if (query != null)
                {
                    //trouve la table
                    DataTable table = query.GetTable(TableName);
                    if (table != null)
                    {
                        DataColumn col = table.Columns[ColumnName];
                        if (col != null)
                        {
                            foreach (DataRow row in table.Rows)
                            {
                                object val = row[col];
                                if (val == DBNull.Value)
                                {
                                    lstValeurs.Add(null);
                                }
                                else
                                {
                                    lstValeurs.Add(val);
                                }
                            }
                        }
                        else if (Formule != null)
                        {
                            foreach (DataRow row in table.Rows)
                            {
                                CDynamicDataTableRow          dr  = new CDynamicDataTableRow(row);
                                CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(dr);
                                CResultAErreur result             = Formule.Eval(ctx);
                                if (result)
                                {
                                    lstValeurs.Add(result.Data);
                                }
                                else
                                {
                                    lstValeurs.Add(null);
                                }
                            }
                        }
                    }
                }
            }
            return(lstValeurs.ToArray());
        }
Beispiel #29
0
        //------------------------------------------------------------
        private void SaveWithSources()
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Filter = "Easy query|*.esq|All files|*.*";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                CEasyQuery           query = m_editeur.ObjetEdite as CEasyQuery;
                CEasyQueryAvecSource qas   = CEasyQueryAvecSource.FromQuery(query);
                CSerializerObjetInFile.SaveToFile(qas, "QUERYWITHSOURCE", dlg.FileName);
                m_bSaveWithSource = true;
            }
        }
        //-------------------------------------------------------
        protected override CResultAErreur GetDatasHorsCalculees(CListeQuerySource sources)
        {
            CEasyQuery     query  = Query;
            CResultAErreur result = CResultAErreur.True;

            if (result && TypeSource == null)
            {
                result.EmpileErreur(I.T("###Table object must be specified |"));
            }
            if (query == null || sources == null)
            {
                result.EmpileErreur(I.T("###Query needs a source to provide datas|"));
            }

            C2iRequeteAvancee requete = new C2iRequeteAvancee();

            requete.TableInterrogee = CContexteDonnee.GetNomTableForType(TypeSource);

            result = FiltreDynamique.GetFiltreData();
            if (!result)
            {
                return(result);
            }
            if (result.Data is CFiltreData)
            {
                requete.FiltreAAppliquer = result.Data as CFiltreData;
            }
            foreach (IColumnDeEasyQuery col in Columns)
            {
                CColumnDeEasyQueryChampDeRequete colR = col as CColumnDeEasyQueryChampDeRequete;
                requete.ListeChamps.Add(colR);
            }
            DataTable table = null;

            if (requete.ListeChamps.Count > 0)
            {
                result = requete.ExecuteRequete(CContexteDonneeSysteme.GetInstance().IdSession);
                if (!result)
                {
                    result.EmpileErreur(I.T("###Error on table @1|"));
                    return(result);
                }
                table = result.Data as DataTable;
            }
            else
            {
                table = new DataTable();
            }
            table.TableName = NomFinal;
            return(result);
        }