示例#1
0
        public async Task CreatePlaylist(object sender, EventArgs e)
        {
#if __IOS__
            if (playListNameEntry.Text != null)
            {
                playlist             = new PlayList();
                playlist.Name        = playListNameEntry.Text;
                playlist.Description = playListDescriptionEditor.Text;
                account = _baseViewModel.GetAccountInformation();
                user    = await _baseViewModel.FindUserByIdAsync(FINDUSER, account.Properties["Id"]);

                await _playlistCreatePageViewModel.CreatePlaylist(playlist, user.Id);

                if (_playlistCreatePageViewModel.Successful)
                {
                    await Navigation.PopModalAsync();
                }
                else
                {
                    await DisplayAlert("Playlist Not Added", playlist.Name + " has not been added. Check your network connectivity!", "Ok");
                }
            }
            else
            {
                await DisplayAlert("Error", "Name cannot be empty, fill it in!", "Ok");

                playListNameEntry.Focus();
            }
#endif
#if __ANDROID__
            if (!string.IsNullOrWhiteSpace(androidPlaylistNameEntry.Text))
            {
                playlist             = new PlayList();
                playlist.Name        = androidPlaylistNameEntry.Text;
                playlist.Description = androidPlaylistDescriptionEntry.Text;
                account = _baseViewModel.GetAccountInformation();
                user    = await _baseViewModel.FindUserByIdAsync(FINDUSER, account.Properties["Id"]);

                await _playlistCreatePageViewModel.CreatePlaylist(playlist, user.Id);

                if (_playlistCreatePageViewModel.Successful)
                {
                    await Navigation.PopModalAsync();
                }
                else
                {
                    await DisplayAlert("Playlist Not Added", playlist.Name + " has not been added. Check your network connectivity!", "Ok");
                }
            }
            else
            {
                await DisplayAlert("Error", "Name cannot be empty, fill it in!", "Ok");

                androidPlaylistNameEntry.RequestFocus();
            }
#endif
        }
        public async void SetContent()
        {
            account = _baseViewModel.GetAccountInformation();

            //add activity indicator while contents load
            if (hasAccount)
            {
                innerGrid.Children.Clear();
                activityIndicator.IsRunning = true;
                innerGrid.Children.Add(activityIndicator, 0, 0);
                Grid.SetRowSpan(activityIndicator, 6);
                Grid.SetColumnSpan(activityIndicator, 3);

                if (_baseViewModel.User == null)
                {
                    try
                    {
                        user = await _baseViewModel.FindUserByIdAsync(Constants.FINDUSER, account.Properties["Id"]);
                    }
                    catch (KeyNotFoundException ex)
                    {
                        Console.WriteLine(ex.StackTrace);
                        await DisplayAlert("Unknown Error", "There has been an unknown error, please sign in again.", "Ok");

                        LogOut();
                    }
                }
                if (_baseViewModel.Successful)
                {
                    activityIndicator.IsRunning = false;
#if __IOS__
                    nameTextLbl.Text  = user.Name;
                    emailTextLbl.Text = user.Email;
                    beltTextLbl.Text  = user.Belt;

                    userCredentialStack.Children.Add(nameLbl);
                    userCredentialStack.Children.Add(nameTextLbl);
                    userCredentialStack.Children.Add(beltLbl);
                    userCredentialStack.Children.Add(beltTextLbl);
                    userCredentialStack.Children.Add(emailLbl);
                    userCredentialStack.Children.Add(emailTextLbl);

                    //Building Grid
                    innerGrid.Children.Clear();
                    innerGrid.Children.Add(userCredentialStack, 0, 0);
                    Grid.SetRowSpan(userCredentialStack, 3);
                    innerGrid.Children.Add(packageBtn, 0, 3);
                    innerGrid.Children.Add(contactUsBtn, 0, 4);
                    innerGrid.Children.Add(settingsBtn, 0, 5);
                    innerGrid.Children.Add(logOutBtn, 0, 6);
#endif
#if __ANDROID__
                    androidNameLbl.Text  = $"{androidNameLbl.Text} {user.Name}";
                    androidEmailLbl.Text = $"{androidEmailLbl.Text} {user.Email}";
                    androidBeltLbl.Text  = $"{androidBeltLbl.Text} {user.Belt}";
                    userCredentialStack.Children.Add(contentViewNameLbl);
                    userCredentialStack.Children.Add(contentViewEmailLbl);
                    userCredentialStack.Children.Add(contentViewBeltLbl);

                    //Building Grid
                    innerGrid.Children.Clear();
                    //innerGrid.Children.Add(userCredentialStack, 0, 0);
                    innerGrid.Children.Add(contentViewNameLbl, 0, 0);
                    innerGrid.Children.Add(contentViewEmailLbl, 0, 1);
                    innerGrid.Children.Add(contentViewBeltLbl, 0, 2);
                    //Grid.SetRowSpan(userCredentialStack, 3);
                    innerGrid.Children.Add(androidPackageBtn.ToView(), 0, 3);
                    innerGrid.Children.Add(androidContactUsBtn.ToView(), 0, 4);
                    innerGrid.Children.Add(androidSettingsBtn.ToView(), 0, 5);
                    innerGrid.Children.Add(androidLogOutBtn.ToView(), 0, 6);
#endif
                }
                else
                {
                    LogOut();
                }
            }
            else
            {
#if __ANDROID__
                //Building Grid
                innerGrid.Children.Clear();
                innerGrid.Children.Add(androidPackageBtn.ToView(), 0, 1);
                innerGrid.Children.Add(androidContactUsBtn.ToView(), 0, 3);
                innerGrid.Children.Add(androidLoginBtn.ToView(), 0, 4);
                innerGrid.Children.Add(androidCreateAccountBtn.ToView(), 0, 5);
#endif
#if __IOS__
                innerGrid.Children.Clear();
                innerGrid.Children.Add(packageBtn, 0, 1);
                innerGrid.Children.Add(contactUsBtn, 0, 3);
                innerGrid.Children.Add(loginBtn, 0, 4);
                innerGrid.Children.Add(createAccountBtn, 0, 5);
#endif
            }
        }