protected void GrdReferrer_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName.Equals("Insert")) { DropDownList ddlTitle = (DropDownList)GrdReferrer.FooterRow.FindControl("ddlNewTitle"); TextBox txtFirstname = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewFirstname"); TextBox txtMiddlename = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewMiddlename"); TextBox txtSurname = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewSurname"); DropDownList ddlGender = (DropDownList)GrdReferrer.FooterRow.FindControl("ddlNewGender"); TextBox txtName = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewName"); TextBox txtABN = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewABN"); TextBox txtACN = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewACN"); TextBox txtProviderNumber = (TextBox)GrdReferrer.FooterRow.FindControl("txtNewProviderNumber"); DropDownList ddlIsClinic = (DropDownList)GrdReferrer.FooterRow.FindControl("ddlNewIsClinic"); CheckBox chkIsReportEveryVisit = (CheckBox)GrdReferrer.FooterRow.FindControl("chkNewIsReportEveryVisit"); CheckBox chkIsBatchSendAllPatientsTreatmentNotes = (CheckBox)GrdReferrer.FooterRow.FindControl("chkNewIsBatchSendAllPatientsTreatmentNotes"); int person_id = -1; int referrer_id = -1; int organisation_id = 0; int register_referrer_id = -1; try { Staff loggedInStaff = StaffDB.GetByID(Convert.ToInt32(Session["StaffID"])); person_id = PersonDB.Insert(loggedInStaff.Person.PersonID, Convert.ToInt32(ddlTitle.SelectedValue), Utilities.FormatName(txtFirstname.Text), Utilities.FormatName(txtMiddlename.Text), Utilities.FormatName(txtSurname.Text), "", ddlGender.SelectedValue, new DateTime(1900, 1, 1)); referrer_id = ReferrerDB.Insert(person_id); organisation_id = OrganisationDB.InsertExtOrg(191, txtName.Text, txtACN.Text, txtABN.Text, false, false, "", ""); register_referrer_id = RegisterReferrerDB.Insert(organisation_id, referrer_id, txtProviderNumber.Text, chkIsReportEveryVisit.Checked, chkIsBatchSendAllPatientsTreatmentNotes.Checked); FillGrid(); } catch (Exception) { // roll back - backwards of creation order RegisterReferrerDB.Delete(register_referrer_id); OrganisationDB.Delete(organisation_id); ReferrerDB.Delete(referrer_id); PersonDB.Delete(person_id); } } if (e.CommandName.Equals("_Delete") || e.CommandName.Equals("_UnDelete")) { int register_referrer_id = Convert.ToInt32(e.CommandArgument); try { if (e.CommandName.Equals("_Delete")) { RegisterReferrerDB.UpdateInactive(register_referrer_id); } else { RegisterReferrerDB.UpdateActive(register_referrer_id); } } catch (ForeignKeyConstraintException fkcEx) { if (Utilities.IsDev()) { SetErrorMessage("Can not delete because other records depend on this : " + fkcEx.Message); } else { SetErrorMessage("Can not delete because other records depend on this"); } } FillGrid(); } }