Octgn.Tabs.Profile.UserProfileViewModel.UserProfileViewModel C# (CSharp) Method

UserProfileViewModel() public method

public UserProfileViewModel ( ApiUser user ) : System
user ApiUser
return System
        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);
        }