private async Task <PortalActionResult> UpdateExistingUserAsPortalAdminAsync(ApplicationUser user, int companyId) { //update company id if (user.CompanyId.HasValue) { if (user.CompanyId != companyId) { //double check return(new PortalActionResult { IsSuccess = false, Message = $"User {user.Id}: {user.UserName} already exist in ACL and belong to other acount" }); } } else { user.CompanyId = companyId; await _userManager.UpdateAsync(user); } // do not check contact information, validation method handle it //check role if (await _userManager.IsInRoleAsync(user, DefaultRoleName)) { return(new PortalActionResult { IsSuccess = true, Message = $"user {user.UserName} exist in system, do not import" }); } var roleAdded = await _userManager.AddToRoleAsync(user, DefaultRoleName); return(roleAdded.Succeeded ? new PortalActionResult { IsSuccess = true, Message = $"User {user.UserName} Added to External Admin Role" } : new PortalActionResult { IsSuccess = false, Message = $"Could not add user {user.UserName} to {DefaultRoleName}" }); }