//private void LoadImages(DBStore.IDatabaseHost iDatabaseHost, DBObject.Species species) //{ // Dictionary<long, string> paths = DBStore.DatabaseHelpers.LoadImagePaths(iDatabaseHost.IImagePathsStore); // species.Images = iDatabaseHost.IImageStore.LoadImages(species.id, paths); //} private void _buttonEdit_Click(object sender, RoutedEventArgs e) { if (_datagrid.SelectedIndex < 0) { return; } int selectedIndex = _datagrid.SelectedIndex; ViewModel.SpeciesListViewModel speciesListViewModel = DataContext as ViewModel.SpeciesListViewModel; DBObject.Species species = speciesListViewModel.SpeciesCollection[_datagrid.SelectedIndex] as DBObject.Species; // Edit a clone of the species DBObject.Species editedSpecies = species.Clone(); speciesListViewModel.LoadImages(species); speciesListViewModel.LoadImages(editedSpecies); View.SpeciesView speciesView = new SpeciesView(); ViewModel.SpeciesViewModel speciesViewModel = new ViewModel.SpeciesViewModel(speciesListViewModel.IDatabaseHost.IConfigurationStore, editedSpecies); speciesView.DataContext = speciesViewModel; speciesView.WindowStartupLocation = WindowStartupLocation.CenterOwner; speciesView.Owner = this; if (speciesView.ShowDialog() == false) { return; } speciesListViewModel.UpdateSpecies(species, editedSpecies); _datagrid.Columns[0].Visibility = Visibility.Collapsed; }
private void _buttonNew_Click(object sender, RoutedEventArgs e) { ViewModel.SpeciesListViewModel speciesListViewModel = DataContext as ViewModel.SpeciesListViewModel; DBObject.Species species = new DBObject.Species(); View.SpeciesView speciesView = new SpeciesView(); ViewModel.SpeciesViewModel speciesViewModel = new ViewModel.SpeciesViewModel(speciesListViewModel.IDatabaseHost.IConfigurationStore, species); speciesView.DataContext = speciesViewModel; speciesView.WindowStartupLocation = WindowStartupLocation.CenterOwner; speciesView.Owner = this; if (speciesView.ShowDialog() == false) { return; } // Save everything speciesListViewModel.InsertSpecies(species); _datagrid.Columns[0].Visibility = Visibility.Collapsed; }