public async Task InitializeUserAsync() { IUserProfileDataManagement userManager = ServiceRegistration.Get <IUserProfileDataManagement>(); if (UserId.HasValue) { await userManager.LoginProfileAsync(UserId.Value); var audioList = await userManager.GetUserAdditionalDataListAsync(UserId.Value, UserDataKeysKnown.KEY_PREFERRED_AUDIO_LANGUAGE); PreferredAudioLanguages = audioList.Result?.Select(l => l.Item2); if (!(PreferredAudioLanguages?.Any() ?? false)) { PreferredAudioLanguages = new List <string>() { "EN" } } ; var subtitleList = await userManager.GetUserAdditionalDataListAsync(UserId.Value, UserDataKeysKnown.KEY_PREFERRED_SUBTITLE_LANGUAGE); PreferredSubtitleLanguages = subtitleList.Result?.Select(l => l.Item2); if (!(PreferredSubtitleLanguages?.Any() ?? false)) { PreferredSubtitleLanguages = new List <string>() { "EN" } } ; } } }
public async Task InitializeAsync(string id) { if (RootContainer == null) { IUserProfileDataManagement userManager = ServiceRegistration.Get <IUserProfileDataManagement>(); ClientName = $"DLNA ({id})"; var profile = await userManager.GetProfileByNameAsync(ClientName); if (profile.Success) { ClientId = profile.Result.ProfileId; } else { ClientId = await userManager.CreateProfileAsync(ClientName, UserProfileType.ClientProfile, ""); } await userManager.LoginProfileAsync(ClientId); if (UserId.HasValue) { await InitializeUserAsync(); } InitialiseContainerTree(); } }
public static async Task <bool> AddPreferredLanguagesAsync(Guid?userId, IList <string> preferredAudioLanguuages, IList <string> preferredSubtitleLanguuages) { IUserProfileDataManagement userProfileDataManagement = ServiceRegistration.Get <IUserProfileDataManagement>(); if (userId.HasValue) { var res = userProfileDataManagement.GetProfileAsync(userId.Value).Result; if (res.Success) { await userProfileDataManagement.LoginProfileAsync(userId.Value); foreach (var lang in res.Result.GetPreferredAudioLanguages()) { preferredAudioLanguuages.Add(lang); } foreach (var lang in res.Result.GetPreferredSubtitleLanguages()) { preferredSubtitleLanguuages.Add(lang); } } } if (preferredAudioLanguuages.Count == 0) { preferredAudioLanguuages = new List <string>() { "EN" } } ; if (preferredSubtitleLanguuages.Count == 0) { preferredSubtitleLanguuages = new List <string>() { "EN" } } ; return(true); }