public CritereRecherche getCritere() { float valeurCrit; valeurCrit = (this.texBoxCrit.Text != "") ? float.Parse(texBoxCrit.Text.Replace(".", ",")) : CritereRecherche.valeurParDefisNull; CritereRecherche c22 = new CritereRecherche(); CritereRecherche cr = new CritereRecherche((CritereGenerique)this.comboBoxCrit.SelectedValue, (Signe)this.comboBoxSign.SelectedValue, valeurCrit); return(cr); }
public JObject Recherche(ObjectifRecherche objectifRecherche, CritereRecherche rechercheCritere) { JObject ToSendDao = new JObject(); JObject rechercheObjectif; JObject critereObjectif; JObject ToReturn; JToken TestTrue = true; JToken TestEmpty = ""; JArray tabRecherche = new JArray(); JObject tabCriterelcn = new JObject(); JObject tabCriteretel = new JObject(); JObject tabCritereinsc = new JObject(); JObject tabCriterescn = new JObject(); JObject addlicencie; JObject addtelephone; JObject addinscription; JObject addseance; try { //remove diacritics rechercheCritere.Nom = RemoveDiacritics(rechercheCritere.Nom); rechercheCritere.Prenom = RemoveDiacritics(rechercheCritere.Prenom); rechercheCritere.Ville = RemoveDiacritics(rechercheCritere.Ville); rechercheCritere.Mail = RemoveDiacritics(rechercheCritere.Mail); rechercheCritere.Prenom = RemoveDiacritics(rechercheCritere.Prenom); rechercheObjectif = JObject.FromObject(objectifRecherche); critereObjectif = JObject.FromObject(rechercheCritere); //parcours recherche et création foreach (KeyValuePair <String, JToken> j in rechercheObjectif) { if (j.Value.ToString() == TestTrue.ToString()) { tabRecherche.Add(j.Key); } } //parcours critere et remplissage foreach (KeyValuePair <String, JToken> j in critereObjectif) { if (j.Value.ToString() != "" && j.Value.ToString() != "Peu importe" && j.Value.ToString() != "[]") { switch (j.Key) { case "Nom": tabCriterelcn.Add(j.Key, j.Value); break; case "Prenom": tabCriterelcn.Add(j.Key, j.Value); break; case "Age": tabCriterelcn.Add(j.Key, (DateTime.Now.Year - (int)j.Value).ToString()); break; case "CodePostal": tabCriterelcn.Add(j.Key, j.Value); break; case "Ville": tabCriterelcn.Add(j.Key, j.Value); break; case "Mail": tabCriterelcn.Add(j.Key, j.Value); break; case "Telephone": tabCriteretel.Add(j.Key, j.Value); break; case "Paiement": tabCritereinsc.Add(j.Key, j.Value); break; case "Certificat": tabCritereinsc.Add(j.Key, j.Value); break; case "Licence": tabCritereinsc.Add(j.Key, j.Value); break; case "Discipline": tabCriterescn.Add(j.Key, j.Value); break; case "Niveau": //obliger de s'embeter pour éviter de mettre des "é" ou "É" dans base de données JArray jaTemp = new JArray(); foreach (JValue jNiveau in (JArray)j.Value) { if (jNiveau.ToString() == "Éveil") { jaTemp.Add("Eveil"); } else if (jNiveau.ToString() == "Pré-poussin") { jaTemp.Add("Pre-poussin"); } else { jaTemp.Add(jNiveau); } } tabCriterescn.Add(j.Key, jaTemp); jaTemp = null; break; case "Jour": tabCriterescn.Add(j.Key, j.Value); break; case "Annees": tabCriterescn.Add(j.Key, j.Value); break; } } } //création des champs de critères addlicencie = new JObject { new JProperty("licencie", tabCriterelcn) }; addtelephone = new JObject { new JProperty("telephone", tabCriteretel) }; addinscription = new JObject { new JProperty("inscription", tabCritereinsc) }; addseance = new JObject { new JProperty("seance", tabCriterescn) }; ToSendDao = new JObject { new JProperty("Recherche", tabRecherche), new JProperty("Critere", addlicencie, addtelephone, addinscription, addseance) }; ToReturn = _dao.Recherche(ToSendDao); return(ToReturn); } catch (System.Exception e) { throw new System.Exception("Erreur Metier.cs/Recherche():\r\n" + e.Message, e); } }
private void buttonValiderRecherche_Click(object sender, EventArgs e) //lancement de la recherche (onglet Recherche) { //initialisation des entités ObjectifRecherche objectif = null; CritereRecherche critere = null; try { //choix des champs à rechercher/afficher _afficherMail = checkBoxMail.Checked; objectif = new ObjectifRecherche(checkBoxAdresse.Checked, checkBoxVille.Checked, checkBoxCodePostal.Checked, checkBoxAge.Checked, checkBoxTelephone.Checked); //SECURITE Regex _regexNomPrenomVille = new Regex("^[-a-zÀ-ž ']*$", RegexOptions.IgnoreCase); Regex _regexAgeCP = new Regex("^[0-9]*$"); Regex _regexMail = new Regex("^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", RegexOptions.IgnoreCase); Regex _regexTel = new Regex("^0[1-9][0-9]{8}$"); string _champNom = textBoxNom.Text.Trim(); string _champPrenom = textBoxPrenom.Text.Replace(" ", string.Empty); string _champAge = textBoxAge.Text.Replace(" ", string.Empty); string _champVille = textBoxVille.Text.Trim(); string _champCP = textBoxCP.Text.Replace(" ", string.Empty); string _champMail = textBoxMail.Text.Replace(" ", string.Empty); string _champTel = textBoxTelephone.Text.Replace(" ", string.Empty); MatchCollection matches; matches = _regexNomPrenomVille.Matches(_champNom); if (matches.Count != 1) { throw new Exception("Le nom n'est pas correct."); } matches = _regexNomPrenomVille.Matches(_champPrenom); if (matches.Count != 1) { throw new Exception("Le prénom n'est pas correct."); } matches = _regexAgeCP.Matches(_champAge); if (matches.Count != 1 || matches.Count == 1 && _champAge != string.Empty && int.Parse(_champAge) < 3) { throw new Exception("L'âge n'est pas correct."); } matches = _regexNomPrenomVille.Matches(_champVille); if (matches.Count != 1) { throw new Exception("La Ville n'est pas correcte."); } matches = _regexAgeCP.Matches(_champCP); if (matches.Count != 1) { throw new Exception("Le Code Postal n'est pas correct."); } matches = _regexMail.Matches(_champMail); if (matches.Count != 1 && _champMail != string.Empty) { throw new Exception("L'adress e-mail n'est pas correcte."); } matches = _regexTel.Matches(_champTel); if (matches.Count != 1 && _champTel != string.Empty) { throw new Exception("Le numéro de téléphone n'est pas correct."); } //Si il n'y a pas d'erreur, validation des critères de recherche critere = new CritereRecherche(_champNom, _champPrenom, _champAge, _champVille, _champCP, _champMail, _champTel, comboBoxPaiement.SelectedItem.ToString(), comboBoxCertificat.SelectedItem.ToString(), comboBoxLicence.SelectedItem.ToString(), checkedListBoxDiscipline.CheckedItems, checkedListBoxNiveau.CheckedItems, checkedListBoxJour.CheckedItems, checkedListBoxDate.CheckedItems); //Récupération et affichage des données de résultat JObject resultats = _metier.Recherche(objectif, critere); popOutResultatsRecherche(resultats); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally //libère la mémoire des entités critere et objectif { if (!(critere is null)) { critere.Dispose(); } if (!(objectif is null)) { objectif.Dispose(); } } }