/// <summary> /// This will delete the tenant from database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleteTenantBtn_Click(object sender, RoutedEventArgs e) { tenant tenant = TenantDataGrid.SelectedItem as tenant; _tenantAccess.DeleteTenant(tenant); MessageBox.Show("Tenant Deleted"); TenantGrid.Items.Refresh(); }
/// <summary> /// sets the field based on previous details from database /// </summary> /// <param name="tenant"></param> private void SetFields(tenant tenant) { formTenantName.Text = tenant.tenant_name; formUnitNumber.Text = tenant.unit_number.ToString(); formSquareFeet.Text = tenant.unit_size_sqft.ToString("F"); formRent.Text = tenant.rent_per_sf.ToString("F"); formStart.Text = tenant.lease_start.ToString("d"); formEnd.Text = tenant.lease_end.ToString("d"); }
/// <summary> /// Saves the tenant to the database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SaveBtn_Click(object sender, RoutedEventArgs e) { var validator = Validate(); if (validator) { property property = (from p in context.properties where p.property_id == propertyId select p).FirstOrDefault(); var annualRent = (double.Parse(formRent.Text)) * (double.Parse(formSquareFeet.Text)); var unitSize = int.Parse(formSquareFeet.Text); var availableSpace = property.available_space; var leaseStart = DateTime.Parse(formStart.Text); var leaseEnd = DateTime.Parse(formEnd.Text); var monthsLeft = (leaseEnd.Month + leaseEnd.Year * 12) - (leaseStart.Month + leaseStart.Year * 12); if (unitSize <= availableSpace) { //Map Text box fields to new tenant object tenant tenant = new tenant { tenant_name = formTenantName.Text, unit_number = int.Parse(formUnitNumber.Text), unit_size_sqft = double.Parse(formSquareFeet.Text), rent_per_sf = double.Parse(formRent.Text), annual_rent = annualRent, monthly_rent = annualRent / 12, lease_start = leaseStart, lease_end = leaseEnd, months_left = monthsLeft, tenant_property_id = propertyId }; property.available_space = availableSpace - unitSize; _tenantAccess.AddNewTenant(tenant, propertyId); context.SaveChanges(); Close(); MessageBoxButton mbBtn = MessageBoxButton.OK; string header = "Add Expense"; string message = $"Tenant: {tenant.tenant_name} has been added."; MessageBoxImage icon = MessageBoxImage.Information; MessageBoxResult result = MessageBox.Show(message, header, mbBtn, icon); Clear(); } } }
/// <summary> /// This will update the details in database based on user inputs /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UpdateTenantBtn_Click(object sender, RoutedEventArgs e) { var validator = Validate(); if (validator) { property property = (from p in context.properties where p.property_id == tenant.tenant_property_id select p).FirstOrDefault(); var annualRent = (double.Parse(formRent.Text)) * (double.Parse(formSquareFeet.Text)); var unitSize = int.Parse(formSquareFeet.Text); var availableSpace = property.available_space; var leaseStart = DateTime.Parse(formStart.Text); var leaseEnd = DateTime.Parse(formEnd.Text); var monthsLeft = (leaseEnd.Month + leaseEnd.Year * 12) - (leaseStart.Month + leaseStart.Year * 12); if (unitSize <= availableSpace) { tenant editTenant = (from t in context.tenants where t.tenant_id == tenant.tenant_id select t).Single(); editTenant.tenant_name = formTenantName.Text; editTenant.unit_number = int.Parse(formUnitNumber.Text); editTenant.unit_size_sqft = unitSize; editTenant.rent_per_sf = double.Parse(formRent.Text); editTenant.annual_rent = annualRent; editTenant.monthly_rent = tenant.annual_rent / 12; editTenant.lease_start = leaseStart; editTenant.lease_end = leaseEnd; editTenant.months_left = monthsLeft; property.available_space = availableSpace - unitSize; context.SaveChanges(); MainWindow.TenantDataGrid.ItemsSource = context.tenants.ToList(); MessageBoxButton mbBtn = MessageBoxButton.OK; string header = "Update Tenant"; string message = $"Tenant name:{editTenant.tenant_name} has been altered."; MessageBoxImage icon = MessageBoxImage.Information; MessageBoxResult result = MessageBox.Show(message, header, mbBtn, icon); Close(); } } }
public UpdateTenant() { InitializeComponent(); tenant = GetSelectedTenant(); SetFields(tenant); }