MovieViewModel.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using Core;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.Toolkit.Mvvm.Input;
  4. using MyMoviesWPF.Models;
  5. using MyMoviesWPF.MVVM.ViewModel.Core;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.Linq;
  10. using System.Windows;
  11. using System.Windows.Controls;
  12. namespace MyMoviesWPF.MVVM.ViewModel
  13. {
  14. public class MovieViewModel : BaseViewModel
  15. {
  16. private ObservableCollection<ActorList> _actors;
  17. private RelayCommand _addToCart;
  18. public string Name { get => Service.movie.Name; }
  19. public string Description { get => Service.movie.Description; }
  20. public Genre Genre { get => Service.db.Genres.Where(g => g.Idgenre == Service.movie.Idgenre).FirstOrDefault(); }
  21. public string TrailerURL { get => Service.movie.Trailer; }
  22. public string Year { get => Convert.ToString(Service.movie.ProductYear); }
  23. public string Languages { get => Service.movie.Languages; }
  24. public string Price { get => Convert.ToString(Service.movie.Price); }
  25. public ObservableCollection<ActorList> ActorsCollection
  26. {
  27. get => _actors;
  28. set
  29. {
  30. _actors = value;
  31. }
  32. }
  33. public MovieViewModel()
  34. {
  35. ActorsCollection = new(Service.db.ActorLists.Where(o => o.ListNum == Service.movie.IdactorList).Include(q => q.IdactorNavigation));
  36. }
  37. public RelayCommand AddToCart
  38. {
  39. get
  40. {
  41. return _addToCart
  42. ?? (_addToCart = new RelayCommand(
  43. async () =>
  44. {
  45. MessageBox.Show("Фильм успешно добавлен в корзину !", "Успех", MessageBoxButton.OK, MessageBoxImage.Information);
  46. Service.CartMoviesCollection.Add(Service.movie);
  47. Service.MainViewModel.UpdateCartStr();
  48. }));
  49. }
  50. }
  51. }
  52. }