Beispiel #1
0
        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é));
            }
        }
Beispiel #2
0
        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é));
            }
        }