protected void UpdateRental_Click(object sender, EventArgs e) { if (Page.IsValid) { if (int.Parse(Vacancies.Text) > int.Parse(MaxVacancy.Text)) { errormsgs.Add("Vacancies should be less than or equal to the maximum vacancy."); } int rentalid = 0; if (string.IsNullOrEmpty(RentalID.Text)) { errormsgs.Add("Search for a rental to update"); } else if (!int.TryParse(RentalID.Text, out rentalid)) { errormsgs.Add("Rental id is invalid"); } else if (rentalid < 1) { errormsgs.Add("Rental id is invalid"); } if (errormsgs.Count > 0) { LoadMessageDisplay(errormsgs, "alert alert-danger"); } else { try { RentalsController sysmgr = new RentalsController(); Rentals item = new Rentals(); item.RentalID = rentalid; item.AddressID = int.Parse(AddressID.Text); if (RentalTypeList.SelectedIndex == 0) { item.RentalTypeID = null; } else { item.RentalTypeID = int.Parse(RentalTypeList.SelectedValue); } item.MonthlyRent = decimal.Parse(MonthlyRent.Text); item.Vacancies = byte.Parse(Vacancies.Text); item.MaxVacancy = byte.Parse(MaxVacancy.Text); if (string.IsNullOrEmpty(DamageDeposit.Text)) { item.DamageDeposit = null; } else { item.DamageDeposit = decimal.Parse(DamageDeposit.Text); } if (string.IsNullOrEmpty(AvailableDate.Text)) { item.AvailableDate = null; } else { item.AvailableDate = DateTime.Parse(AvailableDate.Text); } int rowsaffected = sysmgr.Rentals_Update(item); if (rowsaffected > 0) { errormsgs.Add("Rental has been updated"); LoadMessageDisplay(errormsgs, "alert alert-success"); BindRentalsList(); AddressSearchList.SelectedValue = RentalID.Text; } else { errormsgs.Add("Rental has not been updated. Rental was not found."); LoadMessageDisplay(errormsgs, "alert alert-danger"); BindRentalsList(); } } catch (DbUpdateException ex) { UpdateException updateException = (UpdateException)ex.InnerException; if (updateException.InnerException != null) { errormsgs.Add(updateException.InnerException.Message.ToString()); } else { errormsgs.Add(updateException.Message); } LoadMessageDisplay(errormsgs, "alert alert-danger"); } catch (DbEntityValidationException ex) { foreach (var entityValidationErrors in ex.EntityValidationErrors) { foreach (var validationError in entityValidationErrors.ValidationErrors) { errormsgs.Add(validationError.ErrorMessage); } } LoadMessageDisplay(errormsgs, "alert alert-danger"); } catch (Exception ex) { errormsgs.Add(GetInnerException(ex).ToString()); LoadMessageDisplay(errormsgs, "alert alert-danger"); } } } }