void CreateNewBattery()
        {
            BatteryClass     newBattery = new BatteryClass();
            BatteryViewModel workspace  = new BatteryViewModel(newBattery, _repositories._batteryRepository, _repositories._batterytypeRepository);

            this.Workspaces.Add(workspace);
            this.SetActiveWorkspace(workspace);
        }
        /*void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
         * {
         *  if (e.NewItems != null && e.NewItems.Count != 0)
         *      foreach (BatteryModelViewModel batmodVM in e.NewItems)
         *          batmodVM.PropertyChanged += this.OnBatteryModelViewModelPropertyChanged;
         *
         *  if (e.OldItems != null && e.OldItems.Count != 0)
         *      foreach (BatteryModelViewModel batmodVM in e.OldItems)
         *          batmodVM.PropertyChanged -= this.OnBatteryModelViewModelPropertyChanged;
         * }*/

        /*void OnBatteryModelViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
         * {
         *  string IsSelected = "IsSelected";
         *
         *  // Make sure that the property name we're referencing is valid.
         *  // This is a debugging technique, and does not execute in a Release build.
         *  (sender as BatteryModelViewModel).VerifyPropertyName(IsSelected);
         *
         *  // When a customer is selected or unselected, we must let the
         *  // world know that the TotalSelectedSales property has changed,
         *  // so that it will be queried again for a new value.
         *  if (e.PropertyName == IsSelected)
         *      this.OnPropertyChanged("TotalSelectedSales");
         * }*/

        void OnBatteryAddedToRepository(object sender, ItemAddedEventArgs <BatteryClass> e)
        {
            var viewModel = new BatteryViewModel(e.NewItem, _batteryRepository);

            this.AllBatteries.Add(viewModel);
        }