예제 #1
0
        public async Task <ServiceResultModel <IdentityResult> > RegisterUser(UserRegisterPostModel model, IFormFile file)
        {
            var result = new ServiceResultModel <IdentityResult>();

            var errorMessage = ValidateUserData(model.Email, model.Username, null);

            if (errorMessage != null)
            {
                result.Error        = true;
                result.ErrorMessage = errorMessage;
            }
            else
            {
                var user = new ApplicationUser
                {
                    UserName   = model.Username,
                    Email      = model.Email,
                    FullName   = model.FullName,
                    CreatedAt  = DateTime.Now,
                    Phone      = model.Phone,
                    Address    = model.Address,
                    Avatar     = model.Avatar != null ? model.Avatar : await fileService.GenerateFileSource(file, userAvatarsFolderName, model.Username.ToLower()),
                    City       = model.City,
                    Country    = model.Country,
                    PostalCode = model.PostalCode,
                };

                result.DataResult = await userManager.CreateAsync(user, model.Password);

                result.SuccessMessage = UserMessages.AccountSuccessfullyCreate(model.Username);
            }

            return(result);
        }
예제 #2
0
        public async Task <ServiceResultModel <bool> > RegisterUser(UserRegisterPostModel model, string currentUserUsername)
        {
            var result = new ServiceResultModel <bool>();

            var errorMessage = ValidateUserData(model.Email, model.Username, currentUserUsername);

            if (errorMessage != null)
            {
                result.Error        = true;
                result.ErrorMessage = errorMessage;
            }
            else
            {
                var user = new ApplicationUser
                {
                    UserName  = model.Username,
                    Email     = model.Email,
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    CreatedAt = DateTime.Now,
                    Avatar    = model.AvatarFile == null ? null : await fileService.GenerateFile(model.AvatarFile, model.Username, null),
                };

                var registerResult = await userManager.CreateAsync(user, model.Password);

                if (registerResult.Succeeded)
                {
                    result.DataResult     = true;
                    result.SuccessMessage = UserMessages.AccountSuccessfullyCreate(model.Username);
                }
            }

            return(result);
        }
예제 #3
0
        public async Task <IActionResult> Register([FromBody] UserRegisterPostModel userPostModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse
                {
                    StatusCode = 400,
                    Message = "Uncorrected data"
                }));
            }

            var user = mapper.Map <UserRegisterPostModel, Account.User>(userPostModel);

            try
            {
                await authService.CreateUserAsync(user);
            }
            catch (Exception ex)
            {
                return(BadRequest(new ErrorResponse {
                    Message = ex.Message,
                    StatusCode = 400
                }));
            }

            return(Ok());
        }
예제 #4
0
        public async Task <IActionResult> Register([FromForm] UserRegisterPostModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await userService.RegisterUser(model, User.Identity.Name);

                if (!result.Error)
                {
                    return(Ok(result));
                }

                return(BadRequest(result.ErrorMessage));
            }

            return(BadRequest());
        }
예제 #5
0
        public async Task <IActionResult> Register([FromForm] UserRegisterPostModel model)
        {
            if (ModelState.IsValid)
            {
                var registerFile = Request.Form.Files.Count > 0 ? Request.Form.Files.First() : null;
                var result       = await userService.RegisterUser(model, registerFile);

                if (!result.Error)
                {
                    return(Ok(result));
                }

                return(BadRequest(result.ErrorMessage));
            }

            return(BadRequest());
        }
        private async void RegisterButton_Click(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrEmpty(LoginBox.Text) || String.IsNullOrEmpty(PasswordBox.Password) || String.IsNullOrEmpty(ConfirmBox.Password))
            {
                var errorDialog = new MessageDialog("Fields cannot be empty!");
                await DialogHost.Show(errorDialog, "register");

                return;
            }
            else if (PasswordBox.Password != ConfirmBox.Password)
            {
                var errorDialog = new MessageDialog("Passwords are not the same!");
                await DialogHost.Show(errorDialog, "register");

                return;
            }

            PasswordHashingServiceProvider phsp = new PasswordHashingServiceProvider();

            UserRegisterPostModel registerModel = new UserRegisterPostModel
            {
                Username       = LoginBox.Text,
                Password       = await phsp.Client_ComputePasswordForLogin(Encoding.UTF8.GetBytes(LoginBox.Text), Encoding.UTF8.GetBytes(PasswordBox.Password)),
                PasswordRepeat = await phsp.Client_ComputePasswordForLogin(Encoding.UTF8.GetBytes(LoginBox.Text), Encoding.UTF8.GetBytes(ConfirmBox.Password))
            };

            try
            {
                var result = await UserData.ApiClient.ApiUsersRegisterAsync(registerModel);

                var dialogResult = await DialogHost.Show(new MessageDialog("You registered successfuly!\nYou can log in now."), "register");

                WindowManager.LoginWindow = new LoginWindow();
                WindowManager.LoginWindow.Show();
                Close();
            }
            catch (ApiException <ProblemDetails> exc)
            {
                await DialogHost.Show(new MessageDialog(ApiErrorsBuilder.GetErrorString(exc.Result.Errors)), "register");
            }
            catch (Exception)
            {
                await DialogHost.Show(new MessageDialog("Unknown error"), "register");
            }
        }
        public IActionResult Register([FromBody] UserRegisterPostModel userview)
        {
            IActionResult response = BadRequest("Error");

            if (_checkEmailService.IsAlreadyTaken(userview.Email))
            {
                return(BadRequest("Email already in use"));
            }

            User user = new User
            {
                Email    = userview.Email,
                Name     = userview.Name,
                Surname  = userview.Surname,
                Password = userview.Password,
                IsActive = userview.IsActive
            };

            if (_crudService.CreateUserAsync(user).Result)
            {
                response = Ok();
            }
            return(response);
        }