public IActionResult CreerNouvelEmploye(Employe Employe) { try { if (Employe == null) { throw new ArgumentNullException(nameof(Employe)); } if (Employe.Compte == null) { throw new NullReferenceException(); } if (!InputValidationHelper.IsValidUsername(Employe.NomUtilisateur)) { throw new ArgumentException(Employe.NomUtilisateur); } if (!InputValidationHelper.IsValidPassword(Employe.MotPasse)) { throw new ArgumentException(Employe.MotPasse); } Employe.Compte = _db.Compte.Where(c => c.Email == Employe.Compte.Email).FirstOrDefault(); if (Employe.Compte.Id == 0) { BadRequest("Error"); } Employe.MotPasse = PasswordHelper.HashPassword(Employe.MotPasse); _db.Employe.Add(Employe); _db.SaveChanges(); if (Employe.Id != 0) { return(Ok("OK")); } return(BadRequest("Error")); } catch (ArgumentNullException) { return(BadRequest("Requête invalide")); } catch (ArgumentException) { return(BadRequest("Informations erronées")); } catch (NullReferenceException) { return(BadRequest("Requête invalide")); } }
public IActionResult ConnexionEmploye(CompteConnexion CompteConnexion) { var employe = new Employe(); try { if (CompteConnexion == null) { throw new ArgumentNullException(nameof(CompteConnexion)); } if (!InputValidationHelper.IsValidUsername(CompteConnexion.NomDeConnexion)) { throw new ArgumentException(CompteConnexion.NomDeConnexion); } if (!InputValidationHelper.IsValidPassword(CompteConnexion.MotDePasse)) { throw new ArgumentException(CompteConnexion.MotDePasse); } employe = _db.Employe.FirstOrDefault(e => e.NomUtilisateur == CompteConnexion.NomDeConnexion); employe.Compte = _db.Compte.FirstOrDefault(c => c.Id == employe.IdCompte); if (employe == null) { throw new ArgumentException(CompteConnexion.NomDeConnexion); } if (!BCrypt.Net.BCrypt.Verify(CompteConnexion.MotDePasse, employe.MotPasse)) { throw new ArgumentException(CompteConnexion.MotDePasse); } return(Ok(TokenHelper.CreateToken(employe.Compte.Prenom + " " + employe.Compte.Nom, employe.Compte.Email, employe.NomUtilisateur, "employe"))); } catch (ArgumentNullException) { return(BadRequest("Requête invalide")); } catch (ArgumentException) { return(BadRequest("Informations erronées")); } }
public IActionResult Inscription(Compte compte) { Adresse adresse; try { if (compte == null) { throw new ArgumentNullException(nameof(compte)); } if (!InputValidationHelper.IsValidEmail(compte.Email)) { return(BadRequest("Adresse courriel invalide")); } if (!InputValidationHelper.IsValidUsername(compte.NomUtilisateur)) { return(BadRequest("Nom d'utilisateur invalide")); } if (!InputValidationHelper.IsValidFirstName(compte.Prenom)) { return(BadRequest("Nom invalide")); } if (!InputValidationHelper.IsValidLastName(compte.Nom)) { return(BadRequest("Prénom invalide")); } if (!InputValidationHelper.IsValidBirthDate(compte.DateNaissance)) { return(BadRequest("Vous devez être âgé de 18 ans ou plus")); } if (!InputValidationHelper.IsValidPassword(compte.MotPasse)) { return(BadRequest("Le mot de passe doit contenir au moins 1 majuscule, 1 minuscule, 1 chiffre," + " 1 caractère spécial ainsi qu'être d'une longueur minimale de 5 caractères")); } if (!InputValidationHelper.IsValidAddress(compte.Adresse)) { return(BadRequest("Adresse invalide")); } compte.MotPasse = PasswordHelper.HashPassword(compte.MotPasse); adresse = _db.Adresse.Where(a => a.NumeroCivique == compte.Adresse.NumeroCivique && a.Rue == compte.Adresse.Rue && a.Ville == compte.Adresse.Ville && a.CodePostal == compte.Adresse.CodePostal).FirstOrDefault(); if (adresse != null) { compte.Adresse = adresse; } _db.Add(compte); _db.SaveChanges(); return(Created("", "")); } catch (ArgumentNullException) { return(Unauthorized("Informations erronées")); } }