public async Task <RetourDeService <Utilisateur> > ChangeEtat(Utilisateur utilisateur, string état) { utilisateur.Etat = état; _context.Utilisateur.Update(utilisateur); EtatUtilisateur changement = new EtatUtilisateur { Uid = utilisateur.Uid, Date = DateTime.Now, Etat = état }; _context.EtatUtilisateur.Add(changement); try { await _context.SaveChangesAsync(); return(new RetourDeService <Utilisateur>(utilisateur)); } catch (DbUpdateConcurrencyException) { return(new RetourDeService <Utilisateur>(TypeRetourDeService.ConcurrencyError)); } catch (Exception) { return(new RetourDeService <Utilisateur>(TypeRetourDeService.Indéterminé)); } }
public async Task <RetourDeService <Utilisateur> > CréeUtilisateur(ApplicationUser applicationUser, string password) { try { var identityResult = await _userManager.CreateAsync(applicationUser, password); if (!identityResult.Succeeded) { return(new RetourDeService <Utilisateur>(TypeRetourDeService.IdentityError)); } await _context.SaveChangesAsync(); long Max; if (await _context.Utilisateur.AnyAsync()) { Max = await _context.Utilisateur.MaxAsync(u => long.Parse(u.Uid)) + 1; } else { Max = 1; } Utilisateur utilisateur = new Utilisateur { UserId = applicationUser.Id, Uid = Max.ToString(), Etat = TypeEtatUtilisateur.Nouveau, }; _context.Utilisateur.Add(utilisateur); EtatUtilisateur changement = new EtatUtilisateur { Uid = utilisateur.Uid, Etat = TypeEtatUtilisateur.Nouveau, Date = DateTime.Now }; _context.EtatUtilisateur.Add(changement); await _context.SaveChangesAsync(); return(new RetourDeService <Utilisateur>(utilisateur)); } catch (DbUpdateConcurrencyException) { return(new RetourDeService <Utilisateur>(TypeRetourDeService.ConcurrencyError)); } catch (Exception) { return(new RetourDeService <Utilisateur>(TypeRetourDeService.Indéterminé)); } }