/** * @desc Executes when the Add Payment button is clicked * It invokes the frm_member_list panel for selecting a member to add a payment * Or if an id_member is already present then open frm_add_payment for that member * @params [none] No input parameter. * @return [none] No directly returned data. */ private void button_addpayments_Click(object sender, EventArgs e) { // if this was launche from main menu invoke the frm_member_list panel for selecting a member to add a payment if (this.Id_member == -1) { frm_member_list frmMemberList = new frm_member_list(this); frmMemberList.ShowDialog(); } // if an id_member is already present then open frm_add_payment for that member else { frm_add_payment frmAddPayment = new frm_add_payment(this.Id_member); frmAddPayment.ShowDialog(); } }
/** * @desc Executes when a grid cell is double clicked on the member list * It loads in the member belonging to the cell for editing * @params [none] No input parameter. * @return [none] No directly returned data. */ private void dg_members_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { try { // Get the member id at current cell int id_member = int.Parse(dg_members.Rows[e.RowIndex].Cells[0].Value.ToString()); // Create mysql connection mySqlConn conn = new mySqlConn(); conn.connect(); // If this member list was launched from the payment list panel if (this.frmPayments != null) { // Launch Add Payment panel for the selected member frm_add_payment frmAddPayment = new frm_add_payment(id_member); frmAddPayment.ShowDialog(); // As this member list was launched from the payment list, refresh the payment list when this finishes this.frmPayments.vloadDgPayments(); this.Close(); return; } // If this member list was launched from class instance list for adding new members if (this.clClassInstance.Id_class_instance != -1 && this.viewAttendants == false) { // Confirm enrollment DialogResult dialogResult = MessageBox.Show("Enroll this member to the class?", "Enroll member?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { // Check the room size string query = "SELECT COUNT(*) q FROM gym.class_bookings WHERE id_class_instance = '" + this.clClassInstance.Id_class_instance + "'"; List<Hashtable> lhRes = conn.lhSqlQuery(query); int currMembers = int.Parse(lhRes[0]["q"].ToString()); query = "SELECT r.size FROM gym.class_instance ci, gym.rooms r WHERE ci.id_room = r.id_room AND ci.id_class_instance = '" + this.clClassInstance.Id_class_instance + "'"; lhRes = conn.lhSqlQuery(query); int maxMembers = int.Parse(lhRes[0]["size"].ToString()); if (maxMembers < currMembers + 1) { MessageBox.Show("Sorry! This room does not allow more bookings!"); return; } Member clMember = new Member(id_member); this.clClassInstance.LclAttendants.Add(clMember); this.clClassInstance.SaveClassInstance(); } } // If this member list was launched from class instance list for viewing attending members if (this.clClassInstance.Id_class_instance != -1 && this.viewAttendants == true) { // Confirm removal DialogResult dialogResult = MessageBox.Show("Remove this member from the class?", "Delete entry?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { // Create delete query string deleteClassBookingQuery = "delete from class_bookings WHERE id_member = '" + id_member + "'" + " AND id_class_instance = '" + this.clClassInstance.Id_class_instance + "'"; // Launch delete query int result = conn.DeleteOrUpdate(deleteClassBookingQuery); // Check delete result if (result > 0) { MessageBox.Show("The attendant has been removed from this class instance!"); vLoadMemberList(); } else { MessageBox.Show("There was a problem updating the class booking information, please check your data!"); return; } } } // If this member list was launched from main menu just create an edit member form else { frm_member frmMember = new frm_member(id_member, this); frmMember.ShowDialog(); } }catch(Exception) { return; } }