Beispiel #1
0
        private UserManagementUsersViewModel MapPlexAdmin(PlexAccount plexInfo, PlexUsers dbUser, DateTime lastLoggedIn)
        {
            var newUser = false;

            if (dbUser == null)
            {
                newUser = true;
                dbUser  = new PlexUsers();
            }
            var features    = (Features)dbUser?.Features;
            var permissions = (Permissions)dbUser?.Permissions;

            var m = new UserManagementUsersViewModel
            {
                Id = plexInfo.Id,
                PermissionsFormattedString = newUser ? "Processing..." : (permissions == 0 ? "None" : permissions.ToString()),
                FeaturesFormattedString    = newUser ? "Processing..." : features.ToString(),
                Username     = plexInfo.Username,
                Type         = UserType.PlexUser,
                EmailAddress = plexInfo.Email,
                Alias        = dbUser?.UserAlias ?? string.Empty,
                LastLoggedIn = lastLoggedIn,
            };

            m.Permissions.AddRange(GetPermissions(permissions));
            m.Features.AddRange(GetFeatures(features));

            return(m);
        }
Beispiel #2
0
        private UserManagementUsersViewModel MapLocalUser(UsersModel user, DateTime lastLoggedIn)
        {
            var features    = (Features)user.Features;
            var permissions = (Permissions)user.Permissions;

            var userProps = ByteConverterHelper.ReturnObject <UserProperties>(user.UserProperties);

            var m = new UserManagementUsersViewModel
            {
                Id = user.UserGuid,
                PermissionsFormattedString = permissions == 0 ? "None" : permissions.ToString(),
                FeaturesFormattedString    = features.ToString(),
                Username     = user.UserName,
                Type         = UserType.LocalUser,
                EmailAddress = userProps.EmailAddress,
                Alias        = userProps.UserAlias,
                LastLoggedIn = lastLoggedIn,
            };


            m.Permissions.AddRange(GetPermissions(permissions));
            m.Features.AddRange(GetFeatures(features));

            return(m);
        }
Beispiel #3
0
        private UserManagementUsersViewModel MapPlexUser(UserFriends plexInfo, PlexUsers dbUser, DateTime lastLoggedIn)
        {
            if (dbUser == null)
            {
                dbUser = new PlexUsers();
            }
            var features    = (Features)dbUser?.Features;
            var permissions = (Permissions)dbUser?.Permissions;

            var m = new UserManagementUsersViewModel
            {
                Id = plexInfo.Id,
                PermissionsFormattedString = permissions == 0 ? "None" : permissions.ToString(),
                FeaturesFormattedString    = features.ToString(),
                Username     = plexInfo.Username,
                Type         = UserType.PlexUser,
                EmailAddress = plexInfo.Email,
                Alias        = dbUser?.UserAlias ?? string.Empty,
                LastLoggedIn = lastLoggedIn,
                PlexInfo     = new UserManagementPlexInformation
                {
                    Thumb = plexInfo.Thumb
                },
            };

            m.Permissions.AddRange(GetPermissions(permissions));
            m.Features.AddRange(GetFeatures(features));

            return(m);
        }
        private UserManagementUsersViewModel MapPlexUser(UserFriends plexInfo, PlexUsers dbUser, DateTime lastLoggedIn)
        {
            var newUser = false;

            if (dbUser == null)
            {
                newUser = true;
                dbUser  = new PlexUsers();
            }
            var features    = (Features)dbUser?.Features;
            var permissions = (Permissions)dbUser?.Permissions;

            var m = new UserManagementUsersViewModel
            {
                Id = plexInfo.Id,
                PermissionsFormattedString = newUser ? "Processing..." : (permissions == 0 ? "None" : permissions.ToString()),
                FeaturesFormattedString    = newUser ? "Processing..." : features.ToString(),
                Username     = plexInfo.Title,
                Type         = UserType.PlexUser,
                EmailAddress = string.IsNullOrEmpty(plexInfo.Email) ? dbUser.EmailAddress : plexInfo.Email,
                Alias        = dbUser?.UserAlias ?? string.Empty,
                LastLoggedIn = lastLoggedIn,
                PlexInfo     = new UserManagementPlexInformation
                {
                    Thumb = plexInfo.Thumb
                },
                ManagedUser = string.IsNullOrEmpty(plexInfo.Username)
            };

            m.Permissions.AddRange(GetPermissions(permissions));
            m.Features.AddRange(GetFeatures(features));

            return(m);
        }
        private UserManagementUsersViewModel MapLocalUser(UsersModel user, DateTime lastLoggedIn)
        {
            var claims       = ByteConverterHelper.ReturnObject <string[]>(user.Claims);
            var claimsString = string.Join(", ", claims);

            var userProps = ByteConverterHelper.ReturnObject <UserProperties>(user.UserProperties);

            var m = new UserManagementUsersViewModel
            {
                Id           = user.UserGuid,
                Claims       = claimsString,
                Username     = user.UserName,
                Type         = UserType.LocalUser,
                EmailAddress = userProps.EmailAddress,
                Alias        = userProps.UserAlias,
                ClaimsArray  = claims,
                ClaimsItem   = new List <UserManagementUpdateModel.ClaimsModel>(),
                LastLoggedIn = lastLoggedIn
            };

            // Add all of the current claims
            foreach (var c in claims)
            {
                m.ClaimsItem.Add(new UserManagementUpdateModel.ClaimsModel {
                    Name = c, Selected = true
                });
            }

            var allClaims = UserMapper.GetAllClaims();

            // Get me the current claims that the user does not have
            var missingClaims = allClaims.Except(claims);

            // Add them into the view
            foreach (var missingClaim in missingClaims)
            {
                m.ClaimsItem.Add(new UserManagementUpdateModel.ClaimsModel {
                    Name = missingClaim, Selected = false
                });
            }
            return(m);
        }