/// <summary> /// Constructeur pour le dialogue Saisie Compte /// </summary> /// <param name="p_typeSaisie">type d'operation</param> /// <param name="p_grade">grade de l'utilisateur</param> public DlgSaisieCompte(TypeDeSaisie p_typeSaisie, Grade p_grade, Compte p_compte = null) : base(p_typeSaisie, p_grade, p_compte) { InitializeComponent(); m_typeSaisie = p_typeSaisie; m_compte = p_compte; if (p_compte == null && (p_typeSaisie == TypeDeSaisie.Modification || p_typeSaisie == TypeDeSaisie.Affichage)) { this.Close(); } if (p_grade != Grade.Capitaine && (p_typeSaisie == TypeDeSaisie.Modification || p_typeSaisie == TypeDeSaisie.Ajout)) { MB.Avertir("Vous n\'etes pas autorisés à acceder à cette section"); this.Close(); } switch (p_typeSaisie) { case TypeDeSaisie.Ajout: Text = "Ajout d\'un nouveau compte utilisateur"; break; case TypeDeSaisie.Modification: Text = "Modification d\'un compte utilisateur"; break; case TypeDeSaisie.Affichage: Text = "Information sur le compte #" + p_compte.Matricule; break; } }
protected override bool ChampsValides() // Appelé d'un template method, mais est aussi un TM ! { string motif; if (string.IsNullOrEmpty(textBoxMotif.Text) && comboBoxMotifs.SelectedIndex == -1) { MB.Avertir("Choisir une option de motif ou en saisir un nouveau"); return(false); } if (!string.IsNullOrEmpty(textBoxMotif.Text)) { string motifFormaté = Char.ToUpper(textBoxMotif.Text[0]) + textBoxMotif.Text.Substring(1).ToLower(); motif = motifFormaté; Document.Instance.AjouterMotif(motifFormaté); } else { motif = comboBoxMotifs.SelectedItem.ToString(); } string tailleEtForme = StringAvecLongueurMinimum(textBoxTailleEtForme, 1, "Taille et forme"); DateTime?parution = dateTimeParution.Checked ? dateTimeParution.Value : (DateTime?)null; double?prixPayé = DoubleAvecMinimumOuNull(textBoxPrixPayé, 0.0, "Prix payé"); // S'il y en avait beaucoup, il faudrait probablement créer un BaseDeArticlePhilatélique return(FinirValidation(motif, tailleEtForme, parution, prixPayé)); // TM... }
/// <summary> /// Menu element : Modifier le mot de passe /// </summary> private void modifierMotDePasseToolStripMenuItem_Click(object sender, EventArgs e) { DlgResetPass rp = new DlgResetPass(); if (rp.ShowDialog() == DialogResult.OK) { MB.Avertir("Votre mot de passe a été modifié"); } }
private bool ValidationLogin() { string user = StringNonVide(textBoxlogin, "Utilisateur"); string passHashed = StringNonVide(textBoxPassword, "Mot de passe"); Compte c = RequetesSQL.SQLLogin(user, textBoxPassword.Text); if (c == null) { MB.Avertir("Authentification rejetée"); return(false); } if (!Hashage.HashValide(textBoxPassword.Text, c.HashPass, HashType.Sha256)) { MB.Avertir("Authentification rejetée"); return(false); } return(LoggedUser.OuvrirSession(c.Matricule.ToString())); }
/// <summary> /// Vérifie la validité des informations entrées dans les champs de saisie. /// </summary> /// <returns>true si les informations sont valides, false sinon.</returns> protected override bool ChampsValides() { if (!CodeDeNature.TousLesCodesDeNature.Contains((CodeDeNature)comboBoxCodeDeNature.SelectedItem)) { MB.Avertir("Le code de nature sélectionné n'existe pas."); return(false); } if (dateTimePicker.Value > DateTime.Now) { MB.Avertir("La date et heure doit être inférieur à la date et heure actuelle."); return(false); } try { DateTime dateEtHeure = dateTimePicker.Value; CodeDeNature codeDeNature = (CodeDeNature)comboBoxCodeDeNature.SelectedItem; string noCivique = StringNonVide(textBoxNoCivique, "numéro civique"); string rue = StringNonVide(textBoxRue, "rue"); string codePostal = StringNonVide(textBoxCodePostal, "code postal").Trim().ToUpper(); Regex regexCodePostal = new Regex("^[A-Z][0-9][A-Z][ ]?[0-9][A-Z][0-9]$"); if (!regexCodePostal.IsMatch(codePostal)) { MB.Avertir("Le code postal doit avoir le format suivant « A1A1A1 » ou « A1A 1A1 »."); return(false); } string ville = StringNonVide(textBoxVille, "ville"); string province = StringNonVide(comboBoxProvince, "province"); string pays = StringNonVide(textBoxPays, "pays"); Adresse adresse = new Adresse(rue, ville, province, codePostal, pays, noCivique); string remarques = textBoxRemarques.Text.Trim(); // peut être vide m_rapportEvenement = new RapportEvenement(codeDeNature, dateEtHeure, adresse, remarques); return(true); } catch (ErreurExtraction) { // L'utilisateur n'a pas bien rempli le formulaire. return(false); } }
protected override bool ChampsValides() { int?matricule = Int32OuNull(textBoxMatricule, "Matricule"); if (matricule != null) { int numero = (int)matricule; Compte compte = RequetesSQL.SQLChercherCompteAvecMatricule(numero); if (compte == null) { MB.Avertir("Le compte n'existe pas."); return(false); } else { if (compte.Grade != Grade.Détective && (CodeDestination)comboBoxDestination.SelectedItem == CodeDestination.SD) { MB.Avertir("Le matricule n'est pas un détective."); return(false); } if ((compte.Grade != Grade.Lieutenant && compte.Grade != Grade.Capitaine) && (CodeDestination)comboBoxDestination.SelectedItem == CodeDestination.REV) { MB.Avertir("Le matricule n'est pas un lieutenant ni un capitaine."); return(false); } } } else { if ((CodeDestination)comboBoxDestination.SelectedItem != CodeDestination.ATT && (CodeDestination)comboBoxDestination.SelectedItem != CodeDestination.BEC && (CodeDestination)comboBoxDestination.SelectedItem != CodeDestination.ARC) { MB.Avertir("Le matricule doit être nul lors d'envoie au BEC, de mise en attente ou lors de l'archivage."); return(false); } } m_destination = new Destination(DateNow(), (CodeDestination)comboBoxDestination.SelectedItem, textBoxRemarque.Text, "", matricule); return(true); }
protected override bool ChampsValides() { StringNonVide(textBoxPassword, "mot de passe actuel"); if (!Hashage.HashValide(textBoxPassword.Text, LoggedUser.compte.HashPass, HashType.Sha256)) { MB.Avertir("Mot de passe actuel est invalide"); return(false); } if (!textBoxNewPassword.Text.Equals(textBoxNewPassword2.Text)) { MB.Avertir("Les champs nouveau mot de passe ne correspondent pas"); return(false); } string mdpHash = Hashage.Encrypter(textBoxNewPassword.Text); LoggedUser.compte.ModifierPasse(mdpHash); return(RequetesSQL.UpdateCompte(LoggedUser.compte)); }
/// <summary> /// Menu element : Supprimer un compte /// </summary> private void supprimerToolStripMenuItem_Click(object sender, EventArgs e) { DlgChoisirCompte choixcompte = new DlgChoisirCompte(); if (choixcompte.ShowDialog() == DialogResult.OK) { Compte c = choixcompte.Extraire(); if (c == null) { MB.Avertir("Ce compte n'exist pas"); } else { if (MB.ConfirmerOuiNon("Voulez-vous vraiment supprimer définitivement ce compte?")) { RequetesSQL.SupprimerCompte(c.Matricule.ToString()); } } } }
/// <summary> /// Reinitiliser un mot de passe oublié /// </summary> /// <returns>vrai si le changement à reusit</returns> /// private bool ValidationReset() { string user = StringNonVide(textBoxlogin, "Login"); string email = StringNonVide(textBoxPassword, "Email"); string passeProvisoirhash; Compte c; int matricule = -1; // DONE: Verifier si user et email sont presents dans la bd matricule = RequetesSQL.ChercherCompteSelonEmail(email); c = RequetesSQL.SQLChercherCompteAvecMatricule(matricule); if (matricule != -1) { if (c == null) { return(false); } } // Envoyer un email avec un mot de passe provisoire bool envoie = Utilitaires.sendResetMessage(textBoxPassword.Text, out passeProvisoirhash); if (envoie) { // DONE: ModifierLe hashDans la bd pour ce compte c.ModifierPasse(passeProvisoirhash); RequetesSQL.SupprimerCompte(c.Matricule.ToString()); RequetesSQL.AjouterCompte(c); MB.Avertir("un message vous est envoyé !"); } else { MB.Avertir("Un problème est survenu"); } return(envoie); }
protected override bool ChampsValides() { string nom = StringNonVide(textBoxNom, "Nom"); string prénom = StringNonVide(textBoxPrenom, "Prénom"); DateTime dateNaissance = dateTimePickerNaissance.Value.Date; if (dateNaissance >= DateTime.Today) { MB.Avertir("La date de naissance est supérieur à la date d'aujourd'hui."); return(false); } string adresse = StringNonVide(textBoxAdresse, "Adresse"); CodePersonne codePersonne = (CodePersonne)comboBoxCode.SelectedItem; bool estAjout = m_typeDeSaisie == TypeDeSaisie.Ajout; m_personne = new Personne(estAjout ? Document.Instance.NumProchainePersonne() : m_personne.Numero, nom, prénom, dateNaissance, adresse, codePersonne); if (estAjout || m_typeDeSaisie == TypeDeSaisie.Modification) { RequetesSQL.SQLEnregistrerPersonne(m_personne); } return(true); }
/// <summary> /// Menu element : Modifier un compte /// </summary> private void modifierCompteToolStripMenuItem_Click(object sender, EventArgs e) { DlgChoisirCompte choixcompte = new DlgChoisirCompte(); if (choixcompte.ShowDialog() == DialogResult.OK) { Compte c = choixcompte.Extraire(); if (c == null) { MB.Avertir("Ce compte n'exist pas"); } DlgSaisieCompte d = new DlgSaisieCompte(TypeDeSaisie.Modification, LoggedUser.compte.Grade, c); if (d.ShowDialog() == DialogResult.Cancel) { return; } else { c = d.Extraire(); RequetesSQL.UpdateCompte(c); } } }
/// <summary> /// Détermine si les informations saisies sont valides. /// </summary> /// <returns>True si les informations sont valides, false sinon.</returns> protected override bool ChampsValides() { List <Vehicule> vehiculesImpliques = new List <Vehicule>(); foreach (DataGridViewRow ligneCourante in dataGridViewVehiculesInclusDansRapport.Rows) { Vehicule vehiculeCourant = m_vehiculesDuDossier.Find(v => v.Marque == ligneCourante.Cells[(int)ColonneVoiture.Marque].Value && v.Modele == ligneCourante.Cells[(int)ColonneVoiture.Modele].Value && v.NoVehicule == (int)ligneCourante.Cells[(int)ColonneVoiture.NoVehicule].Value && v.Annee == (int)ligneCourante.Cells[(int)ColonneVoiture.Annee].Value && v.CodeVehicule == (CodeVehicule)ligneCourante.Cells[(int)ColonneVoiture.Statut].Value /*&& * v.Proprietaire == (Personne)ligneCourante.Cells[(int)IndexColonnes.Proprietaire].Value*/); Debug.Assert(vehiculeCourant != null, "Le véhicule sélectionné n'existe pas."); if (vehiculeCourant != null) { vehiculesImpliques.Add(vehiculeCourant); } } if (vehiculesImpliques.Count < 1) { MB.Avertir("Il doit y avoir au moins un véhicule impliqué dans le rapport d'accident."); return(false); } try { string noCivique = StringNonVide(textBoxNoCivique, "numéro civique"); string rue = StringNonVide(textBoxRue, "rue"); string codePostal = StringNonVide(textBoxCodePostal, "code postal").Trim().ToUpper(); Regex regexCodePostal = new Regex("^[A-Z][0-9][A-Z][ ]?[0-9][A-Z][0-9]$"); if (!regexCodePostal.IsMatch(codePostal)) { MB.Avertir("Le code postal doit avoir le format suivant « A1A1A1 » ou « A1A 1A1 »."); return(false); } string ville = StringNonVide(textBoxVille, "ville"); string province = StringNonVide(comboBoxProvince, "province"); string pays = StringNonVide(textBoxPays, "pays"); Adresse adresse = new Adresse(rue, ville, province, codePostal, pays, noCivique); if (dateTimePicker.Value > DateTime.Now) { MB.Avertir("La date et heure doit être inférieur à la date et heure actuelle."); return(false); } DateTime dateEtHeure = dateTimePicker.Value; string remarques = StringNonVide(textBoxRemarques, "remarques"); m_rapportAccident = new RapportAccident(Document.Instance.NumProchainRapport(), vehiculesImpliques, adresse, dateEtHeure, remarques); return(true); } catch (ErreurExtraction p_erreurEntreeUtilisateur) { // L'utilisateur n'a pas bien rempli le formulaire. return(false); } }
protected override bool ChampsValides() { // Valider les champs string nom = StringNonVide(textBoxNom, "Nom"); string prenom = StringNonVide(textBoxPrenom, "Prénom"); DateTime naissance = dateTimePickerNaissance.Value; if (naissance.Year < DateTime.Today.Year - AGE_MAX_COMPTE || naissance.Year > DateTime.Today.Year - AGE_MIN_COMPTE) { MB.Avertir("L\'age de l\'utilisateur est invalide."); ActiveControl = dateTimePickerNaissance; return(false); } // Adresse string rue = StringNonVide(textBoxAdresse, "Adresse"); string ville = StringNonVide(textBoxVille, "Ville"); string etat = StringNonVide(textBoxEtat, "Etat"); string codePostal = StringNonVide(textBoxCodePostal, "Zip"); Adresse adresse = new Adresse(rue, ville, etat, codePostal); // Contact string tel = StringNonVide(textBoxTelephone, "Telephone"); if (!Utilitaires.IsValidePhone(textBoxTelephone.Text)) { MB.Avertir("Telephone invalide."); return(false); } string email = StringNonVide(textBoxEmail, "Email"); if (!Utilitaires.IsValidEmail(textBoxEmail.Text)) { MB.Avertir("Email invalide."); return(false); } // Grade, matricule Grade grade; if (Enum.IsDefined(typeof(Grade), comboBoxGrade.SelectedIndex)) { grade = (Grade)comboBoxGrade.SelectedIndex; } else { MB.Avertir("Le Grade assigné est invalide."); ActiveControl = comboBoxGrade; return(false); } int matricule = Int32AvecMinimum(textBoxMatricule, 1, "Matricule"); // Password string mdpHash; if (checkBoxEnableEditPass.Checked || typeSaisie == TypeDeSaisie.Ajout) { StringNonVide(textBoxPassword, "mot de passe"); if (!textBoxPassword.Text.Equals(textBoxPassword2.Text)) { MB.Avertir("Les champs mot de passe ne correspondent pas"); return(false); } mdpHash = Hashage.Encrypter(textBoxPassword.Text); } else { mdpHash = compte.HashPass; // ne pas changer le mot de passe, si le champs n'est pas modifé } // Finir la validation return(FinirValidation(prenom, nom, matricule, naissance, adresse, tel, email, grade, mdpHash)); }