public async Task <IActionResult> RegisterNewUser([FromBody] RegisterNewUserResource newRegisterUser) { // Convert from View Model to Domain Model var newUser = _mapper.Map <RegisterNewUserResource, DomainLibrary.Member.User>(newRegisterUser); // Encrypt Password var registeredPassword = newUser.UserPasswords.First().Password; newUser.UserPasswords.First().Password = _passwordRepository.Encrypt(registeredPassword); // Apply Other fields newUser.PasswordExpired = DateTime.Now.AddMonths(1); newUser.AddedOn = DateTime.Now; newUser.Active = true; newUser.Note = string.Empty; if (newUser.Email.Contains("familycore.com")) { newUser.IsFCUser = true; } else { newUser.IsFCUser = false; } // Insert into database by using Domain Model _userRepository.RegisterNewUser(newUser); await _uow.CompleteAsync(); newUser = await _userRepository.GetUserById(newUser.UserID); // Convert from Domain Model to View Model var result = _mapper.Map <DomainLibrary.Member.User, ViewUserResource>(newUser); // Return view Model return(Ok(result)); }