public async Task <IActionResult> SignUp([FromBody] UserEditViewModel user) { if (ModelState.IsValid) { if (user == null) { return(BadRequest($"{nameof(user)} cannot be null")); } ApplicationUser appUser = Mapper.Map <ApplicationUser>(user); var result = await _accountManager.CreateUserAsync(appUser, new string[] { ApplicationRole.UserRoleName }, user.NewPassword); if (result.Item1) { UserViewModel userVM = await GetUserViewModelHelper(appUser.Id); var recipients = new EmailAddress[] { new EmailAddress { Name = userVM.FirstName + " " + userVM.LastName, Email = userVM.Email } }; var requestParam = new Dictionary <string, string> { { "{email}", userVM.Email } }; var response = await EmailSender.SendEmailAsync( recipients, subject : "Adam.info Account Information", content : EmailTemplates.GetAccountCreatedEmail(requestParam, "en"), isHtml : true, addBccs : true); if (!response.Item1) { this.logger.LogWarning(new EventId(1, "Email Error"), null, $"Failed to send Email Error: {response.Item2}"); } return(CreatedAtAction(GetUserByIdActionName, new { id = userVM.Id }, userVM)); } AddErrors(result.Item2); } return(BadRequest(ModelState)); }