Beispiel #1
0
        private void Image_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            FrameworkElement frameworkElement = sender as FrameworkElement;
            AlbumHeader      albumHeader      = (frameworkElement != null ? frameworkElement.DataContext : null) as AlbumHeader;

            if (albumHeader == null)
            {
                return;
            }
            if (!this._selectForMove)
            {
                INavigator current       = Navigator.Current;
                long       userOrGroupId = this.PhotoMainVM.UserOrGroupId;
                int        num1          = this.PhotoMainVM.IsGroup ? 1 : 0;
                string     type          = albumHeader.AlbumType.ToString();
                string     albumId       = albumHeader.AlbumId;
                string     albumName     = albumHeader.AlbumName;
                int        photosCount   = albumHeader.PhotosCount;
                string     title         = this.PhotoMainVM.Title;
                string     description   = albumHeader.Album == null ? "" : albumHeader.Album.description ?? "";
                int        num2          = this.CommonParameters.PickMode ? 1 : 0;
                int        adminLevel    = this._adminLevel;
                Album      album         = albumHeader.Album;
                int        num3          = album != null ? (album.can_upload == 1 ? 1 : 0) : 0;
                current.NavigateToPhotoAlbum(userOrGroupId, num1 != 0, type, albumId, albumName, photosCount, title, description, num2 != 0, adminLevel, num3 != 0);
            }
            else
            {
                PhotosToMoveInfo photosToMoveInfo = new PhotosToMoveInfo();
                photosToMoveInfo.albumId   = albumHeader.AlbumId;
                photosToMoveInfo.albumName = albumHeader.AlbumName;
                photosToMoveInfo.photos    = this._selectedPhotos;
                PhotoAlbumViewModel.PhotoAlbumViewModelInput albumViewModelInput = new PhotoAlbumViewModel.PhotoAlbumViewModelInput();
                albumViewModelInput.AlbumDescription = albumHeader.Album == null ? "" : albumHeader.Album.description ?? "";
                albumViewModelInput.AlbumId          = albumHeader.AlbumId;
                albumViewModelInput.AlbumName        = albumHeader.AlbumName;
                albumViewModelInput.AlbumType        = albumHeader.AlbumType;
                int num = this.PhotoMainVM.IsGroup ? 1 : 0;
                albumViewModelInput.IsGroup = num != 0;
                string photoPageTitle2 = this.PhotoMainVM.PhotoPageTitle2;
                albumViewModelInput.PageTitle = photoPageTitle2;
                int photosCount = albumHeader.PhotosCount;
                albumViewModelInput.PhotosCount = photosCount;
                long userOrGroupId = this.PhotoMainVM.UserOrGroupId;
                albumViewModelInput.UserOrGroupId     = userOrGroupId;
                photosToMoveInfo.TargetAlbumInputData = albumViewModelInput;
                ParametersRepository.SetParameterForId("PhotosToMove", photosToMoveInfo);
                ((Page)this).NavigationService.GoBackSafe();
            }
        }
Beispiel #2
0
        protected override void HandleOnNavigatedTo(NavigationEventArgs e)
        {
            base.HandleOnNavigatedTo(e);
            PhotosToMoveInfo photosToMove         = ParametersRepository.GetParameterForIdAndReset("PhotosToMove") as PhotosToMoveInfo;
            bool             needRefreshAfterMove = false;

            if (!this._isInitialized)
            {
                PhotoAlbumViewModel.PhotoAlbumViewModelInput inputData = new PhotoAlbumViewModel.PhotoAlbumViewModelInput();
                inputData.AlbumId       = base.NavigationContext.QueryString["albumId"];
                inputData.UserOrGroupId = (long)int.Parse(base.NavigationContext.QueryString["userOrGroupId"]);
                inputData.IsGroup       = bool.Parse(base.NavigationContext.QueryString["isGroup"]);
                if (base.NavigationContext.QueryString.ContainsKey("albumName"))
                {
                    inputData.AlbumName        = base.NavigationContext.QueryString["albumName"];
                    inputData.AlbumType        = (AlbumType)Enum.Parse(typeof(AlbumType), base.NavigationContext.QueryString["albumType"], true);
                    inputData.PageTitle        = base.NavigationContext.QueryString["pageTitle"];
                    inputData.AlbumDescription = base.NavigationContext.QueryString["albumDesc"];
                    inputData.PhotosCount      = int.Parse(base.NavigationContext.QueryString["photosCount"]);
                    this._pickMode             = bool.Parse(base.NavigationContext.QueryString["PickMode"]);
                    inputData.AdminLevel       = int.Parse(base.NavigationContext.QueryString["AdminLevel"]);
                    inputData.ForceCanUpload   = bool.Parse(base.NavigationContext.QueryString["ForceCanUpload"]);
                }
                PhotoAlbumViewModel photoAlbumViewModel = new PhotoAlbumViewModel(inputData);
                photoAlbumViewModel.PropertyChanged += (PropertyChangedEventHandler)((sender, args) =>
                {
                    bool flag = this.PhotoAlbumVM.PhotosCount > 0;
                    if (this._appBarIconButtonEdit.IsEnabled == flag)
                    {
                        return;
                    }
                    this._appBarIconButtonEdit.IsEnabled = (flag);
                });
                this.UpdateHeaderOpacity();
                base.DataContext = (photoAlbumViewModel);
                if (photosToMove == null)
                {
                    photoAlbumViewModel.RefreshPhotos();
                }
                else
                {
                    needRefreshAfterMove = true;
                }
                this.UpdateAppBar();
                this._inputData     = inputData;
                this._isInitialized = true;
            }
            if (photosToMove != null)
            {
                this.PhotoAlbumVM.MovePhotos(photosToMove.albumId, photosToMove.photos, (Action <bool>)(result => Execute.ExecuteOnUIThread((Action)(() =>
                {
                    if (needRefreshAfterMove)
                    {
                        this.PhotoAlbumVM.RefreshPhotos();
                    }
                    if (this.PhotoAlbumVM.PhotosCount == 0)
                    {
                        this.IsInEditMode = false;
                    }
                    if (!result)
                    {
                        ExtendedMessageBox.ShowSafe(CommonResources.GenericErrorText);
                    }
                    else if (MessageBox.Show(UIStringFormatterHelper.FormatNumberOfSomething(photosToMove.photos.Count, PhotoResources.PhotoAlbumPageOnePhotoMovedFrm, PhotoResources.PhotoAlbumPageTwoFourPhotosMovedFrm, PhotoResources.PhotoAlbumPageFivePhotosMovedFrm, true, photosToMove.albumName, false), PhotoResources.PhotoAlbumPage_PhotoMove, (MessageBoxButton)1) == MessageBoxResult.OK)
                    {
                        Navigator.Current.NavigateToPhotoAlbum(photosToMove.TargetAlbumInputData.UserOrGroupId, photosToMove.TargetAlbumInputData.IsGroup, photosToMove.TargetAlbumInputData.AlbumType.ToString(), photosToMove.TargetAlbumInputData.AlbumId, photosToMove.TargetAlbumInputData.AlbumName, photosToMove.TargetAlbumInputData.PhotosCount + photosToMove.photos.Count, photosToMove.TargetAlbumInputData.PageTitle, photosToMove.TargetAlbumInputData.AlbumDescription, false, 0, false);
                    }
                    this.PhotoAlbumVM.UpdateThumbAfterPhotosMoving();
                }))));
            }
            if (this._choosenPhotoPending != null)
            {
                this.PhotoAlbumVM.UploadPhoto(this._choosenPhotoPending, (Action <BackendResult <Photo, ResultCode> >)(res => {}));
                this._choosenPhotoPending = null;
            }
            this.HandleInputParameters();
        }