Example #1
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            var newFile = "";

            if (rootPage.FileEvent != null)
            {
                foreach (var storageItem in rootPage.FileEvent.Files)
                {
                    var    file         = (StorageFile)storageItem;
                    string originalFile = file.Name;
                    newFile  = originalFile.Substring(0, originalFile.Length - 4);
                    newFile += "zip";
                    await Io.DeleteFileInFolder(sFolder, newFile);

                    try
                    {
                        await file.CopyAsync(sFolder, newFile);
                    }
                    // ReSharper disable once EmptyGeneralCatchClause
                    catch (Exception)
                    {
                    }
                }
            }
            var folderName = newFile.Substring(0, newFile.Length - 4);
            await Io.CreateOrGetFolder(folderName);

            await UnZipTheFile(newFile, folderName);

            await Io.DeleteFileInFolder(sFolder, newFile);

            var importError = "";

            try
            {
                AddBookToLibrary(folderName);
            }
            catch (Exception)
            {
                importError = "Failed to add book to Library";
            }
            if (importError != "")
            {
                var messageDialog = new MessageDialog(importError);
                messageDialog.Commands.Add(new UICommand("Okay"));
                messageDialog.DefaultCommandIndex = 0;
                messageDialog.CancelCommandIndex  = 0;
                await messageDialog.ShowAsync();

                Frame.Navigate(typeof(MainPage));
            }
            Frame.Navigate(typeof(MainPage));
        }