Esempio n. 1
0
        public async void GetSessionInvite(string inviteId)
        {
            var sessionInviteManager = new SessionInviteManager();

            SessionInviteDetailEntity = await sessionInviteManager.GetInviteInformation(inviteId, App.UserAccountEntity);

            if (SessionInviteDetailEntity == null)
            {
                return;
            }
            if (SessionInviteDetailEntity.session == null)
            {
                return;
            }
            if (SessionInviteDetailEntity.session.Members == null)
            {
                return;
            }
            foreach (
                SessionInviteMember newMessage in
                SessionInviteDetailEntity.session.Members.Select(member => new SessionInviteMember {
                Member = member
            })
                )
            {
                GetAvatar(newMessage, App.UserAccountEntity);
                SessionInviteMembers.Add(newMessage);
            }
        }
        public async void LoadInvites()
        {
            IsLoading = true;
            var sessionInviteManager = new SessionInviteManager();
            var inviteEntity         = await sessionInviteManager.GetSessionInvites(Offset, UserAccountEntity);

            if (inviteEntity == null)
            {
                HasMoreItems = false;
                IsLoading    = false;
                return;
            }
            if (inviteEntity.Invitations == null)
            {
                HasMoreItems = false;
                IsLoading    = false;
                return;
            }
            foreach (var invite in inviteEntity.Invitations)
            {
                Add(invite);
            }
            if (inviteEntity.Invitations.Any())
            {
                // TODO: Only load once. HACK.
                HasMoreItems = false;
                Offset      += 32;
            }
            else
            {
                IsEmpty      = true;
                HasMoreItems = false;
            }
            IsLoading = false;
        }
Esempio n. 3
0
        private async void LoadSessionInviteList()
        {
            LoadingProgressBar.Visibility = Visibility.Visible;
            InviteCollection = new InfiniteScrollingCollection
            {
                Offset           = 32,
                InviteCollection = new ObservableCollection <SessionInviteEntity.Invitation>()
            };
            var sessionInvite = new SessionInviteManager();
            var inviteEntity  = await sessionInvite.GetSessionInvites(0, App.UserAccountEntity);

            if (inviteEntity == null)
            {
                InviteCollection = null;
                InvitationsLongListSelector.DataContext = InviteCollection;
                LoadingProgressBar.Visibility           = Visibility.Collapsed;
                NoInvitesTextBlock.Visibility           = Visibility.Visible;
                return;
            }
            if (inviteEntity.Invitations != null && !inviteEntity.Invitations.Any())
            {
                NoInvitesTextBlock.Visibility = Visibility.Visible;
            }
            if (inviteEntity.Invitations != null && inviteEntity.Invitations.Any())
            {
                NoInvitesTextBlock.Visibility = Visibility.Collapsed;
                foreach (var item in inviteEntity.Invitations)
                {
                    InviteCollection.InviteCollection.Add(item);
                }
            }
            InvitationsLongListSelector.DataContext = InviteCollection;
            LoadingProgressBar.Visibility           = Visibility.Collapsed;
        }
Esempio n. 4
0
        public async void LoadInviteList()
        {
            IsLoading = true;
            var sessionInviteManager = new SessionInviteManager();
            var inviteEntity         = await sessionInviteManager.GetSessionInvites(Offset, UserAccountEntity);

            if (inviteEntity == null)
            {
                HasMoreItems = false;
                return;
            }
            foreach (var invite in inviteEntity.Invitations)
            {
                InviteCollection.Add(invite);
            }
            if (inviteEntity.Invitations.Any())
            {
                HasMoreItems = true;
                Offset      += 32;
            }
            else
            {
                HasMoreItems = false;
            }
            IsLoading = false;
        }
Esempio n. 5
0
        protected override async void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            LoadingProgressBar.Visibility = Visibility.Visible;
            if (App.SelectedInvitation != null)
            {
                SessionStateGrid.DataContext = App.SelectedInvitation;
                var userManager = new UserManager();
                _user = await userManager.GetUser(App.SelectedInvitation.FromUser.OnlineId, App.UserAccountEntity);

                UserInformationGrid.DataContext = _user;
            }
            else
            {
                MessageBox.Show(AppResources.GenericError);
                var rootFrame = Application.Current.RootVisual as PhoneApplicationFrame;
                if (rootFrame != null)
                {
                    rootFrame.GoBack();
                }
            }
            string parameterValue       = NavigationContext.QueryString["inviteId"];
            var    sessionInviteManager = new SessionInviteManager();
            var    sessionInvite        = await sessionInviteManager.GetInviteInformation(parameterValue, App.UserAccountEntity);

            if (sessionInvite == null)
            {
                MessageBox.Show(AppResources.GenericError);
                var rootFrame = Application.Current.RootVisual as PhoneApplicationFrame;
                if (rootFrame != null)
                {
                    rootFrame.GoBack();
                }
            }
            if (sessionInvite != null)
            {
                UserMessageBlock.Text = sessionInvite.Message;
                InviteInformationViewer.DataContext = sessionInvite.session;
                if (sessionInvite.Expired)
                {
                    InviteExpiredTextBlock.Visibility = Visibility.Visible;
                }
                else
                {
                    InviteInformationViewer.Visibility = Visibility.Visible;
                    if (sessionInvite.session != null)
                    {
                        foreach (var member in sessionInvite.session.Members)
                        {
                            var test = await UserManager.GetUserAvatar(member.OnlineId, App.UserAccountEntity);

                            member.AvatarUrl = test.AvatarUrl;
                        }
                        PlayersListSelector.ItemsSource = sessionInvite.session.Members;
                    }
                }
            }
            SendMessageToUserButton.IsEnabled = true;
            LoadingProgressBar.Visibility     = Visibility.Collapsed;
        }