public UserProfileViewModel(ApiUser user)
{
Experiences = new ObservableCollection<UserExperienceViewModel>();
Decks = new ObservableCollection<SharedDeckGroup>();
UserName = user.UserName;
UserImage = user.ImageUrl;
UserIcon = user.IconUrl;
UserSubscription = user.Tier;
IsSubscribed = user.IsSubscribed;
DisconnectPercent = user.DisconnectPercent;
if(user.Experience == null)
user.Experience = new List<ApiUserExperience>();
Experiences.Add(new UserExperienceViewModel(user));
foreach (var e in user.Experience.OrderByDescending(x=>x.TotalSecondsPlayed))
{
Experiences.Add(new UserExperienceViewModel(e));
}
if (Program.LobbyClient != null && Program.LobbyClient.IsConnected)
IsMe = Program.LobbyClient.Me.UserName.Equals(user.UserName, StringComparison.InvariantCultureIgnoreCase);
CanChangeIcon = IsSubscribed && IsMe;
Messenger.Default.Register<RefreshSharedDecksMessage>(this,
x => Task.Factory.StartNew(this.RefreshSharedDecks));
Task.Factory.StartNew(RefreshSharedDecks);
}