void CreateNewRequest()
        {
            RequestClass     newRequest = new RequestClass();
            RequestViewModel workspace  = new RequestViewModel(newRequest, _repositories._requestRepository, _repositories._programRepository, _repositories._batteryRepository);

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

        /*void OnRequestModelViewModelPropertyChanged(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 RequestModelViewModel).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 OnRequestAddedToRepository(object sender, ItemAddedEventArgs <RequestClass> e)
        {
            var viewModel = new RequestViewModel(e.NewItem, _requestRepository);

            this.AllRequests.Add(viewModel);
        }