예제 #1
0
        private static async Task <PhotoPageArguements> GetPhotoPageArguements(StorageFile imageFile, bool isNewDocument = true)
        {
            var photoData = await PhotoCapturedData.CreatePhotoCapturedDataAsync(imageFile, ImageService.CategoryName);

            photoData.IsFromCamera = true;

            Page page = null;

            if (isNewDocument)
            {
                var createdDocument = await Document.CreateDocumentAsync(photoData);

                await SerializationProvider.Instance.AddDocument(createdDocument);

                page = createdDocument.Pages[0];
            }
            else
            {
                page = await Page.CreatePageAsync(photoData);
            }

            await LocalStorageHelper.CreatePageFiles(imageFile, page.ID);

            var photoPageArguements = new PhotoPageArguements()
            {
                PageToProcces = page,
                IsNew         = true,
            };

            return(photoPageArguements);
        }
예제 #2
0
        public async static Task <PhotoPageArguements> GetImageFromImport(bool isNewDocument = true)
        {
            var picker = new FileOpenPicker();

            picker.ViewMode = PickerViewMode.Thumbnail;

            picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;

            picker.FileTypeFilter.Add(".jpg");

            var file = await picker.PickSingleFileAsync();

            PhotoPageArguements arguments = null;

            if (file != null)
            {
                var temporaryFolder = ApplicationData.Current.TemporaryFolder;

                await file.CopyAsync(temporaryFolder,
                                     file.Name, NameCollisionOption.ReplaceExisting);

                file = await temporaryFolder.TryGetFileAsync(file.Name);

                if (file != null)
                {
                    arguments = await ImageService.GetPhotoPageArguements(file, isNewDocument);
                }
            }

            return(arguments);
        }
예제 #3
0
        public async static Task <PhotoPageArguements> DoPhotoFromCamera(bool isNewDocument = true)
        {
            var capturedImage = await CameraProvider.Instance.GetPhotoFromCamera();

            PhotoPageArguements arguments = null;

            if (capturedImage != null)
            {
                arguments = await ImageService.GetPhotoPageArguements(capturedImage, isNewDocument);
            }

            return(arguments);
        }
예제 #4
0
        private void Rescan()
        {
            var localFolder = ApplicationData.Current.LocalFolder;

            this.SelectedPage.FilePath = this.SelectedPage.BackUpFilePath;

            var photoPageArguements = new PhotoPageArguements()
            {
                PageToProcces = this.SelectedPage,
                IsNew         = false,
            };

            this.NavigationContext.NavigationService.NavigateTo("PhotoView", photoPageArguements);
        }