Esempio n. 1
0
 private async void ForgotPassword()
 {
     MainViewModel.GetInstance().ForgotPassword = new ForgotPasswordViewModel();
     await Application.Current.MainPage.Navigation.PushAsync(new ForgotPasswordPage());
 }
Esempio n. 2
0
 private async void Register()
 {
     MainViewModel.GetInstance().Register = new RegisterViewModel();
     await Application.Current.MainPage.Navigation.PushAsync(new RegisterPage());
 }
        private async void ChangePassword()
        {
            if (string.IsNullOrEmpty(this.CurrentPassword))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.PasswordValidation,
                    Languages.Accept);

                return;
            }

            if (this.CurrentPassword.Length < 6)
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.PasswordValidation2,
                    Languages.Accept);

                return;
            }


            if (string.IsNullOrEmpty(this.NewPassword))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.PasswordValidation,
                    Languages.Accept);

                return;
            }

            if (this.NewPassword.Length > 6)
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.PasswordValidation2,
                    Languages.Accept);

                return;
            }

            if (string.IsNullOrEmpty(this.Confirm))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.ConfirmValidation,
                    Languages.Accept);

                return;
            }

            if (this.NewPassword != this.Confirm)
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.ConfirmValidation2,
                    Languages.Accept);

                return;
            }

            this.IsRunning = true;
            this.IsEnabled = false;

            var connection = await this.apiService.CheckConnection();

            if (!connection.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    connection.Message,
                    Languages.Accept);

                return;
            }

            var request = new ChangePasswordRequest
            {
                CurrentPassword = this.CurrentPassword,
                Email           = null,
                NewPassword     = this.NewPassword,
            };

            var apiSecurity = Application.Current.Resources["APISecurity"].ToString();
            var response    = await this.apiService.ChangePassword(
                apiSecurity,
                "/api/account",
                "/resetpassword/",
                this.NewPassword + "?code=" + this.CurrentPassword);

            if (!response.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    response.Message,
                    Languages.Accept);

                return;
            }

            //  MainViewModel.GetInstance().User.Password = this.NewPassword;
            // this.dataService.Update(MainViewModel.GetInstance().User);

            this.IsRunning = false;
            this.IsEnabled = true;

            await Application.Current.MainPage.DisplayAlert(
                Languages.ConfirmLabel,
                "Password have been changed",
                Languages.Accept);

            MainViewModel.GetInstance().Login = new LoginViewModel();
            await Application.Current.MainPage.Navigation.PushAsync(new LoginPage());
        }
        public PlaylistViewModel(PlaylistItem playlistItem)
        {
            Instance  = this;
            _comparer = new SongComparer();
            _playlist = playlistItem.Playlist;
            Id        = _playlist.Id;

            Title = playlistItem.Playlist.Title;

            Task.Run(async() =>
            {
                SongsLoading = true;
                OnPropertyChanged(nameof(SongsLoading));

                Album           = await DependencyService.Get <IPlaylistManager>().GetSongsByAlbum();
                JukeBoxPlaylist = await DependencyService.Get <IPlaylistManager>().GetPlaylists();
                Songs           = await DependencyService.Get <IPlaylistManager>().GetAllSongs();

                await DependencyService.Get <IMusicManager>().SetQueue(Songs);

                SongsLoading = false;
                OnPropertyChanged(nameof(SongsLoading));
                //if (playlistItem.Playlist !=null && _playlist.Id > 0)
                //{

                //  Songs = await DependencyService.Get<IPlaylistManager>().GetPlaylistSongs(playlistItem.Playlist.Id);
                //    await DependencyService.Get<IMusicManager>().SetQueue(Songs);
                //}

                SongsLoading = false;
                OnPropertyChanged(nameof(SongsLoading));
            });
            PlaylistSongCommand = new Command((item) =>
            {
                var jukeBoxPlaylist = item as JukeBoxPlaylist;
                if (jukeBoxPlaylist != null)
                {
                    var playlistViewModel = MainViewModel.GetInstance().PlaylistViewModel;

                    playlistViewModel.PlaylistSongs = jukeBoxPlaylist.PlaylistSongs;
                    (App.Current.MainPage as MasterDetailPage).Detail.Navigation.PushAsync(new PlaylistsSongPage(jukeBoxPlaylist));
                    //  await Application.Current.MainPage.Navigation.PushAsync(new SonglistPage(albumItem));
                }
            });
            AddSong = new Command(() =>
            {
                Task.Run(async() =>
                {
                    //DependencyService.Get<IPlaylistManager>().AddToPlaylist(
                    //   Playlist,
                    //   MusicStateViewModel.Instance.SelectedSong);
                    //  playlist.Songs = await DependencyService.Get<IPlaylistManager>().GetPlaylistSongs(
                    //   playlist.Id);
                    //  await  (App.Current.MainPage as MasterDetailPage).Detail.Navigation.PopPopupAsync(true);
                });
            });
            PlayCommand = new Command((item) =>
            {
                var songItem = item as Song;
                var song     = Songs.Where(x => x.Id == songItem.Id).FirstOrDefault();
                if (song == null)
                {
                    Songs.Add(songItem);
                }
                var index = Songs.IndexOf(song);
                this.MusicState.QueuePos = index;

                DependencyService.Get <IMusicManager>().StartQueue(new ObservableCollection <Song>(Songs), index);
            });

            AlbumQueueCommand = new Command((item) =>
            {
                if (this.Songs != null)
                {
                    DependencyService.Get <IMusicManager>().StartQueue(new ObservableCollection <Song>(Songs), 0);
                }
            });

            AlbumSongCommand = new Command((item) =>
            {
                var albumItem = item as Albumlist;
                if (albumItem != null)
                {
                    var playlistViewModel        = MainViewModel.GetInstance().PlaylistViewModel;
                    playlistViewModel.AlbumSongs = albumItem.AlbumsSongs;
                    ShowArtwork = false;
                    (App.Current.MainPage as MasterDetailPage).Detail.Navigation.PushAsync(new SonglistPage(albumItem));
                    //  await Application.Current.MainPage.Navigation.PushAsync(new SonglistPage(albumItem));
                }
            });

            ShuffleCommand = new Command(() => DependencyService.Get <IMusicManager>().Shuffle());
            if (Songs != null)
            {
                HasSongs = true;
            }
            else
            {
                HasSongs = false;
            }
        }
        private async void ForgotPassword()
        {
            if (string.IsNullOrEmpty(this.Email))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.EmailValidation,
                    Languages.Accept);

                return;
            }

            if (!RegexUtilities.IsValidEmail(this.Email))
            {
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    Languages.EmailValidation2,
                    Languages.Accept);

                return;
            }

            this.IsRunning = true;
            this.IsEnabled = false;

            var connection = await this.apiService.CheckConnection();

            if (!connection.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    connection.Message,
                    Languages.Accept);

                return;
            }

            var request = new ChangePasswordRequest
            {
                CurrentPassword = null,
                Email           = this.Email,
                NewPassword     = null,
            };

            var apiSecurity = Application.Current.Resources["APISecurity"].ToString();
            var response    = await this.apiService.ForgotPassword(
                apiSecurity,
                "/api/account",
                "/forgotpassword",
                request.Email);

            if (!response.IsSuccess)
            {
                this.IsRunning = false;
                this.IsEnabled = true;
                await Application.Current.MainPage.DisplayAlert(
                    Languages.Error,
                    response.Message,
                    Languages.Accept);

                return;
            }

            //  MainViewModel.GetInstance().User.Password = this.NewPassword;
            //   this.dataService.Update(MainViewModel.GetInstance().User);

            this.IsRunning = false;
            this.IsEnabled = true;
            MainViewModel.GetInstance().ChangePassword = new ChangePasswordViewModel();
            await Application.Current.MainPage.Navigation.PushAsync(new ChangePasswordPage());
        }