예제 #1
0
        public async void OfflineAddToJSON(string rand)
        {
            StorageFile sampleFile = await localFolder.GetFileAsync("OfflinePages.json");

            var JSONData = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

            OfflineClass OfflineListJSON = JsonConvert.DeserializeObject <OfflineClass>(JSONData);
            Uri          ArgsUri         = new Uri(WebWeb.Source.ToString());
            string       host            = ArgsUri.Host;
            string       x;

            x = await WebWeb.InvokeScriptAsync("eval", new string[] { "document.title;" });

            OfflineListJSON.OfflineWebsites.Add(new OfflineJSON()
            {
                FavIconJSON  = " https://icons.duckduckgo.com/ip2/" + host + ".ico",
                ImageUrlJSON = rand + ".jpg",
                HeaderJSON   = x
            });;
            var SerializedObject = JsonConvert.SerializeObject(OfflineListJSON, Formatting.Indented);
            await Windows.Storage.FileIO.WriteTextAsync(sampleFile, SerializedObject);

            var JSONDatas = await FileIO.ReadTextAsync(sampleFile);

            LoadOffline();
        }
예제 #2
0
        public async void LoadOffline()
        {
            StorageFile sampleFile = await localFolder.GetFileAsync("OfflinePages.json");

            var JSONData = await FileIO.ReadTextAsync(sampleFile);

            OfflineClass OfflineListJSON = JsonConvert.DeserializeObject <OfflineClass>(JSONData);

            OfflineList.Clear();
            foreach (var item in OfflineListJSON.OfflineWebsites)
            {
                OfflineList.Add(new OfflineJSON()
                {
                    HeaderJSON   = item.HeaderJSON,
                    ImageUrlJSON = item.ImageUrlJSON,
                    FavIconJSON  = item.FavIconJSON,
                });
            }
            Offlines.ItemsSource = null;
            UnloadObject(Offlines);
            FindName("Offlines");
            Offlines.ItemsSource          = OfflineList;
            HomePage.HomeGrid.ItemsSource = null;
            HomePage.HomeGrid.ItemsSource = OfflineList;
        }
예제 #3
0
        private async void LoadOfflines()
        {
            OfflineList = new List <OfflineJSON>();
            string        filepath = @"Assets\OfflinePages.json";
            StorageFolder folder   = Windows.ApplicationModel.Package.Current.InstalledLocation;
            StorageFile   file     = await folder.GetFileAsync(filepath); // error here

            var JSONData = "e";

            try
            {
                if ((bool)localSettings.Values["FirstFavRun"] == true)
                {
                    localSettings.Values["FirstFavRun"] = false;
                    StorageFile sfile = await localFolder.CreateFileAsync("OfflinePages.json", CreationCollisionOption.ReplaceExisting);

                    await FileIO.WriteTextAsync(sfile, JSONData);

                    JSONData = await Windows.Storage.FileIO.ReadTextAsync(file);
                }
                else
                {
                    localSettings.Values["FirstFavRun"] = false;
                    StorageFile ssfile = await localFolder.GetFileAsync("OfflinePages.json");

                    JSONData = await FileIO.ReadTextAsync(ssfile);
                }
            }
            catch
            {
                localSettings.Values["FirstFavRun"] = false;
                StorageFile sssfile = await localFolder.CreateFileAsync("OfflinePages.json", CreationCollisionOption.ReplaceExisting);

                await FileIO.WriteTextAsync(sssfile, JSONData);

                JSONData = await Windows.Storage.FileIO.ReadTextAsync(file);
            }
            localSettings.Values["FirstFavRun"] = false;
            StorageFile sampleFile = await localFolder.CreateFileAsync("OfflinePages.json", CreationCollisionOption.ReplaceExisting);

            await FileIO.WriteTextAsync(sampleFile, JSONData);

            OfflineClass OfflineListJSON = JsonConvert.DeserializeObject <OfflineClass>(JSONData);

            foreach (var item in OfflineListJSON.OfflineWebsites)
            {
                OfflineList.Add(new OfflineJSON()
                {
                    HeaderJSON   = item.HeaderJSON,
                    ImageUrlJSON = item.ImageUrlJSON,
                    FavIconJSON  = item.FavIconJSON,
                });
            }
            Offlines.ItemsSource = OfflineList;
        }
예제 #4
0
        private async void DeleteOffline(object sender, RoutedEventArgs e)
        {
            StorageFile sampleFile = await localFolder.GetFileAsync("OfflinePages.json");

            var         SenderFramework = (FrameworkElement)sender;
            var         DataContext     = SenderFramework.DataContext;
            OfflineJSON SenderPost      = DataContext as OfflineJSON;
            //  List<Favourites> OpenList = Offlines.ItemsSource as List<Favourites>;
            //  OpenList.Remove(SenderPost);
            var JSONData = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

            OfflineClass OfflineListJSON = JsonConvert.DeserializeObject <OfflineClass>(JSONData);
            //i had a better way to do it before but accidently permanently deleted it and cant remember how. This method is shorter and simpler
            OfflineJSON FoundItem = OfflineListJSON.OfflineWebsites.Find(x => x.ImageUrlJSON == SenderPost.ImageUrlJSON);

            OfflineListJSON.OfflineWebsites.Remove(FoundItem);
            var SerializedObject = JsonConvert.SerializeObject(OfflineListJSON, Formatting.Indented);
            await Windows.Storage.FileIO.WriteTextAsync(sampleFile, SerializedObject);

            var JSONDatas = await FileIO.ReadTextAsync(sampleFile);

            LoadOffline();
        }