Esempio n. 1
0
        public void Execute(object parameter)
        {
            var     episodeWithState = parameter as EpisodeWithState;
            Episode episode          = episodeWithState?.Episode;

            if (episode == null)
            {
                episode = parameter as Episode;
            }

            if (episode == null)
            {
                return;
            }

            using (var db = new LocalStorageContext())
            {
                foreach (Favorite favEntity in db.Favorites)
                {
                    if (favEntity.EpisodeId == episode.Id)
                    {
                        db.Favorites.Remove(favEntity);
                        break;
                    }
                }

                db.SaveChanges();
            }
        }
Esempio n. 2
0
        private void SwipeDelete_Invoked(SwipeItem sender, SwipeItemInvokedEventArgs args)
        {
            dynamic output = args.SwipeControl.DataContext;

            System.Guid inkId = output.InkId;

            switch (output.Type)
            {
            case "Ink":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Remove(db.Memes.Find(inkId));
                    db.SaveChanges();

                    ReLoadNotes();
                }

                break;

            case "Bookmark":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Remove(db.Memes.Find(inkId));
                    db.SaveChanges();

                    ReLoadNotes();
                }

                break;
            }
        }
 public static async Task UpdateDownloadedFromCache()
 {
     using (LocalStorageContext c = new LocalStorageContext())
     {
         await c.SaveChangesAsync();
     }
 }
Esempio n. 4
0
        public void NavigateToItem(object clickedItem)
        {
            if (clickedItem is EpisodeWithState)
            {
                NavigateToEpisode((clickedItem as EpisodeWithState).Episode);
                return;
            }

            dynamic output = clickedItem;
            Guid    inkId  = output.InkId;

            switch (output.Type)
            {
            case "Ink":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Where(m => m.Id == inkId).FirstOrDefault();
                    NavigateToInkNote(ink);
                }

                break;

            case "Bookmark":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Where(m => m.Id == inkId).FirstOrDefault();
                    NavigateToPlayerWithInk(ink);
                }

                break;
            }
        }
Esempio n. 5
0
        public void Execute(object parameter)
        {
            var noteParameter = parameter as dynamic;

            if (noteParameter == null)
            {
                return;
            }

            System.Guid noteId = noteParameter?.InkId;

            switch (noteParameter.Type)
            {
            case "Ink":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Remove(db.Memes.Find(noteId));
                    db.SaveChanges();
                }

                break;

            case "Bookmark":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Remove(db.Memes.Find(noteId));
                    db.SaveChanges();
                }

                break;
            }
        }
Esempio n. 6
0
        private void AppBarButton_Click(object sender, RoutedEventArgs e)
        {
            dynamic output = (sender as AppBarButton).DataContext;

            System.Guid inkId = output.InkId;

            switch (output.Type)
            {
            case "Ink":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Remove(db.Memes.Find(inkId));
                    db.SaveChanges();

                    ReLoadNotes();
                }

                break;

            case "Bookmark":
                using (var db = new LocalStorageContext())
                {
                    var ink = db.Memes.Remove(db.Memes.Find(inkId));
                    db.SaveChanges();

                    ReLoadNotes();
                }

                break;
            }
        }
Esempio n. 7
0
 public void FavoriteCurrentEpisode()
 {
     using (var db = new LocalStorageContext())
     {
         db.Favorites.Add(new Favorite(CurrentEpisode));
         db.SaveChanges();
     }
 }
Esempio n. 8
0
 public static async Task UpdateDownloadedFromCache()
 {
     using (LocalStorageContext c = new LocalStorageContext())
     {
         var foundInDb = c.EpisodeCache.FirstOrDefault();
         foundInDb.IsDownloaded = true;
         await c.SaveChangesAsync();
     }
 }
Esempio n. 9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="App"/> class.
        /// executed, and as such is the logical equivalent of main() or WinMain().
        /// </summary>
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;

            LocalStorageContext.CheckMigrations();

            this.RequiresPointerMode = ApplicationRequiresPointerMode.WhenRequested;
        }
Esempio n. 10
0
        public LocalStorageServiceSqlCompact()
        {
            var prefs = IoC.Get<IAppPreferences>();

            Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0", prefs.DataStorePath, "");
            Database.SetInitializer(new LocalStorageContextInitializer());

            _context = new LocalStorageContext();
        }
Esempio n. 11
0
 private void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
 {
     if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
     {
         using (var context = new LocalStorageContext())
         {
             var results = context.EpisodeCache.Where(t => t.Title.ToLower().Contains(sender.Text.ToLower()));
             sender.ItemsSource = results.ToList();
         }
     }
 }
Esempio n. 12
0
        private void BuildInkNotesForEpisode(LocalStorageContext db)
        {
            var results = (from inks in db.Memes
                           join eps in db.EpisodeCache
                           on inks.EpisodeKey equals eps.Key
                           select new { InkId = inks.Id, Title = eps.Title, Time = TimeSpan.FromMilliseconds(inks.Time), Type = inks.HasInk ? "Ink" : "Bookmark", Episode = eps, NoteText = inks.NoteText }).AsEnumerable().LambdaDistinct((a, b) => a.InkId == b.InkId).OrderBy(ob => ob.Time);

            var projected = from c in results group c by c.Title;
            IEnumerable <IGrouping <string, dynamic> > ps = projected;

            Notes = ps;
        }
Esempio n. 13
0
        private async Task SaveInkNote()
        {
            if (_editingExisting)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    using (var memStream = ms.AsRandomAccessStream())
                    {
                        await inkingCanvas.InkPresenter.StrokeContainer.SaveAsync(memStream).AsTask().ConfigureAwait(false);
                    }

                    if (ms.TryGetBuffer(out ArraySegment <byte> foo))
                    {
                        _data.Ink = foo.Array;
                    }

                    using (var db = new LocalStorageContext())
                    {
                        db.MemeData.Update(_data);
                        await db.SaveChangesAsync();
                    }
                }
            }
            else
            {
                Player.InkNoteData.InkMeme = _inkNote.Id;
                _inkNote.HasInk            = true;
                using (MemoryStream ms = new MemoryStream())
                {
                    using (var memStream = ms.AsRandomAccessStream())
                    {
                        await inkingCanvas.InkPresenter.StrokeContainer.SaveAsync(memStream).AsTask().ConfigureAwait(false);
                    }

                    if (ms.TryGetBuffer(out ArraySegment <byte> foo))
                    {
                        Player.InkNoteData.Ink = foo.Array;
                    }

                    using (var db = new LocalStorageContext())
                    {
                        db.Memes.Add(_inkNote);
                        await db.SaveChangesAsync();

                        db.MemeData.Add(Player.InkNoteData);
                        await db.SaveChangesAsync();
                    }
                }

                Player.InkNoteData = null;
                ViewModel.GoBack();
            }
        }
Esempio n. 14
0
        private static async Task SetItemDownloaded(string filename)
        {
            using (var db = new LocalStorageContext())
            {
                var dbItems = db.EpisodeCache.Where(ep => ep.LocalFileName == filename);
                foreach (var dbMatch in dbItems)
                {
                    dbMatch.IsDownloaded = true;
                }

                await db.SaveChangesAsync();
            }
        }
Esempio n. 15
0
 public async Task LoadNotes()
 {
     await Task.Run(async() =>
     {
         using (var db = new LocalStorageContext())
         {
             await DispatcherHelper.ExecuteOnUIThreadAsync(() =>
             {
                 BuildInkNotesForEpisode(db);
             });
         }
     });
 }
Esempio n. 16
0
        public void Execute(object parameter)
        {
            if (parameter == null || (parameter as Episode) == null)
            {
                return;
            }

            using (var db = new LocalStorageContext())
            {
                db.Favorites.Add(new Favorite(parameter as Episode));
                db.SaveChanges();
            }
        }
Esempio n. 17
0
        private void BuildDownloads(LocalStorageContext db)
        {
            var results2 = from eps in db.EpisodeCache
                           join state in db.PlaybackState
                           on eps.Key equals state.EpisodeKey into myJoin
                           from sub in myJoin.DefaultIfEmpty()
                           where eps.IsDownloaded == true
                           select new EpisodeWithState {
                Episode = eps, PlaybackState = sub ?? new EpisodePlaybackState()
            };

            Downloads = results2;
        }
Esempio n. 18
0
 internal async Task LoadFavorites()
 {
     await Task.Run(async() =>
     {
         using (var db = new LocalStorageContext())
         {
             await DispatcherHelper.ExecuteOnUIThreadAsync(() =>
             {
                 BuildFavorites(db);
             });
         }
     });
 }
Esempio n. 19
0
 public async Task LoadDownloads()
 {
     await Task.Run(async() =>
     {
         using (var db = new LocalStorageContext())
         {
             await DispatcherHelper.ExecuteOnUIThreadAsync(() =>
             {
                 BuildDownloads(db);
             });
         }
     });
 }
Esempio n. 20
0
        private async Task LoadExisting(BuildCast.DataModel.InkNote meme)
        {
            using (var db = new LocalStorageContext())
            {
                _data = db.MemeData.Where(l => l.InkMeme == meme.Id).FirstOrDefault();
                if (_data != null)
                {
                    var image = await _data.GetImage(Image_ImageOpened);

                    framergrab.Source = image;
                    await LoadInk(_data.Ink);
                }
            }
        }
Esempio n. 21
0
        private void BuildFavorites(LocalStorageContext db)
        {
            var results2 = from fav in db.Favorites
                           join eps in db.EpisodeCache
                           on fav.EpisodeId equals eps.Id
                           join state in db.PlaybackState
                           on eps.Key equals state.EpisodeKey into myJoin
                           from sub in myJoin.DefaultIfEmpty()
                           select new EpisodeWithState {
                Episode = eps, PlaybackState = sub ?? new EpisodePlaybackState()
            };

            Favorites = results2;
        }
Esempio n. 22
0
        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            if (_editingExisting)
            {
                using (var db = new LocalStorageContext())
                {
                    db.Memes.Remove(_inkNote);
                    db.SaveChanges();

                    if (_data != null)
                    {
                        db.MemeData.Remove(_data);
                        db.SaveChanges();
                    }
                }
            }
        }
Esempio n. 23
0
        public async void RemoveFavoritedEpisode(Episode episode)
        {
            using (var db = new LocalStorageContext())
            {
                foreach (Favorite favEntity in db.Favorites)
                {
                    if (episode == null)
                    {
                        break;
                    }

                    if (favEntity.EpisodeId == episode.Id)
                    {
                        db.Favorites.Remove(favEntity);
                        break;
                    }
                }

                db.SaveChanges();
            }

            await LoadFavorites();
        }