public History(bool filterOnFavorite) { InitializeComponent(); try { favoriteOpen = true; db = new MediaHistoryContext(); db.Media.Load(); var BindingList = db.Media.Local.ToBindingList(); HistoryGrid.ItemsSource = from a in BindingList where (a as MediaHistory).Favorite == filterOnFavorite select a; this.Closing += History_Closing; } catch { MessageBox.Show("Не удалось подклюситься к базе данных!", "MediaPlayerApp", MessageBoxButton.OK, MessageBoxImage.Error); } }
public History() { InitializeComponent(); try { favoriteOpen = false; db = new MediaHistoryContext(); db.Media.Load(); HistoryGrid.ItemsSource = db.Media.Local.ToBindingList(); // устанавливаем привязку к кэшу this.Closing += History_Closing; } catch { MessageBox.Show("Не удалось подклюситься к базе данных!", "MediaPlayerApp", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// Отмечаем медифайл понравшимся и добавляем в избранное /// </summary> private void buttom_media_like_Click(object sender, RoutedEventArgs e) { panel_like.Visibility = Visibility.Hidden; img_LikeOrDislike.Source = new BitmapImage(new Uri("/png/like_heart.png", UriKind.Relative)); img_LikeOrDislike.Visibility = Visibility.Visible; using (MediaHistoryContext db = new MediaHistoryContext()) { foreach (var mediaFile in db.Media) { if (mediaFile.Date.ToString() == mediafileCash.Date.ToString()) { mediaFile.Favorite = true; } } db.SaveChanges(); } object_animation_size(sender, e); }
/// <summary> /// Действия при открытии файла /// </summary> private void MediaPlayer_MediaOpened(object sender, RoutedEventArgs e) { panel_like.Visibility = Visibility.Hidden; img_LikeOrDislike.Visibility = Visibility.Hidden; img_LikeOrDislike.Opacity = 1; img_LikeOrDislike.Width = 64; img_LikeOrDislike.Height = 64; dockPael_MediaElement.Opacity = 1; panel_like.Opacity = 1; try { MediaPlayer.Volume = (double)slider_volume.Value; slider_seek.Maximum = MediaPlayer.NaturalDuration.TimeSpan.TotalMilliseconds; timer.Interval = new TimeSpan(0, 0, 1); timer.Start(); MediaHistory mediafile = new MediaHistory(); mediafile.Name = System.IO.Path.GetFileName(filename); TimeSpan timeSpan = TimeSpan.FromSeconds(Convert.ToInt32(MediaPlayer.NaturalDuration.TimeSpan.TotalSeconds)); mediafile.Duration = string.Format("{0:D2}:{1:D2}:{2:D2}", timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds); mediafile.Date = DateTime.Now; mediafile.Favorite = false; mediafile.Path = filename; mediafileCash = mediafile; using (MediaHistoryContext db = new MediaHistoryContext()) { db.Media.Add(mediafile); db.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Ошибка воспроизведения файла!" + ex.Message, "MediaPlayerApp", MessageBoxButton.OK, MessageBoxImage.Error); fileIsDrop = false; filename = null; buttom_menu_fileOpen_Click(sender, e); } }
/// <summary> /// Удаление фрагментов из избранного и истории /// </summary> private void deleteButton_Click(object sender, RoutedEventArgs e) { button_animation_size(deleteButton); if (HistoryGrid.SelectedItems.Count > 0) { for (int i = 0; i < HistoryGrid.SelectedItems.Count; i++) { MediaHistory mHisory = HistoryGrid.SelectedItems[i] as MediaHistory; if (mHisory != null) { db.Media.Remove(mHisory); } } } db.SaveChanges(); if (favoriteOpen) { db = new MediaHistoryContext(); db.Media.Load(); var BindingList = db.Media.Local.ToBindingList(); HistoryGrid.ItemsSource = from a in BindingList where (a as MediaHistory).Favorite == true select a; this.Closing += History_Closing; } }