//Delete booking codes private void buttonDeleteBooking_Click(object sender, EventArgs e) { int timeslot = Convert.ToInt32(this.labelFillTimeSlotDeleteBooking.Text); int transID = Convert.ToInt32(this.labelFillTransactionIDDeleteBooking.Text); int TempID = 0; //Creates an entry for Cancel booking record Transaction DeleteTrans = new Transaction(); DeleteTrans.NUSID = this.labelFillNusIDDeleteBooking.Text; DeleteTrans.FacilityID = this.labelFillFacilityIDDeleteBooking.Text; DeleteTrans.Activity = this.labelFillActivityDeleteBooking.Text; DeleteTrans.BookingDateTime = DateTime.Parse(this.labelFillBookDateDeleteBooking.Text); DeleteTrans.TransDateTime = DateTime.Now; DeleteTrans.TimeSlot = timeslot; DeleteTrans.CancelRef = transID; DeleteTrans.TransactionType = "Cancel"; try { SA46Team09BEntities context = new SA46Team09BEntities(); context.Transactions.Add(DeleteTrans); context.SaveChanges(); //This is to find and set the transaction ID for the new CANCEL entry to TempID var RefTransQuery = from x in context.Transactions where x.CancelRef == transID select x; List <Transaction> RefTrans = RefTransQuery.ToList <Transaction>(); TempID = RefTrans[0].TransactionID; // This is to find and set the Cancelref with the cancel booking trans ID // With this step done, the booking and cancellation will now have a CROSS-Reference and this can be used as a filter for refresh bookings in the cancellation screen (to ensure no records are deleted twice). var RefTransQuery2 = from x in context.Transactions where x.TransactionID == transID select x; List <Transaction> RefTrans2 = RefTransQuery2.ToList <Transaction>(); RefTrans2[0].CancelRef = TempID; AvailabilityCheck DeleteAvail = (AvailabilityCheck)context.AvailabilityChecks.Where(M => M.TransactionID == transID).First(); context.AvailabilityChecks.Remove(DeleteAvail); context.SaveChanges(); resetscreen(); ((MAIN)MdiParent).UpdateStatusLabel("Delete Transaction and Availability entry successfully added"); } catch { MessageBox.Show("Deletion Error. Transaction ID probably did not existed or connection errors. Please check again."); } }
private void AvailabilityPurge() { SA46Team09BEntities context = new SA46Team09BEntities(); DateTime mydate = DateTime.Now.Date; var Query = from x in context.AvailabilityChecks where x.BookingDate < mydate select x; List <AvailabilityCheck> purgelist = Query.ToList <AvailabilityCheck>(); if (purgelist.Any()) { context.AvailabilityChecks.RemoveRange(purgelist); } context.SaveChanges(); }
// [Member Form - Create Button codes] private void CreateMember(Member NewMember) { try { SA46Team09BEntities context = new SA46Team09BEntities(); context.Members.Add(NewMember); context.SaveChanges(); ((MAIN)MdiParent).UpdateStatusLabel("Member record successfully added"); } catch { MessageBox.Show("Creation Error. NUSID probably existed. Please check again."); ((MAIN)MdiParent).UpdateStatusLabel("Error encounter in last transaction..."); } }
// Facility Creation - actual Entity action private void createFacility(FacilityInformation NewFacility) { try { using (SA46Team09BEntities context = new SA46Team09BEntities()) { context.FacilityInformations.Add(NewFacility); context.SaveChanges(); ((MAIN)MdiParent).UpdateStatusLabel("Facilities record successfully added"); } } catch { MessageBox.Show("Creation Error. FacilityID probably existed. Please check again."); ((MAIN)MdiParent).UpdateStatusLabel("Error encounter in last transaction..."); } }
private bool DeleteMember(string NUSID) { try { SA46Team09BEntities context = new SA46Team09BEntities(); Member DeleteMember = (Member)context.Members.Where(M => M.NUSID == NUSID).First(); context.Members.Remove(DeleteMember); context.SaveChanges(); ((MAIN)MdiParent).UpdateStatusLabel("Member record successfully deleted"); } catch { MessageBox.Show("Deletion Error. NUSID probably did not existed. Please check again."); ((MAIN)MdiParent).UpdateStatusLabel("Error encounter in last transaction..."); return(false); } return(true); }
// delete facility - actual Entity action private bool DeleteFacility(string FacilityID) { try { using (SA46Team09BEntities context = new SA46Team09BEntities()) { FacilityInformation DeleteFacility = (FacilityInformation)context.FacilityInformations.Where(F => F.FacilityID == FacilityID).First(); context.FacilityInformations.Remove(DeleteFacility); context.SaveChanges(); ((MAIN)MdiParent).UpdateStatusLabel("Facilities successfully deleted"); } } catch { MessageBox.Show("Deletion Error. FacilityID probably did not existed. Please check again."); ((MAIN)MdiParent).UpdateStatusLabel("Error encounter in last transaction..."); return(false); } return(true); }
// This is the block code for booking. The booking process creates an entry at the Transaction table (for recording) + an entry at AvailabilityCheck table (for tracking of availability). private void BookingCreation(string NUSID) { bool booksuccess = false; SA46Team09BEntities context = new SA46Team09BEntities(); if (MemberCheck()) // Only allow a booking if user is member { if (CheckMemberBooking() == true) { Transaction TempTransaction = new Transaction(); TempTransaction.NUSID = NUSID; TempTransaction.Activity = TransactionList[BookingArrayRef].Activity.ToUpper(); TempTransaction.FacilityID = TransactionList[BookingArrayRef].FacilityID.ToUpper(); TempTransaction.BookingDateTime = TransactionList[BookingArrayRef].BookingDateTime; TempTransaction.TransDateTime = DateTime.Now; TempTransaction.TimeSlot = TransactionList[BookingArrayRef].TimeSlot; TempTransaction.TransactionType = "Book"; TempTransaction.CancelRef = 0; try { context.Transactions.Add(TempTransaction); context.SaveChanges(); booksuccess = true; } catch { MessageBox.Show("Booking Error. Please check again."); ((MAIN)MdiParent).UpdateStatusLabel("Error encounter in last transaction..."); booksuccess = false; } } //Thread.Sleep(2000); // Only create Availability Entry if the booking creation is successful if (booksuccess == true) { var queryTransactions = from x in context.Transactions select x; List <Transaction> NewList = queryTransactions.ToList <Transaction>(); Transaction LastRecord = NewList.OrderByDescending(Transaction => Transaction.TransactionID).First(); AvailabilityCheck AvailabilityBlock = new AvailabilityCheck(); AvailabilityBlock.BookingDate = TransactionList[BookingArrayRef].BookingDateTime; AvailabilityBlock.FacilityID = TransactionList[BookingArrayRef].FacilityID; AvailabilityBlock.TimeSlot = TransactionList[BookingArrayRef].TimeSlot; AvailabilityBlock.TransactionID = LastRecord.TransactionID; AvailabilityBlock.Activity = TransactionList[BookingArrayRef].Activity; AvailabilityBlock.NUSID = NUSID; try { context.AvailabilityChecks.Add(AvailabilityBlock); context.SaveChanges(); ((MAIN)MdiParent).UpdateStatusLabel("Transaction record and Availability entry Added"); } catch { MessageBox.Show("Booking Error. Please check again."); ((MAIN)MdiParent).UpdateStatusLabel("Error encounter in last transaction..."); } } } }