private void btnEditListing_Click(object sender, RoutedEventArgs e) { if (listing != null) { if (btnEditListing.Content.ToString() == "Edit Listing") { var shader = new SolidColorBrush(Color.FromRgb(207, 255, 210)); TextBoxBedrooms.Background = shader; TextBoxListingAddress.Background = shader; TextBoxListingPrice.Background = shader; // make boxed editable TextBoxListingPrice.IsReadOnly = false; TextBoxListingAddress.IsReadOnly = false; TextBoxBedrooms.IsReadOnly = false; btnEditListing.Content = "Save"; } } else { if (TextBoxListingAddress.Text.Length > 0) { Int32.TryParse(TextBoxListingPrice.Text.ToString(), out int price); Int32.TryParse(TextBoxBedrooms.Text.ToString(), out int numBeds); using (var db = new PropertyDatabaseEntities()) { var listingToUpdate = db.Listings.Find(listing.ListingID); listingToUpdate.ListingAddress = TextBoxListingAddress.Text; listingToUpdate.ListingPrice = price; listingToUpdate.NumBedrooms = numBeds; // update database db.SaveChanges(); ListViewPropertyListings = null; listings = db.Listings.ToList(); ListViewPropertyListings.ItemsSource = listings; } } // put back to default TextBoxBedrooms.Background = Brushes.White; TextBoxListingAddress.Background = Brushes.White; TextBoxListingPrice.Background = Brushes.White; TextBoxListingPrice.IsReadOnly = true; TextBoxListingAddress.IsReadOnly = true; TextBoxBedrooms.IsReadOnly = true; btnEditListing.Content = "Edit Listing"; } }
void Initialize() { // Clean code wrapper using (var db = new PropertyDatabaseEntities()) { listings = db.Listings.ToList(); } // Set text boxes to read only TextBoxListingID.IsReadOnly = true; TextBoxListingAddress.IsReadOnly = true; TextBoxListingPrice.IsReadOnly = true; TextBoxBedrooms.IsReadOnly = true; // Edit button starts as disabled btnEditListing.IsEnabled = false; }
private void btnAddListing_Click(object sender, RoutedEventArgs e) { if (btnAddListing.Content.ToString() == "Add Listing") { // text boxes become editable TextBoxListingAddress.IsReadOnly = false; TextBoxListingPrice.IsReadOnly = false; TextBoxBedrooms.IsReadOnly = false; // clear all text boxes TextBoxListingID.Text = ""; TextBoxListingAddress.Text = ""; TextBoxListingPrice.Text = ""; btnAddListing.Content = "Save"; } else { if (TextBoxListingAddress.Text.Length > 0) { Int32.TryParse(TextBoxListingPrice.Text, out int price); Int32.TryParse(TextBoxBedrooms.Text, out int numBeds); var listingToAdd = new Listing() { ListingAddress = TextBoxListingAddress.Text, ListingPrice = price, NumBedrooms = numBeds }; // get database using (var db = new PropertyDatabaseEntities()) { db.Listings.Add(listingToAdd); db.SaveChanges(); // update list, set to null first ListViewPropertyListings.ItemsSource = null; // re-read listings fresh from database listings = db.Listings.ToList(); ListViewPropertyListings.ItemsSource = listings; } } btnAddListing.Content = "Add Listing"; } }
private void ListViewPropertyListings_MouseRightButtonUp(object sender, MouseButtonEventArgs e) { // check if listing selected if (listing != null) { using (var db = new PropertyDatabaseEntities()) { // find listing in database which has the same ID as selected listing var listingToDelete = db.Listings.Find(listing.ListingID); var result = MessageBox.Show($"Delete listing {listing.ListingID}? Are you sure?", "Greener Pastures", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { db.Listings.Remove(listingToDelete); db.SaveChanges(); ListViewPropertyListings.ItemsSource = null; listings = db.Listings.ToList(); ListViewPropertyListings.ItemsSource = listings; } } } }