public async Task <Unit> RegisterUserAsync([FromBody] RegisterDto obj) { return(await uow.Mediator.Send(new Register.Command(obj))); }
public async Task <ActionResult <UserDto> > Register(RegisterDto registerDto) { return(await _accountRepository.Register(registerDto)); }
public async Task <ActionResult <UserDto> > Register(RegisterDto registerDto) { if (CheckEmailExistsAsync(registerDto.Email).Result.Value) { return(new BadRequestObjectResult(new ApiValidationErrorResponse { Errors = new[] { "Email address is in use" } })); } //var role = _roleManager.Roles.Where(r => r.Id == "2").FirstOrDefault(); //registerDto.Role = role.Name; var user = new AppUser { DisplayName = registerDto.DisplayName, Email = registerDto.Email, UserName = registerDto.Email, //Role = registerDto.Role }; var result = await _userManager.CreateAsync(user, registerDto.Password); if (!result.Succeeded) { return(BadRequest(new ApiResponse(400))); } if (result.Succeeded) { //await _userManager.AddToRoleAsync(user, registerDto.Role); await _mailService.SendEmailAsync(registerDto.Email, "Register Confirmed", "<table border='0' cellpadding='0' cellspacing='0' align='center' width='600px' role='module' data-type='columns' style='padding:20px 10px 20px 20px;' bgcolor='black'>" + "<tbody>" + "<tr role='module-content'>" + "<td height='100%' valign='top'>" + "<table class='column' width='540' style='width:540px; border-spacing:0; border-collapse:collapse; margin:0px 10px 0px 10px;' cellpadding='0' cellspacing='0' align='center' border='0' bgcolor=''> " + "<tbody> " + "<tr> " + "<td style='padding:0px;margin:0px;border-spacing:0;'>" + "<table class='module' role='module' data-type='text' border='0' cellpadding='0' cellspacing='0' width='100%' style='table-layout: fixed;' data-muid='948e3f3f-5214-4721-a90e-625a47b1c957' data-mc-module-version='2019-10-22'> " + "<tbody> " + "<tr> " + "<td style='padding:50px 30px 18px 30px; line-height:36px; text-align:inherit; background-color:#ffffff;' height='100%' valign='top' bgcolor='#ffffff' role='module-content'>" + "<div>" + "<div style='font-family: inherit; text-align: center'>" + "<img class='max-width' border='0' style='display:block; color:#000000; text-decoration:none; font-family:Helvetica, arial, sans-serif; font-size:16px;' width='100%' alt='' data-proportionally-constrained='true' data-responsive='false' src='https://www.wework.com/ideas/wp-content/uploads/sites/4/2019/08/Stocksy_txpbf16198csmR200_Medium_1873199_v1-1440x810-1-1120x630.jpg' height='189'>" + "<table class='module' role='module' data-type='spacer' border='0' cellpadding='0' cellspacing='0' width='100%' style='table-layout: fixed;' data-muid='27716fe9-ee64-4a64-94f9-a4f28bc172a0'>" + "<tbody>" + "<tr>" + "<td style='padding:0px 0px 30px 0px; background-color: white;' role='module-content' bgcolor=''></td>" + "</tr>" + "</tbody>" + "</table>" + $"<span style='font-size: 43px'>Thanks for signing up, {user.DisplayName}! </span>" + "</div>" + "<div></div>" + "</div>" + "</td> " + "</tr> " + "</tbody>" + "</table>" + "<table class='module' role='module' data-type='text' border='0' cellpadding='0' cellspacing='0' width='100%' style='table-layout: fixed;' data-muid='a10dcb57-ad22-4f4d-b765-1d427dfddb4e' data-mc-module-version='2019-10-22'> " + "<tbody> " + "<tr> " + "<td style='padding:18px 30px 18px 30px; line-height:22px; text-align:inherit; background-color:#ffffff;' height='100%' valign='top' bgcolor='#ffffff' role='module-content'>" + "<div>" + "<div style='font-family: inherit; text-align: center'>" + "<span style='font-size: 18px;color: #005018;'>Please verify your email address to</span>" + "<span style='color: #000000; font-size: 18px; font-family: arial,helvetica,sans-serif'> get access to thousands of beautiful plants at</span>" + "<span style='font-size: 18px'>.</span>" + " <div class='align-text-center' style='font-size:20px;margin-top:30px;color: #005018;'><strong>Plantify Store</strong></div>" + "</div> " + "<div style='font-family: inherit; text-align: center'>" + "<span style='color: black; font-size: 18px'>" + "<strong>Thank you! </strong>" + "</span>" + "</div>" + "<div></div>" + "</div>" + "</td> " + "</tr> " + "</tbody> " + "</table>" + "<table border='0' cellpadding='0' cellspacing='0' class='module' data-role='module-button' data-type='button' role='module' style='table-layout:fixed;' width='100%' data-muid='d050540f-4672-4f31-80d9-b395dc08abe1'> " + "<tbody> " + "<tr> " + "<td align='center' bgcolor='#ffffff' class='outer-td' style='padding:0px 0px 0px 0px;'> " + "<table border='0' cellpadding='0' cellspacing='0' class='wrapper-mobile' style='text-align:center;'> " + "<tbody> " + "<tr> " + "<td align='center' bgcolor='#ffbe00' class='inner-td' style='border-radius:6px; font-size:16px; text-align:center; background-color:inherit;'> " + "<a href='' style='background-color:black; border:1px solid black; border-color:#1cff00; border-radius:0px; border-width:1px; color:white; display:inline-block; font-size:14px; font-weight:normal; letter-spacing:0px; line-height:normal; padding:12px 40px 12px 40px; text-align:center; text-decoration:none; border-style:solid; font-family:inherit;' target='_blank'>Verify Email Now</a> " + "</td> " + "</tr> " + "</tbody> " + "</table> " + "</td> " + "</tr> " + "</tbody> " + "</table>" + "<table class='module' role='module' data-type='spacer' border='0' cellpadding='0' cellspacing='0' width='100%' style='table-layout: fixed;' data-muid='27716fe9-ee64-4a64-94f9-a4f28bc172a0'>" + "<tbody>" + "<tr>" + "<td style='padding:0px 0px 30px 0px; background-color: white;' role='module-content' bgcolor=''></td>" + "</tr>" + "</tbody>" + "</table>" + "</td> " + "</tr> " + "</tbody> " + "</table>" + "</td>" + "</tr>" + "</tbody>" + "</table>" ); } return(new UserDto { DisplayName = user.DisplayName, Token = _tokenService.CreateToken(user), Email = user.Email, //Role = registerDto.Role }); }
public async Task<ActionResult<UserDto>> Register(RegisterDto registerDto) { if(CheckEmailExistsAsync(registerDto.Email).Result.Value) { return new BadRequestObjectResult(new ApiValidationErrorResponse{Errors = new []{"Email address is in use"}}); } //calculate the user's calories, proteins, carbohydrates and fats var userCalories = 0M; var userProteins = 0M; var userCarbohydrates = 0M; var userFats = 0M; var userAge = DateTime.Now.Year - DateTime.Parse(registerDto.DateOfBirth).Year; if (registerDto.Gender == "male") { var RMB = (long)(10 * registerDto.Weight + (decimal)6.25 * registerDto.Height - 5 * userAge + 5); userProteins = (long)((decimal) 2.2 * registerDto.Weight); userFats = (long)(((decimal) 0.3 * RMB)/9); var proteinInCalories = userProteins * 4; var fatsInCalories = userFats * 9; userCalories = (long)(RMB * registerDto.ActivityCost); userCarbohydrates = (long)((userCalories - (proteinInCalories + fatsInCalories))/4); } else { var RMB = (long)(10 * registerDto.Weight + (decimal) 6.25 * registerDto.Height - 5 * userAge - 161); userProteins = (long)((decimal) 2.2 * registerDto.Weight); userFats = (long)(((decimal) 0.3 * RMB)/9); var proteinInCalories = userProteins * 4; var fatsInCalories = userFats * 9; userCalories = (long)(RMB * registerDto.ActivityCost); userCarbohydrates = (long)((userCalories - (proteinInCalories + fatsInCalories))/4); } var user = new AppUser { DisplayName = registerDto.DisplayName, Email = registerDto.Email, UserName = registerDto.Email, Weight = registerDto.Weight, Height = registerDto.Height, Gender = registerDto.Gender, DateOfBirth = DateTime.Parse(registerDto.DateOfBirth), ActivityCost = registerDto.ActivityCost, DailyCalories = userCalories, DailyProteins = userProteins, DailyCarbohydrates = userCarbohydrates, DailyFats = userFats }; var result = await _userManager.CreateAsync(user, registerDto.Password); if (!result.Succeeded) return BadRequest(new ApiResponse(400)); return new UserDto { Email = user.Email, Token = _tokenService.CreateToken(user), DisplayName = user.DisplayName, Weight = user.Weight, Height = user.Height, Gender = user.Gender, DateOfBirth = user.DateOfBirth.ToString("MM-dd-yyyy"), ActivityCost = user.ActivityCost, DailyCalories = user.DailyCalories, DailyProteins = user.DailyProteins, DailyCarbohydrates = user.DailyCarbohydrates, DailyFats = user.DailyFats }; }
public async Task <ActionResult <UserDto> > Register(RegisterDto registerDto) { using (var transaction = await appIdentityContext.Database.BeginTransactionAsync()) { try { if (CheckUserNameExists(registerDto.Username).Result.Value) { return(StatusCode(StatusCodes.Status409Conflict, new Response { Status = "Conflict", Message = "User already exists" })); } var user = new AppUser() { UserName = registerDto.Username, Email = registerDto.Email }; var result = await userManager.CreateAsync(user, registerDto.Password); if (!result.Succeeded) { return(StatusCode(StatusCodes.Status400BadRequest, new Response { Status = "Error", Message = "Failed to create user" })); } var userRole = "NormalUser"; if (!await roleManager.RoleExistsAsync(userRole)) { await roleManager.CreateAsync(new IdentityRole(userRole)); } var roleAddResult = await userManager.AddToRoleAsync(user, userRole); if (!roleAddResult.Succeeded) { return(StatusCode(StatusCodes.Status400BadRequest, new Response { Status = "Error", Message = "Failed to add user role" })); } user = await userManager.FindByNameAsync(registerDto.Username); //Updates user to include the userId in the token if (user == null) { return(StatusCode(StatusCodes.Status500InternalServerError, new Response { Status = "Error", Message = "Failed to find created user" })); } var tokenString = await GetToken(user); await transaction.CommitAsync(); return(Ok(new UserDto() { Email = user.Email, UserName = user.UserName, Token = tokenString })); } catch { return(StatusCode(StatusCodes.Status500InternalServerError, new Response { Status = "Error", Message = "Failed to complete transaction" })); } } }
public async Task <ActionResult </*AppUser 4.43:*/ UserDto> > Register(/*4.37:*/ RegisterDto registerDto /*string username, string password*/) { if (await UserExists(registerDto.Username)) { return(BadRequest("Username is taken")); } using var hmac = new HMACSHA512(); var user = new AppUser { UserName = registerDto.Username.ToLower(), PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(registerDto.Password)), PasswordSalt = hmac.Key }; _context.Users.Add(user); await _context.SaveChangesAsync(); // return user; //4.43{ return(new UserDto { Username = user.UserName, Token = _tokenService.CreateToken(user) }); //}4.43 }