public BooksViewModel(
     IItemsService <Book> itemsService,
     IItemToViewModelMap <Book, BookItemViewModel> viewModelMap,
     IShowProgressInfo showProgressInfo, ILoggerFactory loggerFactory)
     : base(itemsService, viewModelMap, showProgressInfo, loggerFactory)
 {
 }
        public EditableItemViewModel(
            IItemsService <TItem> itemsService,
            IShowProgressInfo showProgressInfo,
            ILoggerFactory loggerFactory)
            : base(showProgressInfo)
        {
            _itemsService = itemsService ?? throw new ArgumentNullException(nameof(itemsService));
            _logger       = loggerFactory?.CreateLogger(GetType()) ?? throw new ArgumentNullException(nameof(loggerFactory));

            _logger.LogTrace("ctor EditableItemViewModel");

            _itemsService.SelectedItemChanged += OnSelectedItemChanged;

            PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(Item))
                {
                    _logger.LogTrace($"PropertyChanged event with Item received, firing change event on EditItem");
                    RaisePropertyChanged(nameof(EditItem));
                }
            };

            EditCommand   = new DelegateCommand(BeginEdit, () => IsReadMode);
            CancelCommand = new DelegateCommand(CancelEdit, () => IsEditMode);
            SaveCommand   = new DelegateCommand(EndEdit, () => IsEditMode);
            AddCommand    = new DelegateCommand(OnAdd, () => IsReadMode);
            DeleteCommand = new DelegateCommand(OnDelete);
        }
        public MasterDetailViewModel(
            IItemsService <TItem> itemsService,
            IItemToViewModelMap <TItem, TItemViewModel> viewModelMap,
            IShowProgressInfo showProgressInfo,
            ILoggerFactory loggerFactory)
            : base(showProgressInfo)
        {
            _itemsService = itemsService ?? throw new ArgumentNullException(nameof(itemsService));
            _viewModelMap = viewModelMap ?? throw new ArgumentNullException(nameof(viewModelMap));
            _logger       = loggerFactory?.CreateLogger(GetType()) ?? throw new ArgumentNullException(nameof(loggerFactory));

            _logger.LogTrace("ctor MasterDetailViewModel");

            _itemsService.SelectedItemChanged += ItemsService_SelectedItemChanged;

            _itemsService.Items.CollectionChanged += (sender, e) =>
            {
                RaisePropertyChanged(nameof(Items));
            };

            _itemsService.PropertyChanged += ItemsService_PropertyChanged;

            RefreshCommand = new DelegateCommand(OnRefresh);
            AddCommand     = new DelegateCommand(OnAdd);
        }
 public BookToBookItemViewModelMap(
     IItemsService <Book> itemsService,
     IShowProgressInfo showProgressInfo,
     ILoggerFactory loggerFactory)
 {
     _itemsService     = itemsService ?? throw new ArgumentNullException(nameof(itemsService));
     _showProgressInfo = showProgressInfo ?? throw new ArgumentNullException(nameof(showProgressInfo));
     _loggerFactory    = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
 }
Ejemplo n.º 5
0
        public ViewModelBase(IShowProgressInfo showProgressInfo)
        {
            _showProgressInfo = showProgressInfo ?? throw new ArgumentNullException(nameof(showProgressInfo));

            _showProgressInfo.ProgressInformationChanged += (sender, name) =>
            {
                if (name == ProgressInfoName)
                {
                    RaisePropertyChanged(nameof(InProgress));
                }
            };
        }
Ejemplo n.º 6
0
        public BookItemViewModel(
            Book item,
            IItemsService <Book> booksService,
            IShowProgressInfo showProgressInfo,
            ILoggerFactory loggerFactory)
            : base(item, showProgressInfo)
        {
            _booksService = booksService ?? throw new ArgumentNullException(nameof(booksService));
            _logger       = loggerFactory?.CreateLogger(GetType()) ?? throw new ArgumentNullException(nameof(loggerFactory));

            ProgressInfoName  = "Default";
            DeleteBookCommand = new DelegateCommand(OnDeleteBook);
        }
Ejemplo n.º 7
0
 public ItemViewModel(T item, IShowProgressInfo showProgressInfo)
     : base(showProgressInfo)
     => _item = item;
Ejemplo n.º 8
0
 public ItemViewModel(IShowProgressInfo showProgressInfo)
     : base(showProgressInfo)
 {
 }