コード例 #1
0
 public IActionResult Register([FromBody] RegisterPayload registerPayload)
 {
     try
     {
         var existingUserWithEmail = _db.Users.Any(u => u.Email == registerPayload.Email);
         if (existingUserWithEmail == false)
         {
             _db.Users.Add(new User
             {
                 FirstName    = registerPayload.FirstName,
                 LastName     = registerPayload.LastName,
                 Email        = registerPayload.Email,
                 PasswordHash = BC.HashPassword(registerPayload.Password),
                 Gender       = registerPayload.Gender,
                 IsDeleted    = false
             });
             _db.SaveChanges();
             return(Ok(new { status = true, message = "User was registered with success!" }));
         }
         else
         {
             return(new StatusCodeResult(StatusCodes.Status409Conflict));
         }
     }
     catch
     {
         return(new StatusCodeResult(StatusCodes.Status400BadRequest));
     }
 }
コード例 #2
0
        public async Task <IActionResult> Register([FromBody] RegisterPayload registerPayload)
        {
            try
            {
                var existingUserWithMail = _db.Users
                                           .Any(u => u.Email == registerPayload.Email);

                if (existingUserWithMail)
                {
                    return(BadRequest(new { status = false, message = "Email already exists" }));
                }
                var userToCreate = new User
                {
                    Email        = registerPayload.Email,
                    FirstName    = registerPayload.FirstName,
                    LastName     = registerPayload.LastName,
                    Gender       = registerPayload.Gender,
                    PasswordHash = BC.HashPassword(registerPayload.Password),
                    Role         = "SimpleUser",
                };

                _db.Users.Add(userToCreate);

                _db.SaveChanges();

                return(Ok(new { status = true, user = userToCreate }));
            }
            catch (Exception)
            {
                return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
            }
        }
コード例 #3
0
        public ActionResult <User> Register([FromBody] RegisterPayload registerPayload)
        {
            try
            {
                var existingUser = _db.Users.Any(u => u.Email == registerPayload.Email);
                if (existingUser)
                {
                    return(new JsonResult(new { status = "false", message = "An account with this email already exists" }));
                }
                var userToCreate = new User
                {
                    Email        = registerPayload.Email,
                    FirstName    = registerPayload.FirstName,
                    LastName     = registerPayload.LastName,
                    PasswordHash = BC.HashPassword(registerPayload.Password),
                    Gender       = registerPayload.Gender,
                };
                _db.Users.Add(userToCreate);
                _db.SaveChanges();

                return(new JsonResult(new { status = true, user = userToCreate }));
            }
            catch (Exception)
            {
                return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
            }
        }
コード例 #4
0
        public async Task <ActionResult <AccountViewModel> > Register([FromBody] RegisterPayload reg)
        {
            try
            {
                var res = await auth.RegisterAsync(reg);

                return(Ok(res));
            }
            catch (AuthException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #5
0
ファイル: CoreAuthentication.cs プロジェクト: Herocod3r/DocIT
        public async Task <AccountViewModel> RegisterAsync(RegisterPayload payload)
        {
            var appUser = new Models.ApplicationUser {
                UserName = payload.Email, Email = payload.Email
            };
            var res = await userManager.CreateAsync(appUser, payload.Password);

            if (!res.Succeeded)
            {
                throw new AuthException(res.Errors.FirstOrDefault().Description);
            }
            var user = userRepository.CreateNew(new Core.Data.Models.User {
                DateCreated = DateTime.Now, Email = payload.Email, Name = payload.Name
            });

            appUser.UserID = user.Id;
            await userManager.UpdateAsync(appUser);

            return(new AccountViewModel {
                Email = user.Email, Name = user.Name, UserId = user.Id
            });
        }
コード例 #6
0
 /// <summary>
 /// Register a user to a managed lab
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='userName'>
 /// The name of the user.
 /// </param>
 /// <param name='registerPayload'>
 /// Represents payload for Register action.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task RegisterAsync(this IGlobalUsersOperations operations, string userName, RegisterPayload registerPayload, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.RegisterWithHttpMessagesAsync(userName, registerPayload, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
コード例 #7
0
 /// <summary>
 /// Register a user to a managed lab
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='userName'>
 /// The name of the user.
 /// </param>
 /// <param name='registerPayload'>
 /// Represents payload for Register action.
 /// </param>
 public static void Register(this IGlobalUsersOperations operations, string userName, RegisterPayload registerPayload)
 {
     operations.RegisterAsync(userName, registerPayload).GetAwaiter().GetResult();
 }