Example #1
0
        /// <summary>
        /// Constructeur de base
        /// </summary>
        /// <param name="filtre">Filtre de l'étiquette</param>
        public Etiquette(Filtre filtre)
        {
            InitializeComponent();

            this.v_filtre = filtre;

            switch (filtre.type)
            {
            case (2):     // C'est une recherche

                // Affichage de l'étiquette correspondant à la recherche
                typeLabel.Text       = "Recherche:";
                valeurLabel.Text     = "'" + filtre.nom + "' [" + filtre.dbName + "]";
                this.infoBox.Visible = false;
                break;

            case (1):

                // Affichage de l'étiquette correspondant au filtre
                typeLabel.Text = "Filtre:";
                if (filtre.nom != "")
                {
                    valeurLabel.Text = filtre.ToString() + " [" + filtre.dbName + "]";
                }
                else
                {
                    valeurLabel.Text = "manuel [" + filtre.dbName + "]";
                }
                break;
            }
        }
Example #2
0
        public IEnumerator <Film> getFilmEnumerator(Filtre filtre)
        {
            SQLiteDataReader reader = null;

            try
            {
                using (SQLiteCommand cmd = new SQLiteCommand($"SELECT {BaseFilms.FILMS_ID} FROM {TABLE_FILMS} {filtre.RequeteSQL} {filtre.CritereTri} ;"))
                {
                    reader = executeReader(cmd);
                }
            }
            catch (Exception e)
            {
                MainForm.WriteExceptionToConsole(e);
            }

            if (reader != null)
            {
                // Check is the reader has any rows at all before starting to read.
                if (reader.HasRows)
                {
                    // Read advances to the next row.
                    while (reader.Read())
                    {
                        yield return(new Film(reader));
                    }
                }

                reader.Close();
            }
        }
        protected internal override void Yukle()
        {
            txtFiltreMetni.SourceControl = _filtreGrid;

            while (true)
            {
                if (BaseIslemTuru == IslemTuru.EntityInsert)
                {
                    oldEntity   = new Filtre();
                    id          = BaseIslemTuru.IdOlustur(oldEntity);
                    txtKod.Text = ((FiltreBLL)bll).YeniKodVer(x => x.KartTuru == _filtreKartTuru);
                }
                else
                {
                    oldEntity = ((FiltreBLL)bll).Single(FilterFunctions.Filter <Filtre>(id));
                    if (oldEntity == null)
                    {
                        BaseIslemTuru = IslemTuru.EntityInsert;
                        continue;
                    }
                    NesneyiKontrollereBagla();
                }
                break;
            }
        }
Example #4
0
        public EditFilter(Filtre filtre)
        {
            InitializeComponent();

            // Remplissage de la 1ère ligne
            this.dbTitreLabel.Font = new Font(dbTitreLabel.Font, FontStyle.Bold);
            this.dbLabel.Text      = filtre.dbName;

            int rowsCount = this.tablePanel.RowCount;

            foreach (KeyValuePair <String, String> kvp in filtre.getDescription())
            {
                this.tablePanel.Controls.Add(new SimpleLabel(kvp.Key, FontStyle.Bold), 0, rowsCount);

                SimpleLabel value;
                if (String.IsNullOrEmpty(kvp.Value))
                {
                    value = new SimpleLabel("Tous", FontStyle.Italic);
                }
                else
                {
                    value = new SimpleLabel(kvp.Value);
                }
                this.tablePanel.Controls.Add(value, 1, rowsCount);
                this.tablePanel.SetColumnSpan(value, 2);

                rowsCount++;
            }
        }
Example #5
0
        // Validation de la recherche après click sur OK
        private void searchButton_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrWhiteSpace(this.searchBox.Text))
            {
                Filtre filtre;
                foreach (DB db in this.dbSelect.getDBs())
                {
                    filtre = new Filtre(searchBox.Text, db.name);
                    if (!TrayIcon.displayedFilters.Contains(filtre))
                    {
                        TrayIcon.displayedFilters.Add(filtre);
                    }
                    else
                    {
                        TrayIcon.afficheMessage("Base d'actions " + filtre.dbName, "La recherche " + filtre.ToString() + " est déjà affichée");
                    }
                }

                this.searchBox.Clear();
                this.dbSelect.clearChecked(true);
            }
            else
            {
                this.erreurSearch.Text    = "Entrer un mot clé pour la recherche";
                this.erreurSearch.Visible = true;
            }
        }
Example #6
0
        /// <summary>
        /// Constructeur de base
        /// </summary>
        /// <param name="filtre">Filtre de l'étiquette</param>
        public Etiquette(Filtre filtre)
        {
            InitializeComponent();

            this.v_filtre = filtre;

            switch (filtre.type)
            {
                case (2): // C'est une recherche

                    // Affichage de l'étiquette correspondant à la recherche
                    typeLabel.Text = "Recherche:";
                    valeurLabel.Text = "'" + filtre.nom + "' [" + filtre.dbName + "]";
                    this.infoBox.Visible = false;
                    break;

                case (1):

                    // Affichage de l'étiquette correspondant au filtre
                    typeLabel.Text = "Filtre:";
                    if (filtre.nom != "")
                        valeurLabel.Text = filtre.ToString() + " [" + filtre.dbName + "]";
                    else
                        valeurLabel.Text = "manuel [" + filtre.dbName + "]";
                    break;
            }
        }
Example #7
0
        // Insertion en base d'un nouveau filtre
        public void insertFiltre(Filtre filtre)
        {
            using (SQLiteConnection SQLC = new SQLiteConnection(this._connectionString))
            {
                if (File.Exists(this.path))
                {
                    SQLC.Open();
                }
                else
                {
                    throw new Exception("Base inaccessible");
                }

                using (SQLiteTransaction mytransaction = SQLC.BeginTransaction())
                {
                    using (SQLiteCommand SQLCmd = new SQLiteCommand(SQLC))
                    {
                        // On insère le nom du filtre
                        String nomFiltre = "'" + filtre.nom.Replace("'", "''") + "'"; // Le titre du filtre ne doit pas contenir de quote
                        SQLCmd.CommandText = "INSERT INTO Filtres (Titre) VALUES (" + nomFiltre + ");";
                        SQLCmd.ExecuteNonQuery();

                        // On insère ensuite dans les tables annexes les données sélectionnées
                        foreach (Criterium critere in filtre.criteria)
                        {
                            String selection;
                            String table = critere.entity.mainTable;

                            // On crée la requête pour insertion des critères dans les tables annexes
                            String requete = "INSERT INTO Filtres_cont VALUES (";
                            requete += "(SELECT max(id) FROM Filtres),'" + table + "',(SELECT id FROM " + table + " WHERE Titre=@Titre));";
                            // On récupère le rowid du filtre frâichement créé

                            SQLCmd.CommandText = requete;
                            SQLiteParameter p_Titre = new SQLiteParameter("@Titre");
                            SQLCmd.Parameters.Add(p_Titre);

                            foreach (String item in critere.valuesSelected)
                            {
                                selection     = item.Replace("'", "''"); // On gère les simple quote
                                p_Titre.Value = selection;
                                SQLCmd.ExecuteNonQuery();
                            }

                            // On précise que la case ALL n'a pas été sélectionnée pour ce critère
                            SQLCmd.CommandText = "UPDATE Filtres SET " + critere.entity.allColName + "=0 WHERE id = (SELECT max(id) FROM Filtres)";
                            SQLCmd.ExecuteNonQuery();
                        }
                    }
                    mytransaction.Commit();
                }
            }


            this.OnNewValue(DB.filtre);
            // On affiche un message de statut sur la TrayIcon
            TrayIcon.afficheMessage("Bilan création/modification", "Nouveau filtre ajouté: " + filtre.nom);
        }
 protected override void GuncelNesneOlustur()
 {
     currentEnttiy = new Filtre
     {
         Id          = id,
         Kod         = txtKod.Text,
         FiltreAdi   = txtFiltreAdi.Text,
         FiltreMetni = txtFiltreMetni.FilterString,
         KartTuru    = _filtreKartTuru
     };
     ButonEnabledDurumu();
 }
Example #9
0
        /// <summary>
        /// Ajoute les actions retournées par le filtre dans le tableau.
        /// </summary>
        /// <param name="filtre">Filtre ajouté</param>
        public int add(Filtre filtre)
        {
            this.data.Add(filtre, filtre.getActions()); // Récupération des résultats du filtre et association au tableau
            TrayIcon.dbs[filtre.dbName].ActionEdited += new ActionEditedEventHandler(actionEdited); // Hook des éditions d'actions de la base correspondante

            this.mergeTable.Merge(this.data[filtre]);

            this.mergeTable.DefaultView.Sort = "Deadline ASC"; // Tri sur les dates à chaque ajout (même si un autre filtre est en place)
            this.grilleData.Focus();

            return this.mergeTable.Rows.Count;
        }
 //--------------------------------------------------------------------
 public IChampHotelCalcule GetChampHotel(object objetInterroge)
 {
     if (Filtre != null && IdChampSource.Length > 0)
     {
         CChampHotelCalculeDuree champ = new CChampHotelCalculeDuree();
         if (Filtre != null)
         {
             champ.Filtre = Filtre.GetTestFinal(objetInterroge);
         }
         champ.IdChampSource = IdChampSource;
         return(champ);
     }
     return(null);
 }
Example #11
0
        /// <summary>
        /// Obtenir une liste d'objet FonctionElectronique par son <paramref name="f"/>
        /// </summary>
        /// <returns>
        /// Une liste d'objet FonctionElectronique
        /// </returns>
        /// <param name="f">Filtre</param>
        public List <FonctionElectronique> getListFonction(Filtre f)
        {
            List <FonctionElectronique> listFonction = new List <FonctionElectronique>();

            DbCommand cmd = db.CreerCommande();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "call filtrerPremier (" + f.fonction.idFonction + ", "
                              + f.tensionInMin + ", " + f.tensionInMax + ", "
                              + f.intensiteInMin + ", " + f.intensiteInMax + ", "
                              + f.tensionOutMin + ", " + f.tensionOutMax + ", "
                              + f.intensiteOutMin + ", " + f.intensiteOutMax + ", "
                              + ((f.crit[0].crit != null) ? f.crit[0].crit.idCritere : CritereRecherche.valeurParDefisNull) + ", "
                              + ((f.crit[0].signe != null) ? f.crit[0].signe.valeur : CritereRecherche.valeurParDefisNull) + ", "
                              + f.crit[0].valeur + " ) ";



            DataTable table = db.CreerDatatable(cmd);

            foreach (DataRow row in table.Rows)
            {
                FonctionElectronique fctElect = new FonctionElectronique();

                fctElect.projet      = prjManager.getProjetById((string)row[0]);
                fctElect.fonction    = fctGenData.getFonctionGenById((int)row[1]);
                fctElect.description = (string)row[2].ToString();
                fctElect.schema      = (string)row[3].ToString();
                //les données io tension et intensité
                fctElect.tensionInputMin    = float.Parse(row[4].ToString());
                fctElect.tensionInputMax    = float.Parse(row[5].ToString());
                fctElect.intensiteInputMin  = float.Parse(row[6].ToString());
                fctElect.intensiteInputMax  = float.Parse(row[7].ToString());
                fctElect.tensionOutputMin   = float.Parse(row[8].ToString());
                fctElect.tensionOutputMax   = float.Parse(row[9].ToString());
                fctElect.intensiteOutputMin = float.Parse(row[10].ToString());
                fctElect.intensiteOutputMax = float.Parse(row[11].ToString());

                fctElect.cout        = float.Parse(row[12].ToString());
                fctElect.validation  = (Boolean)row[13];
                fctElect.lienSVNTest = (string)row[14].ToString();
                fctElect.enAttente   = (Boolean)row[15];
                fctElect.taux        = float.Parse(row[16].ToString());
                fctElect.listIO      = ioPhysAssData.getListIoAssocieeByFonction(fctElect);
                fctElect.listCritere = critAssData.getListCritAssocieeByFonction(fctElect);
                listFonction.Add(fctElect);
            }
            return(listFonction);
        }
        /// <summary>
        /// Retourne le nombre de films presents dans la base
        /// </summary>
        /// <returns></returns>
        internal int getNbFilms(Filtre filtre = null)
        {
            int nb = 0;

            try
            {
                using (SQLiteCommand command = filtre == null ? new SQLiteCommand($"SELECT COUNT(*) FROM {TABLE_FILMS}") : filtre.getSQLCommandCount())
                    nb = Convert.ToInt32(executeScalar(command));
            }
            catch (Exception e)
            {
                MainForm.WriteExceptionToConsole(e);
            }
            return(nb);
        }
Example #13
0
        // Affichage des actions sur filtre manuel
        private void filtreManuel(object sender, EventArgs e)
        {
            Filtre filtre = new Filtre(manuelDBcombo.Text);

            foreach (CritereSelect widget in this.selectPanel.Controls)
            {
                filtre.addCriterium(widget.getCriterium());
            }

            if (saveFilterCheck.Checked) //Sauvegarde du filtre si checkbox cochée
            {
                if (nameBox.Text == "")
                {
                    errorLabel.Text    = "Le nom du filtre ne peut être vide";
                    errorLabel.Visible = true;
                    return;
                }
                else
                {
                    DB db = (DB)manuelDBcombo.Items[manuelDBcombo.SelectedIndex];
                    if (!db.isNvo(DB.filtre, nameBox.Text))
                    {
                        errorLabel.Text    = "Ce nom de filtre existe déjà.";
                        errorLabel.Visible = true;
                        return;
                    }
                    else
                    {
                        // Sauvegarde du filtre
                        filtre.nom = nameBox.Text;
                        db.insertFiltre(filtre);

                        // Raz du formulaire
                        saveFilterCheck.Checked = false;
                        nameBox.Text            = "";
                    }
                }
            }

            if (!TrayIcon.displayedFilters.Contains(filtre))
            {
                TrayIcon.displayedFilters.Add(filtre);
            }
            else
            {
                TrayIcon.afficheMessage("Base d'actions " + filtre.dbName, "Le filtre " + filtre.ToString() + " est déjà affiché");
            }
        }
Example #14
0
        // Récupère un filtre en fonction de son titre
        public Filtre getFilter(String name)
        {
            // On récupère d'abord les checkbox all
            String            titre   = "'" + name.Replace("'", "''") + "'";
            String            requete = "SELECT AllCtxt, AllSuj, AllDest, AllStat FROM Filtres WHERE Titre=" + titre;
            DataRowCollection results = getTable(requete).Rows;

            if (results.Count == 0)
            {
                return(null);
            }

            DataRow resultat = results[0];

            // On crée le filtre correspondant
            Filtre filtre = new Filtre(this.name, (bool)resultat["AllCtxt"], (bool)resultat["AllSuj"], (bool)resultat["AllDest"], (bool)resultat["AllStat"]);

            filtre.nom = name;
            object[] liste;

            // On récupère les sélections si nécessaire
            foreach (Criterium critere in filtre.criteria)
            {
                // Récupération du nom de la table correspondante
                String table = critere.entity.mainTable;
                // Création de la requête
                requete  = "SELECT TP.Titre FROM " + table + " TP, Filtres_cont TF, Filtres F ";
                requete += "WHERE F.Titre =" + titre + " AND TF.FiltreID=F.rowid AND TF.FiltreType='" + table + "' AND TF.SelectedID=TP.rowid";
                // Récupération de la liste
                liste = getList(requete);

                // On met à jour le critère du filtre correspondant
                foreach (String item in liste)
                {
                    critere.valuesSelected.Add(item);
                }
            }

            return(filtre);
        }
Example #15
0
        public EditFilter(Filtre filtre)
        {
            InitializeComponent();

            // Remplissage de la 1ère ligne
            this.dbTitreLabel.Font = new Font(dbTitreLabel.Font, FontStyle.Bold);
            this.dbLabel.Text = filtre.dbName;

            int rowsCount = this.tablePanel.RowCount;
            foreach (KeyValuePair<String,String> kvp in filtre.getDescription())
            {
                this.tablePanel.Controls.Add(new SimpleLabel(kvp.Key, FontStyle.Bold), 0, rowsCount);

                SimpleLabel value;
                if(String.IsNullOrEmpty(kvp.Value))
                    value = new SimpleLabel("Tous",FontStyle.Italic);
                else
                    value = new SimpleLabel(kvp.Value);
                this.tablePanel.Controls.Add(value, 1, rowsCount);
                this.tablePanel.SetColumnSpan(value, 2);

                rowsCount++;
            }
        }
Example #16
0
        //-------------------------------------------------------------
        public CResultAErreur GenereItems(CMapDatabase database, CContexteDonnee ctxDonnee)
        {
            CResultAErreur result = CResultAErreur.True;

            //Calcule les éléments à générer
            if (Filtre == null || Filtre.TypeElements == null)
            {
                return(result);
            }
            if (FormuleLatitude1 == null || FormuleLongitude1 == null || FormuleLatitude2 == null || FormuleLatitude2 == null)
            {
                return(result);
            }
            result = Filtre.GetFiltreData();
            if (!result)
            {
                return(result);
            }
            CFiltreData         filtre    = result.Data as CFiltreData;
            CListeObjetsDonnees lstObjets = new CListeObjetsDonnees(ctxDonnee, Filtre.TypeElements);

            lstObjets.Filtre      = filtre;
            lstObjets.ModeSansTri = true;

            CMapLayer layer = null;

            if (lstObjets.Count > 0)
            {
                layer = database.GetLayer(Generator.LayerId, true);
            }
            else
            {
                return(result);
            }

            Dictionary <int, double> dicValeursLatitude  = new Dictionary <int, double>();
            Dictionary <int, double> dicValeursLongitude = new Dictionary <int, double>();

            foreach (object obj in lstObjets)
            {
                DateTime dt = DateTime.Now;
                m_currentGeneratedItem = obj;
                CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(obj);
                double?fLat1  = null;
                double?fLong1 = null;
                double?fLat2  = null;
                double?fLong2 = null;
                result = FormuleLatitude1.Eval(ctxEval);
                if (result)
                {
                    try
                    {
                        fLat1 = Convert.ToDouble(result.Data);
                    }
                    catch { }
                }
                if (fLat1 != null)
                {
                    result = FormuleLongitude1.Eval(ctxEval);
                    if (result)
                    {
                        try
                        {
                            fLong1 = Convert.ToDouble(result.Data);
                        }
                        catch { }
                    }
                }
                if (fLat1 != null && fLong1 != null)
                {
                    result = FormuleLatitude2.Eval(ctxEval);
                    if (result)
                    {
                        try
                        {
                            fLat2 = Convert.ToDouble(result.Data);
                        }
                        catch { }
                    }
                }
                if (fLat1 != null && fLong1 != null && fLat2 != null)
                {
                    result = FormuleLongitude2.Eval(ctxEval);
                    if (result)
                    {
                        try
                        {
                            fLong2 = Convert.ToDouble(result.Data);
                        }
                        catch { }
                    }
                }

                TimeSpan sp = DateTime.Now - dt;
                if (obj is CObjetDonnee)
                {
                    //Console.WriteLine("Coord "+((CObjetDonnee)obj).DescriptionElement + " : " + sp.TotalMilliseconds);
                }
                if (fLat1 != null && fLat2 != null && fLong1 != null && fLong2 != null)
                {
                    foreach (CMapLineDessin mapLineDessin in LinesDessin)
                    {
                        if (mapLineDessin.GenereItem(
                                obj,
                                fLat1.Value,
                                fLong1.Value,
                                fLat2.Value,
                                fLong2.Value,
                                layer))
                        {
                            break;
                        }
                    }
                }
                sp = DateTime.Now - dt;
                if (obj is CObjetDonnee)
                {
                    //Console.WriteLine(((CObjetDonnee)obj).DescriptionElement + " : " + sp.TotalMilliseconds);
                }
            }

            return(result);
        }
Example #17
0
        /// <summary>
        /// Supprime les actions retournées par le filtre du tableau
        /// </summary>
        /// <param name="filtre">Filtre à supprimer</param>
        public int remove(Filtre filtre)
        {
            this.data.Remove(filtre); // Suppression de la table du DataSet
            TrayIcon.dbs[filtre.dbName].ActionEdited -= new ActionEditedEventHandler(actionEdited);

            this.mergeTable.Clear(); // Efface toutes les données de la table merge
            foreach (DataTable table in this.data.Values)
                this.mergeTable.Merge(table); // Merge des tables restants dans le dataset

            return this.mergeTable.Rows.Count;
        }
Example #18
0
 /// <summary>
 /// Obtenir une liste d'objet FonctionElectronique par son <paramref name="f"/>
 /// </summary>
 /// <returns>
 /// Une liste d'objet FonctionElectronique
 /// </returns>
 /// <param name="f">Filtre</param>
 public List <FonctionElectronique> getListFonction(Filtre f)
 {
     return(fctd.getListFonction(f));
 }
Example #19
0
        // Récupère un filtre en fonction de son titre
        public Filtre getFilter(String name)
        {
            // On récupère d'abord les checkbox all
            String titre = "'" + name.Replace("'", "''") + "'";
            String requete = "SELECT AllCtxt, AllSuj, AllDest, AllStat FROM Filtres WHERE Titre=" + titre;
            DataRowCollection results = getTable(requete).Rows;

            if (results.Count == 0)
                return null;

            DataRow resultat = results[0];

            // On crée le filtre correspondant
            Filtre filtre = new Filtre(this.name, (bool)resultat["AllCtxt"], (bool)resultat["AllSuj"], (bool)resultat["AllDest"], (bool)resultat["AllStat"]);
            filtre.nom = name;
            object[] liste;

            // On récupère les sélections si nécessaire
            foreach (Criterium critere in filtre.criteria)
            {
                // Récupération du nom de la table correspondante
                String table = critere.entity.mainTable;
                // Création de la requête
                requete = "SELECT TP.Titre FROM " + table + " TP, Filtres_cont TF, Filtres F ";
                requete += "WHERE F.Titre =" + titre + " AND TF.FiltreID=F.rowid AND TF.FiltreType='" + table + "' AND TF.SelectedID=TP.rowid";
                // Récupération de la liste
                liste = getList(requete);

                // On met à jour le critère du filtre correspondant
                foreach (String item in liste)
                    critere.valuesSelected.Add(item);
            }

            return filtre;
        }
Example #20
0
        // Insertion en base d'un nouveau filtre
        public void insertFiltre(Filtre filtre)
        {
            using (SQLiteConnection SQLC = new SQLiteConnection(this._connectionString))
            {
                if (File.Exists(this.path))
                    SQLC.Open();
                else
                    throw new Exception("Base inaccessible");

                using (SQLiteTransaction mytransaction = SQLC.BeginTransaction())
                {
                    using (SQLiteCommand SQLCmd = new SQLiteCommand(SQLC))
                    {
                        // On insère le nom du filtre
                        String nomFiltre = "'" + filtre.nom.Replace("'", "''") + "'"; // Le titre du filtre ne doit pas contenir de quote
                        SQLCmd.CommandText = "INSERT INTO Filtres (Titre) VALUES (" + nomFiltre + ");";
                        SQLCmd.ExecuteNonQuery();

                        // On insère ensuite dans les tables annexes les données sélectionnées
                        foreach (Criterium critere in filtre.criteria)
                        {
                            String selection;
                            String table = critere.entity.mainTable;

                            // On crée la requête pour insertion des critères dans les tables annexes
                            String requete = "INSERT INTO Filtres_cont VALUES (";
                            requete += "(SELECT max(id) FROM Filtres),'" + table + "',(SELECT id FROM " + table + " WHERE Titre=@Titre));";
                            // On récupère le rowid du filtre frâichement créé

                            SQLCmd.CommandText = requete;
                            SQLiteParameter p_Titre = new SQLiteParameter("@Titre");
                            SQLCmd.Parameters.Add(p_Titre);

                            foreach (String item in critere.valuesSelected)
                            {
                                selection = item.Replace("'", "''"); // On gère les simple quote
                                p_Titre.Value = selection;
                                SQLCmd.ExecuteNonQuery();
                            }

                            // On précise que la case ALL n'a pas été sélectionnée pour ce critère
                            SQLCmd.CommandText = "UPDATE Filtres SET " + critere.entity.allColName + "=0 WHERE id = (SELECT max(id) FROM Filtres)";
                            SQLCmd.ExecuteNonQuery();
                        }
                    }
                    mytransaction.Commit();
                }
            }

            this.OnNewValue(DB.filtre);
            // On affiche un message de statut sur la TrayIcon
            TrayIcon.afficheMessage("Bilan création/modification", "Nouveau filtre ajouté: " + filtre.nom);
        }
Example #21
0
        //-------------------------------------------------------------
        public CResultAErreur GenereItems(CMapDatabase database, CContexteDonnee ctxDonnee)
        {
            CResultAErreur result = CResultAErreur.True;

            //Calcule les éléments à générer
            if (Filtre == null || Filtre.TypeElements == null)
            {
                return(result);
            }
            if (FormuleLatitude == null || FormuleLongitude == null)
            {
                return(result);
            }
            result = Filtre.GetFiltreData();
            if (!result)
            {
                return(result);
            }
            CFiltreData         filtre    = result.Data as CFiltreData;
            CListeObjetsDonnees lstObjets = new CListeObjetsDonnees(ctxDonnee, Filtre.TypeElements);

            lstObjets.Filtre      = filtre;
            lstObjets.ModeSansTri = true;

            CMapLayer layer = null;

            if (lstObjets.Count > 0)
            {
                layer = database.GetLayer(Generator.LayerId, true);
            }
            else
            {
                return(result);
            }

            int?nIdChampLatitude  = null;
            int?nIdChampLongitude = null;
            Dictionary <int, double> dicValeursLatitude  = new Dictionary <int, double>();
            Dictionary <int, double> dicValeursLongitude = new Dictionary <int, double>();

            if (typeof(IObjetDonneeAChamps).IsAssignableFrom(lstObjets.TypeObjets))
            {
                nIdChampLatitude  = GetIdChampOptimFromFormule(FormuleLatitude);
                nIdChampLongitude = GetIdChampOptimFromFormule(FormuleLongitude);
                List <int> lst = new List <int>();
                if (nIdChampLatitude != null)
                {
                    lst.Add(nIdChampLatitude.Value);
                }
                if (nIdChampLongitude != null)
                {
                    lst.Add(nIdChampLongitude.Value);
                }
                if (lst.Count > 0)
                {
                    CUtilElementAChamps.ReadChampsCustom(lstObjets, lst.ToArray());
                }
                DataTable table = ctxDonnee.Tables[((IObjetDonneeAChamps)lstObjets[0]).GetNomTableRelationToChamps()];
                if (table != null && (nIdChampLatitude != null || nIdChampLatitude != null))
                {
                    string strCle    = ((CObjetDonneeAIdNumerique)lstObjets[0]).GetChampId();
                    string strFiltre = "";
                    if (nIdChampLatitude != null)
                    {
                        strFiltre = CChampCustom.c_champId + "=" + nIdChampLatitude.Value;
                    }
                    if (nIdChampLongitude != null)
                    {
                        if (strFiltre.Length > 0)
                        {
                            strFiltre += " or ";
                        }
                        strFiltre += CChampCustom.c_champId + "=" + nIdChampLongitude.Value;
                    }
                    DataRow[] rows = table.Select(strFiltre);
                    foreach (DataRow row in table.Rows)
                    {
                        if ((int)row[CChampCustom.c_champId] == nIdChampLatitude)
                        {
                            dicValeursLatitude[(int)row[strCle]] = (double)row[CRelationElementAChamp_ChampCustom.c_champValeurDouble];
                        }
                        else if ((int)row[CChampCustom.c_champId] == nIdChampLongitude)
                        {
                            dicValeursLongitude[(int)row[strCle]] = (double)row[CRelationElementAChamp_ChampCustom.c_champValeurDouble];
                        }
                    }
                }
            }
            else
            {
                nIdChampLatitude  = null;
                nIdChampLongitude = null;
            }


            foreach (object obj in lstObjets)
            {
                DateTime dt = DateTime.Now;
                m_currentGeneratedItem = obj;
                CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(obj);
                double?fLat  = null;
                double?fLong = null;
                if (nIdChampLatitude != null)
                {
                    double fTmp = 0;
                    if (dicValeursLatitude.TryGetValue(((CObjetDonneeAIdNumerique)obj).Id, out fTmp))
                    {
                        fLat = fTmp;
                    }
                }
                else
                {
                    result = FormuleLatitude.Eval(ctxEval);
                    if (result)
                    {
                        try
                        {
                            fLat = Convert.ToDouble(result.Data);
                        }
                        catch { }
                    }
                }
                if (fLat != null)
                {
                    if (nIdChampLongitude != null)
                    {
                        double fTmp = 0;
                        if (dicValeursLongitude.TryGetValue(((CObjetDonneeAIdNumerique)obj).Id, out fTmp))
                        {
                            fLong = fTmp;
                        }
                    }
                    else
                    {
                        result = FormuleLongitude.Eval(ctxEval);
                        if (result)
                        {
                            try
                            {
                                fLong = Convert.ToDouble(result.Data);
                            }
                            catch { }
                        }
                    }
                }
                TimeSpan sp = DateTime.Now - dt;
                if (obj is CObjetDonnee)
                {
                    //Console.WriteLine("Coord "+((CObjetDonnee)obj).DescriptionElement + " : " + sp.TotalMilliseconds);
                }
                if (fLong != null && fLat != null)
                {
                    foreach (CMapItemDessin mapItemDessin in ItemsDessin)
                    {
                        if (mapItemDessin.GenereItem(
                                obj,
                                fLat.Value,
                                fLong.Value,
                                layer))
                        {
                            break;
                        }
                    }
                }
                sp = DateTime.Now - dt;
                if (obj is CObjetDonnee)
                {
                    //Console.WriteLine(((CObjetDonnee)obj).DescriptionElement + " : " + sp.TotalMilliseconds);
                }
            }

            return(result);
        }
        /* temp: INSERARE TEMPORARA (manuala) */
        // inseram in tabelul Filtre, Ingrediente si Retete

        public Task <int> tempAddFiltreAsync(Filtre filtru)
        {
            return(_database.InsertAsync(filtru));
        }
Example #23
0
        // Validation de la recherche après click sur OK
        private void searchButton_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrWhiteSpace(this.searchBox.Text))
            {
                Filtre filtre;
                foreach (DB db in this.dbSelect.getDBs())
                {
                    filtre = new Filtre() { recherche = searchBox.Text, dbName = db.name };
                    if (!TrayIcon.displayedFilters.Contains(filtre))
                        TrayIcon.displayedFilters.Add(filtre);
                    else
                        TrayIcon.afficheMessage("Base d'actions " + filtre.dbName, "La recherche " + filtre.ToString() + " est déjà affichée");
                }

                this.searchBox.Clear();
                this.dbSelect.clearChecked(true);
            }
            else
            {
                this.erreurSearch.Text = "Entrer un mot clé pour la recherche";
                this.erreurSearch.Visible = true;
            }
        }
Example #24
0
        static void Main()
        {
            switch (Console.ReadLine())
            {
            case "Billet":
                long s = 1;

                Change change = CaisseAutomatique.OptimalChange(s);

                Console.WriteLine("monnaie " + s);

                Console.WriteLine("Coin(s) 2€: " + change.coin2);
                Console.WriteLine("Bill(s) 5€: " + change.bill5);
                Console.WriteLine("Bill(s) 10€: " + change.bill10);

                long result = change.coin2 * 2 + change.bill5 * 5 + change.bill10 * 10;
                Console.WriteLine("\nChange given = " + result);

                break;

            case "Danse":

                Console.WriteLine(NouvelleDanse.GetPositionAt(3));          //-4
                Console.WriteLine(NouvelleDanse.GetPositionAt(100000));     //-5
                Console.WriteLine(NouvelleDanse.GetPositionAt(2147483647)); //1

                break;

            case "PI":

                var    rands  = new Point[100000];
                Random random = new Random();

                for (int i = 0; i < rands.Length; i++)
                {
                    Point p = new Point();
                    p.x      = random.NextDouble(); //x
                    p.y      = random.NextDouble(); //y
                    rands[i] = p;
                }

                double Test = PI.Approx(rands);

                Console.WriteLine(Test);
                break;

            case "Paire":

                Console.WriteLine(NombrePaires.Count(4));
                Console.WriteLine(NombrePaires.Count(10000));
                break;

            case "formula":

                string path   = "/tmp/documents/";
                string fName  = "universe-formula";
                string target = Universe_Formula.Find(path, fName, null);

                target = target.Replace("\\", "/");



                Console.Write(target);

                break;

            case "IsTwin":

                Console.WriteLine(IsTwin.isTwin("Hello", "world"));      //Faux 372 392
                Console.WriteLine(IsTwin.isTwin("acb", "bca"));          // Vrai
                Console.WriteLine(IsTwin.isTwin("Lookout", "Outloook")); //Vrai
                break;

            case "Pierre":

                List <int> stones = new List <int>(new int[] { 1, 1 });
                Console.WriteLine(StoneMagic.Magic(stones));    //1

                stones = new List <int>(new int[] { 1, 1, 5 });
                Console.WriteLine(StoneMagic.Magic(stones));    //2

                stones = new List <int>(new int[] { 1, 1, 2, 3, 3, 3, 5, 6, 6, 6, 6, 6, 6, 6, 6, 9 });
                Console.WriteLine(StoneMagic.Magic(stones));    //2
                break;

            case "Message":

                string[] parts = { "Ab", "bcZ" };
                Console.WriteLine(RebuilMessage.RebuildMessage(parts));

                parts = new string[]  { "*====#", "X-+-+-+-+-+-Z", "#______X", "A........*====#______X-+-+-+-+-+-Z" };
                Console.WriteLine(RebuilMessage.RebuildMessage(parts));
                break;

            case "Filter":
                var strings         = new List <string>();
                var filteredStrings = new Filtre().Filter(strings);

                strings.Add("Gurt");
                strings.Add("Lobster");
                strings.Add("Litch");
                strings.Add("Doe");

                foreach (var str in filteredStrings)
                {
                    Console.WriteLine(str);
                }

                break;

            case "Solde":
                int[] prices = { 100, 400, 200 };
                Console.WriteLine(Solde.CalculateTotalPrice(prices, 20));

                break;

            case "Fizz":
                Dictionary <int, string> map = new Dictionary <int, string>();

                map[3] = "FIZZ";
                map[4] = "BUZZ";

                Console.WriteLine(FizzBuzz.fizzBuzz(5, map));     //5
                Console.WriteLine(FizzBuzz.fizzBuzz(3, map));     //FIZZ
                Console.WriteLine(FizzBuzz.fizzBuzz(8, map));     //BUZZ
                Console.WriteLine(FizzBuzz.fizzBuzz(12, map));    //FIZZBUZZ

                break;

            case "Encode":
                string plainText = "aabaa";
                Console.WriteLine(Occurence.Encode(plainText));     // 2a1b2a

                plainText = "aaaabcccaaa";
                Console.WriteLine(Occurence.Encode(plainText));     //4a1b3c3a

                break;

            case "Carton":
                int[]    boxesA      = { 90 };
                int[]    boxesB      = { 130, 160 };
                int[]    boxesC      = { 160 };
                string[] deplacement = Carton.Solve(boxesA, boxesB, boxesC);

                foreach (string d in deplacement)
                {
                    Console.WriteLine(d);
                }

                break;
            }
            Console.ReadKey();
        }
Example #25
0
        // Affichage des actions sur filtre manuel
        private void filtreManuel(object sender, EventArgs e)
        {
            Dictionary<int, List<ListValue>> criteriaList = new Dictionary<int, List<ListValue>>();
            foreach (CritereSelect widget in this.selectPanel.Controls)
                if (widget.criterium != null)
                    criteriaList.Add(widget.entityID,widget.criterium);

            Filtre filtre = new Filtre() { dbName = manuelDBcombo.Text, criteria = criteriaList };

            if (saveFilterCheck.Checked) //Sauvegarde du filtre si checkbox cochée
            {
                if (nameBox.Text == "")
                {
                    errorLabel.Text = "Le nom du filtre ne peut être vide";
                    errorLabel.Visible = true;
                    return;
                }
                else
                {
                    DB db = (DB)manuelDBcombo.Items[manuelDBcombo.SelectedIndex];
                    if (!db.isNvoFiltre(nameBox.Text))
                    {
                        errorLabel.Text = "Ce nom de filtre existe déjà.";
                        errorLabel.Visible = true;
                        return;
                    }
                    else
                    {
                        // Sauvegarde du filtre
                        filtre.nom = nameBox.Text;
                        db.insertFiltre(filtre);

                        // Raz du formulaire
                        saveFilterCheck.Checked = false;
                        nameBox.Text = "";
                    }
                }
            }

            if (!TrayIcon.displayedFilters.Contains(filtre))
                TrayIcon.displayedFilters.Add(filtre);
            else
                TrayIcon.afficheMessage("Base d'actions " + filtre.dbName, "Le filtre " + filtre.ToString() + " est déjà affiché");
        }