correction d'un bug sur la modification d'utilisateurs

travailFormulairesJean
Siwa12100 1 year ago
parent bbdcc2715a
commit e88de6c2f4

@ -83,6 +83,14 @@
</Validation> </Validation>
</div> </div>
<div>
<Validation>
<Switch TValue="bool" @bind-Checked="@Modele.IsBan" Color="Color.Primary">Utilisateur banni</Switch>
</Validation>
</div>
<div class="btn-container"> <div class="btn-container">
<Button Class="btn-se-connecter" Clicked="@modifierUtilisateur"> <Button Class="btn-se-connecter" Clicked="@modifierUtilisateur">
<Icon Name="Blazorise.Icons.FontAwesome.FontAwesomeIcons.CheckCircle" /> <Icon Name="Blazorise.Icons.FontAwesome.FontAwesomeIcons.CheckCircle" />

@ -41,12 +41,23 @@ namespace VeraxShield.composants.formulaires
protected async Task modifierUtilisateur() protected async Task modifierUtilisateur()
{
if (await this.Validations.ValidateAll())
{ {
Utilisateur temp = UtilisateursFactory.toUtilisateur(this.Modele); Utilisateur temp = UtilisateursFactory.toUtilisateur(this.Modele);
if (this.Utilisateur.Pseudo != this.Modele.Pseudo)
{
await this.utilisateursDataService.MettreAJourUtilisateur(this.Utilisateur, temp);
}
else
{
await this.utilisateursDataService.MettreAJourUtilisateur(temp); await this.utilisateursDataService.MettreAJourUtilisateur(temp);
}
this.NavigationManager.NavigateTo("/utilisateurs/liste"); this.NavigationManager.NavigateTo("/utilisateurs/liste");
} }
}
protected async Task OnAnnulation() protected async Task OnAnnulation()
{ {

@ -6,20 +6,25 @@ namespace VeraxShield.composants.formulaires.modeles
{ {
[Required] [Required]
[StringLength(20, ErrorMessage = "Le pseudo ne doit pas dépasser 20 caractères !")] [StringLength(20, ErrorMessage = "Le pseudo ne doit pas dépasser 20 caractères !")]
[RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le pseudo doit contenir uniquement des caractères alphanumériques.")]
public String Pseudo { get; set; } public String Pseudo { get; set; }
[Required] [Required]
[StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")] [StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")]
[RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le prénom doit contenir uniquement des lettres.")]
public String Nom { get; set; } public String Nom { get; set; }
[Required] [Required]
[StringLength(20, ErrorMessage = "Le prénom ne doit pas dépasser 20 caractères !")] [StringLength(20, ErrorMessage = "Le prénom ne doit pas dépasser 20 caractères !")]
[RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le prénom doit contenir uniquement des lettres.")]
public String Prenom { get; set; } public String Prenom { get; set; }
[Required] [Required]
[EmailAddress(ErrorMessage = "Veuillez entrer une adresse email valide.")]
public String Mail { get; set; } public String Mail { get; set; }
[Required] [Required]
[RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le pseudo doit contenir uniquement des caractères alphanumériques.")]
public String Mdp { get; set; } public String Mdp { get; set; }
[Required] [Required]

@ -14,6 +14,7 @@ namespace VeraxShield.services.UtilisateursDataService
public Task SupprimerUtilisateur(Utilisateur u); public Task SupprimerUtilisateur(Utilisateur u);
public Task MettreAJourUtilisateur(Utilisateur u); public Task MettreAJourUtilisateur(Utilisateur u);
public Task MettreAJourUtilisateur(Utilisateur ancienneVersion, Utilisateur nouvelleVersion);
public Task<Utilisateur> getUtilisateurFromPseudo(String pseudo); public Task<Utilisateur> getUtilisateurFromPseudo(String pseudo);
} }

@ -111,6 +111,12 @@ namespace VeraxShield.services.UtilisateursDataService
await this.AjouterUtilisateur(u); await this.AjouterUtilisateur(u);
} }
public async Task MettreAJourUtilisateur(Utilisateur ancienneVersion, Utilisateur nouvelleVersion)
{
await this.SupprimerUtilisateur(ancienneVersion);
await this.AjouterUtilisateur(nouvelleVersion);
}
private async Task<List<Utilisateur>> getUtilisateursFromJson(String cheminVersJson) private async Task<List<Utilisateur>> getUtilisateursFromJson(String cheminVersJson)
{ {
List<Utilisateur> utilisateursDeserialise = new List<Utilisateur> (); List<Utilisateur> utilisateursDeserialise = new List<Utilisateur> ();

Loading…
Cancel
Save