private async Task<UserDetails> PopulateUsersForViewAsync(LXMUserDetail item, List<LXMUser> logins)
        {
            LXMUser user;
            UserDetails current = new UserDetails { UserEntityId = item.UserEntityId };

            user = logins.Where(login => login.UserEntityId == item.UserEntityId).FirstOrDefault();

            if (user != null)
            {
                current.UserCredentials = new UserCredentials
                {
                    AccountExpireFlag = user.AccountExpireFlag,
                    AccountExpiryDate = user.AccountExpiryDate,
                    ChgPassOnLogon = user.ChgPassOnLogon,
                    DateCreated = user.DateCreated,
                    EnabledDate = user.EnabledDate,
                    EntityId = user.EntityId,
                    GraceLoginsUsed = user.GraceLoginsUsed,
                    LastDateModified = user.LastDateModified,
                    LastUserId = user.LastUserId,
                    LoginName = user.LoginName,
                    LoginViolation = user.LoginViolation,
                    Password = user.Password,
                    PasswordExpiryDate = user.PasswordExpiryDate,
                    PasswordNeverExpires = user.PasswordNeverExpires,
                    UserCannotChangePass = user.UserCannotChangePass,
                    UserEntityId = user.UserEntityId,
                    UserId = user.UserId,
                    Visible = user.Visible
                };
            }
            else
            {
                current.UserCredentials = new UserCredentials();
            }

            current.LXMUserDetails = item;
            current.LXMUserGroups = new ObservableModelCollection<LXMGroup>(await UserFunctions.GetUserGroupsAsync(item.UserEntityId, this.AllGroups));
            current.UpdateLXMUserGroupsString();

            return current;
        }