예제 #1
0
        public IActionResult SignUp(SignUpUserVM signUpUserModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(signUpUserModel));
            }

            var passwordSalt = Hash.CreateSalt();
            var passwordHash = Hash.Create(
                signUpUserModel.Password,
                passwordSalt
                );

            var userModel = new UserModel()
            {
                Name         = signUpUserModel.Name,
                Email        = signUpUserModel.Email,
                PasswordSalt = passwordSalt,
                PasswordHash = passwordHash,
                CreatedOn    = DateTime.Now,
                UpdatedOn    = DateTime.Now
            };

            _userRepo.Create(userModel);
            _userRepo.CreateUserVerification(userModel);

            return(RedirectToAction(nameof(SignIn), new {
                state = SignInViewState.AccountCreated
            }));
        }
예제 #2
0
        public User BuildUser(SignUpUserVM vm, string id, string username)
        {
            var user = BuildUser((SignUpVM)vm, id, username);

            user.UserName = id ?? vm.Email;

            user.Avatar      = vm.Avatar;
            user.PhoneNumber = vm.PhoneNumber;
            return(user);
        }
예제 #3
0
        public IActionResult IndexUser()
        {
            var data = _userManger.Users.ToList();
            List <SignUpUserVM> model = new List <SignUpUserVM>();

            if (data != null)
            {
                foreach (var item in data)
                {
                    if (_userManger.IsInRoleAsync(item, "User").Result)
                    {
                        SignUpUserVM listVM = new SignUpUserVM();
                        listVM.Id          = item.Id;
                        listVM.FirstName   = item.FirstName;
                        listVM.LastName    = item.LastName;
                        listVM.Email       = item.Email;
                        listVM.PhoneNumber = item.PhoneNumber;
                        model.Add(listVM);
                    }
                }
            }

            return(View(model));
        }
예제 #4
0
        public IActionResult SignUpUser(SignUpUserVM model)
        {
            bool   Status  = false;
            string Message = string.Empty;

            if (ModelState.IsValid)
            {
                // User Name Already Exsit
                var userName = _userManger.FindByNameAsync(model.Email).Result;
                if (userName != null)
                {
                    Message = "UserName Already Exsit.Please Enter Another UserName";
                    Status  = false;
                    return(Json(new { status = Status, message = Message }));
                }

                //User Email Already Exsit
                var userEmail = _userManger.FindByEmailAsync(model.Email).Result;
                if (userEmail != null)
                {
                    Message = "This Email is Already Exsit.Please Enter Another Email";
                    Status  = false;
                    return(Json(new { status = Status, message = Message }));
                }

                // User
                var user = new AppUser();
                user.FirstName   = model.FirstName;
                user.Created     = DateTime.Now;
                user.LastName    = model.LastName;
                user.Email       = model.Email;
                user.UserName    = model.Email;
                user.PhoneNumber = model.PhoneNumber;
                // Add User In Database
                var result = _userManger.CreateAsync(user, model.Password).Result;

                if (result.Succeeded)
                {
                    //Add Role
                    AddRole("User", user);

                    //Send Email Confirmation
                    //SendEmailConformationLink(user);

                    Status  = true;
                    Message = "Successfully Created Your Account";

                    // Redirect To SignInPage
                    return(Json(new { status = Status, message = Message }));
                }
                else
                {
                    Status  = false;
                    Message = "Error While Creating Your Account";
                    return(Json(new { status = Status, message = Message }));
                }
            }

            Message = "Provide all required and valid data to proceed";
            return(Json(new { status = Status, message = Message }));
        }
예제 #5
0
 public async Task <BaseResponse> SignUpUser([FromBody] SignUpUserVM model)
 {
     return(constructResponse(await _businessWrapper.UserBL.SignUpUser(model)));
 }