Example #1
0
        public void LoadBookmarks(string path)
        {
            if (File.Exists(path))
            {
                var bookmarksFile = File.ReadAllBytes(path);

                using (var stream = new MemoryStream(bookmarksFile))
                {
                    if (stream.Length > 0)
                    {
                        var serializer = new DataContractJsonSerializer(typeof(Bookmark[]));

                        Bookmarks.AddRange((Bookmark[])serializer.ReadObject(stream));
                    }
                }
            }
            else
            {
                string pathDirectory = Path.GetDirectoryName(path);

                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(pathDirectory);
                }

                File.WriteAllText(path, string.Empty);
            }

            LoadedPath = path;
        }
Example #2
0
 private void OnPersistentDataChanged()
 {
     // add view models for bookmarks and items
     // PersistentData.StashBookmarks and PersistentData.StashItems may only be changed through the stash after this
     BeginUpdate();
     Bookmarks.AddRange(PersistentData.StashBookmarks.Select(b => new StashBookmarkViewModel(b)));
     Bookmarks.CollectionChanged += (sender, args) => RowsChanged();
     foreach (var stashItem in PersistentData.StashItems)
     {
         var item = new StashItemViewModel(_dialogCoordinator, PersistentData.EquipmentData, stashItem);
         item.PropertyChanging += ItemOnPropertyChanging;
         item.PropertyChanged  += ItemOnPropertyChanged;
         Items.Add(item);
     }
     Items.CollectionChanged += ItemsOnCollectionChanged;
     EndUpdate();
 }
        public void Initialize(IExtendedDialogCoordinator dialogCoordinator, IPersistentData persistentData)
        {
            _dialogCoordinator = dialogCoordinator;
            _persistentData    = persistentData;

            // add view models for bookmarks and items
            // PersistentData.StashBookmarks and PersistentData.StashItems may only be changed through the stash after this
            BeginUpdate();
            Bookmarks.AddRange(persistentData.StashBookmarks.Select(b => new StashBookmarkViewModel(b)));
            Bookmarks.CollectionChanged += (sender, args) => RowsChanged();
            foreach (var stashItem in persistentData.StashItems)
            {
                var item = new StashItemViewModel(stashItem);
                item.PropertyChanging += ItemOnPropertyChanging;
                item.PropertyChanged  += ItemOnPropertyChanged;
                Items.Add(item);
            }
            Items.CollectionChanged += ItemsOnCollectionChanged;
            EndUpdate();
        }
Example #4
0
        async Task ExecuteRefreshCommandAsync()
        {
            var result = await StoreManager.BookmarksService.GetBookmarksAsync(pageIndex, pageSize);

            if (result.Success)
            {
                var articles = JsonConvert.DeserializeObject <List <Bookmarks> >(result.Message.ToString());
                if (articles.Count > 0)
                {
                    if (pageIndex == 1 && Bookmarks.Count > 0)
                    {
                        Bookmarks.Clear();
                    }
                    Bookmarks.AddRange(articles);
                    pageIndex++;
                    if (Bookmarks.Count >= pageSize)
                    {
                        LoadStatus  = LoadMoreStatus.StausDefault;
                        CanLoadMore = true;
                    }
                    else
                    {
                        LoadStatus  = LoadMoreStatus.StausEnd;
                        CanLoadMore = false;
                    }
                }
                else
                {
                    CanLoadMore = false;
                    LoadStatus  = pageIndex > 1 ? LoadMoreStatus.StausEnd : LoadMoreStatus.StausNodata;
                }
            }
            else
            {
                Crashes.TrackError(new Exception()
                {
                    Source = result.Message
                });
                LoadStatus = pageIndex > 1 ? LoadMoreStatus.StausEnd : LoadMoreStatus.StausNodata;
            }
        }
Example #5
0
 public void AddBookmark(List <ClientBookmarkDto> dtoList)
 {
     Bookmarks.AddRange(dtoList);
     NotifyDataSetChanged();
 }
Example #6
0
 private static Bookmarks LoadFF2Bookmarks(File file) {
     var bookmarks = new Bookmarks();
     var matches = Regex.Matches(file.Contents());
     foreach (Match match in matches) bookmarks.AddRange(LaunchableForBookmark(match));
     return bookmarks;
 }