示例#1
0
        public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto)
        {
            var user = await _userManager.FindByEmailAsync(userForRegisterDto.Email);

            if (user != null)
            {
                return(BadRequest(new { error = "User already exist" }));
            }

            try{
                var userToCreate = _mapper.Map <User>(userForRegisterDto);
                userToCreate.AccountNumber  = StaticDetails.GenerateAccountNo();
                userToCreate.AccountBalance = StaticDetails.DefaultAmount;
                userToCreate.IsActive       = true;
                userToCreate.DateCreated    = DateTime.Now;
                userToCreate.UserName       = userForRegisterDto.Email;

                var result = await _userManager.CreateAsync(userToCreate, userForRegisterDto.Password);

                // var userToReturn = _mapper.Map<UserForListDto>(userToCreate);

                if (result.Succeeded)
                {
                    return(Ok("Congratulations!!! Your account creation was successful. Kindly remember to fund your account"));
                }

                return(BadRequest(result.Errors));
            }catch (Exception)
            {
                return(StatusCode(500, "Error Occured please try again later,please try again later..."));
            }
        }