public ProductsWindowViewModel(IProductsConnector connector)
        {
            _productsClientModel = new ClientProductsModel(connector);
            _productsViewModel = new ProductsListViewModel(_productsClientModel);

            _productsClientModel.AddNewProductEvent += ProductsClientModel_AddNewProduct;
            _productsClientModel.RemoveProductEvent += ProductsClientModel_RemoveProduct;
        }
 public ClientProductsModel(IProductsConnector connector)
 {
     _connector       = connector;
     _currentProducts = new List <ProductInfo>();
     Products         = new ObservableCollection <ProductViewModel>();
     _nameToProduct   = new Dictionary <string, ProductViewModel>();
     UpdateProducts();
 }
 public override void Dispose()
 {
     _connector = null;
 }
 public ProductsWindow(IProductsConnector productsConnector)
 {
     _viewModel       = new ProductsWindowViewModel(productsConnector);
     this.DataContext = _viewModel;
     InitializeComponent();
 }