Ejemplo n.º 1
0
        public DlgRentalViewModel(IVideoStore videoStoreService, IVideoClubRules rules)
        {
            _videoStoreService = videoStoreService;
            _rules             = rules;

            Movies       = new ObservableCollection <MovieViewModel>();
            ChosenMovies = new ObservableCollection <MovieViewModel>();
            Users        = new ObservableCollection <UserViewModel>();

            _movies = _videoStoreService.GetMovies();

            foreach (var item in _movies)
            {
                if (item.NumOfCopies > 0)
                {
                    Movies.Add(new MovieViewModel(item));
                }
            }

            foreach (var item in _videoStoreService.GetUsers())
            {
                Users.Add(new UserViewModel(item));
            }

            OkCommand          = new RelayCommand(CompleteRental, () => IsInputValid);
            AddMovieCommand    = new RelayCommand(AddMovie, () => CanAddMovie && IsRentingAllowed);
            RemoveMovieCommand = new RelayCommand(RemoveMovie, () => _selectedMovie != null);

            WarningVisibility = Visibility.Hidden;
        }
Ejemplo n.º 2
0
        public MainWindowViewModel(IDialogService dialogService, IVideoStore videoStoreService, IVideoClubRules rules)
        {
            _dialogService     = dialogService;
            _videoStoreService = videoStoreService;
            _rules             = rules;

            Rentals = new ObservableCollection <RentalViewModel>();
            Users   = new ObservableCollection <UserViewModel>();
            DateOfRentCollection = new ObservableCollection <DateTimeViewModel>();
            DueDateCollection    = new ObservableCollection <DateTimeViewModel>();

            ResetFilterCommand      = new RelayCommand(ResetFilter, () => _currentFilter != Filter.NoFilter);
            ShowRentalDialogCommand = new RelayCommand(ShowRentalDialog);
            ReturnMovieCommand      = new RelayCommand(ReturnMovie, () => Rentals.Any(r => r.IsSelected));

            _rentals = _videoStoreService.GetRentals().OrderBy(r => r.Movie.Title);

            RefreshRentals();
            RefreshUsers();
            RefreshDatesOfRental();
            RefreshDueDates();
        }