public AddBarcodeViewModel(IEventAggregator eventAggregator, IDatabaseHandlerService databaseHandlerService, IProductsViewModel productsViewModel, Product product)
 {
     this.eventAggregator = eventAggregator;
     this.databaseHandlerService = databaseHandlerService;
     this.productsViewModel = productsViewModel;
     Product = product;
 }
        public AddQuantityViewModel(IEventAggregator eventAggregator, IDatabaseHandlerService databaseHandlerService, IProductsViewModel productsViewModel, Product product)
        {
            this.eventAggregator = eventAggregator;
            this.databaseHandlerService = databaseHandlerService;
            this.productsViewModel = productsViewModel;
            this.product = product;

            AddQuantityCommand = new DelegateCommand<Window>(AddQuantity);
        }
        public ProductEditorViewModel(IDatabaseHandlerService databaseHandlerService, IEventAggregator eventAggregator, IProductsViewModel productsViewModel)
        {
            this.databaseHandlerService = databaseHandlerService;
            this.eventAggregator = eventAggregator;
            this.productsViewModel = productsViewModel;

            var productChangedEvent = this.eventAggregator.GetEvent<SelectedProductChangedEvent>();
            productChangedEvent.Subscribe(OnProductChangedEvent);

            SaveChangesCommand = new DelegateCommand<object>(SaveChanges, s => false);
            OpenAddQuantityWindowCommand = new DelegateCommand<object>(OpenAddQuantityWindow, s => false);
            OpenAddBarcodeWindowCommand = new DelegateCommand<object>(OpenAddBarcodeWindow, s => false);
        }
        public ProductsViewModel(IDatabaseHandlerService databaseHandlerService, IEventAggregator eventAggregator, ILoadingViewModel loadingViewModel)
        {
            this.databaseHandlerService = databaseHandlerService;
            this.eventAggregator = eventAggregator;
            this.loadingViewModel = loadingViewModel;

            GetAllProducts();

            var barcodeEvent = this.eventAggregator.GetEvent<BarcodeTextChangedEvent>();
            barcodeEvent.Subscribe(SearchByBarcode);

            var searchEvent = this.eventAggregator.GetEvent<SearchTextChangedEvent>();
            searchEvent.Subscribe(SearchByNameAndID);
        }