private void btnApprove_Click(object sender, RoutedEventArgs e) { if (this.dgLocation.SelectedIndex == -1) { MessageBox.Show("Please select a booking request", "No request selected", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (!lvTimeslot.CanApproved()) { MessageBox.Show("There is a clash for this timeslot", "Timeslot Clash", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } FacilityBookingsHelper client = new FacilityBookingsHelper(); FacilityBookingRequest fbr = (FacilityBookingRequest)lstRequestor.SelectedItem; try { FacilityBookingRequestDetails fbrd = (FacilityBookingRequestDetails)dgLocation.SelectedItem; client.ApproveFacilityBooking(user, fbr.RequestID, fbr.EventID, fbrd.RequestDetailsID, txtRemarks.Text.Trim(), txtEventName.Text.Trim()); MessageBox.Show("Request have been approved!", "Approved", MessageBoxButton.OK, MessageBoxImage.Information); loadRequests(); dgLocation.ItemsSource = null; lvTimeslot.Reset(); } catch (Exception ex) { MessageBox.Show("An error have occured with the following message: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally { client.Close(); } }
private void btnSubmit_Click(object sender, RoutedEventArgs e) { if (dtpStart.SelectedDateTime == default(DateTime)) { MessageBox.Show("Please select the Dates", "Validation Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } DateTime start = dtpStart.SelectedDateTime; DateTime end = getEndDateTime(); FacilityBookingsHelper client = new FacilityBookingsHelper(); bool exist = client.CheckRequestExist(event_.EventID, start ,end); client.Close(); if (exist) { Mouse.OverrideCursor = Cursors.Arrow; MessageBox.Show("The event already have a pending or confirmed request at the selected time frame!", "Request already Exist", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } try { bool success = saveRequest(start, end); if (success) this.Close(); } catch (Exception ex) { Mouse.OverrideCursor = Cursors.Arrow; MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void loadFacilityBookings(EventDay day) { FacilityBookingsHelper client = new FacilityBookingsHelper(); List<FacilityBookingConfirmed> fbc = client.GetConfirmedFacBookings(day.EventID, day.StartDateTime.Date).ToList<FacilityBookingConfirmed>(); if (fbc.Count == 0) { txtLocationMsg.Text = "The venue to hold the event is not confirmed yet"; } else { txtLocationMsg.Text = "The venue to hold this event are (is) " + Environment.NewLine; foreach (FacilityBookingConfirmed confirmedReq in fbc) { txtLocationMsg.Text += confirmedReq.Faculty.ToString().Replace('_', ' ') + " " + " at " + confirmedReq.Venue + " booked from " + confirmedReq.RequestStartDateTime.ToString("HH:mm") + " to " + confirmedReq.RequestEndDateTime.ToString("HH:mm") + Environment.NewLine ; } } client.Close(); }
private void btnReject_Click(object sender, RoutedEventArgs e) { if (lstRequestor.SelectedIndex == -1) { MessageBox.Show("Please select a booking request", "No request selected", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } FacilityBookingsHelper client = new FacilityBookingsHelper(); FacilityBookingRequest fbr = (FacilityBookingRequest)lstRequestor.SelectedItem; try { client.RejectFacilityBooking(user, fbr.RequestID, fbr.EventID, txtRemarks.Text.Trim()); MessageBox.Show("Request have been rejected!", "Rejected", MessageBoxButton.OK, MessageBoxImage.Information); loadRequests(); } catch (Exception ex) { MessageBox.Show("An error have occured with the following message: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally { client.Close(); } }
private void loadRequests() { FacilityBookingsHelper client = new FacilityBookingsHelper(); lstRequestor.ItemsSource = client.GetFacBookingRequestList(user); client.Close(); txtEventName.Text = ""; txtRemarks.Text = ""; txtRequestor.Text = ""; }
private void dgLocation_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (dgLocation.SelectedIndex == -1) { return; } FacilityBookingRequest fbr = (FacilityBookingRequest)lstRequestor.SelectedItem; FacilityBookingRequestDetails fbrDetails = (FacilityBookingRequestDetails)dgLocation.SelectedItem; DateTime day = fbr.RequestStartDateTime; day = day.AddHours(-day.Hour).AddMinutes(-day.Minute); List<FacilityBookingConfirmed> fbcList; FacilityBookingsHelper client = new FacilityBookingsHelper(); try { fbcList = client.GetActivitiesForDay(user, day, fbrDetails.Faculty, fbrDetails.FacilityID).ToList<FacilityBookingConfirmed>(); lvTimeslot.SetBookingTimeRange(fbr.RequestStartDateTime, fbr.RequestEndDateTime); lvTimeslot.SetSource(fbcList); } catch (Exception ex) { MessageBox.Show("An error has occured: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally { client.Close(); } }
private bool saveRequest(DateTime start, DateTime end) { //Use threading to stop system from "Hanging" as it may take a long time to save //as a list of objects are sent over via SOAP bool success = false; System.Threading.Thread thread = new System.Threading.Thread( new System.Threading.ThreadStart( delegate() { System.Windows.Threading.DispatcherOperation dispatcherOp = this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate() { try { Mouse.OverrideCursor = Cursors.Wait; MessageBox.Show("Please wait while we process your request..."); List<int> priorityList = new List<int>(); //To grab cbo selected value in datagrid List<FacilityBookingRequestDetails> list = new List<FacilityBookingRequestDetails>(); for (int i = 0; i < dgFacility.Items.Count; i++) { Facility f = (Facility)dgFacility.Items[i]; DataGridRow row = dgFacility.ItemContainerGenerator.ContainerFromIndex(i) as DataGridRow; ComboBox cbo = dgFacility.Columns[0].GetCellContent(row) as ComboBox; if (cbo.SelectedIndex == -1) { MessageBox.Show("Please select the priority in all your selected venues!", "Invalid Input!", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (priorityList.Contains(cbo.SelectedIndex + 1)) { MessageBox.Show("You have facilities with the same priority!", "1 priority per facility", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } FacilityBookingRequestDetails fbreqDetails = new FacilityBookingRequestDetails(); fbreqDetails.EventID = event_.EventID; fbreqDetails.FacilityID = f.FacilityID; fbreqDetails.Faculty = f.Faculty; fbreqDetails.Priority = cbo.SelectedIndex + 1; priorityList.Add(cbo.SelectedIndex + 1); list.Add(fbreqDetails); } FacilityBookingsHelper client = new FacilityBookingsHelper(); success = client.AddFacilityBookingRequest(user, eventDay_, list[0].Faculty, start, end, list.ToArray()); client.Close(); if (success) { MessageBox.Show("Your request for the facilities booking is submitted," + "please wait for an administrator to respond to your request", "Success", MessageBoxButton.OK, MessageBoxImage.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } )); //dispatcherOp.Completed += new EventHandler(dispatcherOp_Completed); dispatcherOp.Completed += (s, e) => { if (success) { Mouse.OverrideCursor = Cursors.Arrow; this.Close(); } }; } )); thread.Start(); return success; }
private void btnDrop_Click(object sender, RoutedEventArgs e) { if (lstRequest.SelectedIndex == -1) { MessageBox.Show("Please Select a request!", "Invalid input", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } else { FacilityBookingRequest fbr = (FacilityBookingRequest)lstRequest.SelectedItem; FacilityBookingsHelper client = new FacilityBookingsHelper(); if (fbr.Status == BookingStatus.Approved) { if (MessageBox.Show("Are you sure you want to drop this confirmed booking?, It Cannot be undone!", "Confirm Drop Request", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { string remarks = Microsoft.VisualBasic.Interaction.InputBox("Please Enter Remarks for dropping", "Remarks", ""); client.DropConfirmedRequest(user, fbr.RequestID, fbr.EventID, remarks); ClearDetail(); } } else if (fbr.Status == BookingStatus.Pending) { if (MessageBox.Show("Are you sure you want to cancel this pending booking?, It Cannot be undone!", "Confirm Cancel Request", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { string remarks = Microsoft.VisualBasic.Interaction.InputBox("Please Enter Remarks for cancelling", "Remarks", ""); try { client.CancelFacilityBooking(user, fbr.RequestID, fbr.EventID, remarks); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Cancel Booking!", MessageBoxButton.OK, MessageBoxImage.Exclamation); } ClearDetail(); retreiveBookingInformation(); } } client.Close(); } }
private void retreiveBookingInformation() { FacilityBookingsHelper client = new FacilityBookingsHelper(); if (cboEventList.SelectedIndex == -1) { MessageBox.Show("Please select a event!", "Invalid input", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (chkAllStatus.IsChecked.Value == false && cboStatus.SelectedIndex == -1) { MessageBox.Show("Please select a status!", "Invalid input", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (chkAllEventDay.IsChecked.Value == false && cboEventDay.SelectedIndex == -1) { MessageBox.Show("Please select a day!", "Invalid input", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } EventDay evDay = (EventDay)cboEventDay.SelectedItem; try { this.lstRequest.ItemsSource = client.ViewFacilityBookingRequestsByEventDay(user, int.Parse(cboEventList.SelectedValue.ToString()), (BookingStatus)cboStatus.SelectedIndex, chkAllStatus.IsChecked.Value, chkAllEventDay.IsChecked.Value, evDay.StartDateTime); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { client.Close(); } }
private void loadEvents() { List<Events> elist; if (user.isFacilityAdmin || user.isSystemAdmin) { EventHelper client = new EventHelper(); elist = client.ViewAllEvents(user).ToList<Events>(); client.Close(); } else { FacilityBookingsHelper client = new FacilityBookingsHelper(); elist = client.ViewAuthorizedEventsForFacBookings(user).ToList<Events>(); client.Close(); } this.cboEventList.ItemsSource = elist; cboEventList.SelectedValuePath = "EventID"; cboEventList.DisplayMemberPath = "Name"; cboEventList.SelectedIndex = 0; }