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}"
            });
        }