public async Task <IActionResult> Register(RegisterViewModel registerViewModel)
        {
            if (ModelState.IsValid)
            {
                UserDTO userFromDB = await _usersService.GetUserByEmailAsync(registerViewModel.Email);

                if (userFromDB == null)
                {
                    string passwordHash, passwordSalt;

                    PasswordManager.CreatePasswordHash(registerViewModel.Password, out passwordHash, out passwordSalt);

                    UserDTO newUserDTO = new UserDTO()
                    {
                        Id           = Guid.NewGuid(),
                        Name         = registerViewModel.Name ?? registerViewModel.Email,
                        Email        = registerViewModel.Email,
                        PasswordHash = passwordHash,
                        PasswordSalt = passwordSalt
                    };

                    CreatedUserRole newUserParams = await _usersService.CreateUserRoleAsync(newUserDTO, DefaultRolesList.User.ToString()); //, RolesList.Admin.ToString()"Admin",

                    await AuthenticateAsync(newUserParams.Email, newUserParams.UserRolesID[0]);
                }
                else
                {
                    ModelState.AddModelError("", "Такой пользователь существует");

                    //return Content("Такой пользователь существует");

                    return(View());
                }

                return(Redirect(registerViewModel.ReturnURL ?? "/Home/Index"));
            }

            return(View());
        }
        public async Task <IActionResult> RegisterAsync([FromBody] RegisterModel registerModel) //
        {
            if (ModelState.IsValid)
            {
                UserDTO userFromDB = await _usersService.GetUserByEmailAsync(registerModel.Email);

                if (userFromDB == null)
                {
                    try
                    {
                        string passwordHash, passwordSalt;

                        PasswordManager.CreatePasswordHash(registerModel.Password, out passwordHash, out passwordSalt);

                        UserDTO newUserDTO = new UserDTO()
                        {
                            Id           = Guid.NewGuid(),
                            Name         = registerModel.Name ?? registerModel.Email,
                            Email        = registerModel.Email,
                            PasswordHash = passwordHash,
                            PasswordSalt = passwordSalt
                        };

                        CreatedUserRole newUserParams = await _usersService.CreateUserRoleAsync(newUserDTO, DefaultRolesList.User.ToString()); //, RolesList.Admin.ToString()"Admin",

                        return(Ok(newUserDTO));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(new { message = ex.Message }));
                    }
                }
                return(BadRequest(new { message = "Такой пользователь существует" }));
            }
            return(BadRequest(new { message = "Username or password is incorrect" }));
        }