public void setSource(FacilityBookingRequest fbr) { _details.Clear(); List<FacilityBookingRequestDetails> temp = fbr.RequestDetails.ToList<FacilityBookingRequestDetails>(); ; int confirmedLocationIdx = 0; if (fbr.Status == BookingStatus.Approved) { FacilityBookingsHelper client = new FacilityBookingsHelper(); confirmedLocationIdx = client.GetConfirmedBooking(fbr.RequestID).RequestDetailID; client.Close(); } for (int i = 0; i < temp.Count; i++) { BookingDetail bd = new BookingDetail(); bd.FacilityID = temp[i].FacilityID; bd.Faculty = temp[i].Faculty; bd.Priority = temp[i].Priority; if ((fbr.Status == BookingStatus.Approved) && (temp[i].RequestDetailsID == confirmedLocationIdx)) { bd.Balance = 1; } _details.Add(bd); } lv.ItemsSource = _details; }
public static List<FacilityBookingRequestDetails> GetBookingRequestDetails(FacilityBookingRequest fbr) { DAL dalDataContext = new DAL(); List<FacilityBookingRequestDetails> requestDetails; requestDetails = (from facBookingDetails in dalDataContext.facBookReqsDetails where facBookingDetails.Requestid == fbr.RequestID && facBookingDetails.EventID == fbr.EventID orderby facBookingDetails.Priority ascending select facBookingDetails).ToList<FacilityBookingRequestDetails>(); return requestDetails; }
public FacilityBookingConfirmed(FacilityBookingRequest fbr, FacilityBookingRequestDetails fbrd, string remarks, string purpose) { this.eventID = fbr.EventID; this.requestid = fbr.RequestID; this.RequestorID = fbr.RequestorID; this.Faculty = fbrd.Faculty; this.facilityID = fbrd.FacilityID; this.requestDetailID = fbrd.RequestDetailsID; this.requestStartDateTime = fbr.RequestStartDateTime; this.requestEndDateTime = fbr.RequestEndDateTime; this.remarks = remarks; this.purpose = purpose; }
public static void UpdateFacilityRequestStatus(FacilityBookingRequest request, BookingStatus status, string remarks) { DAL dalDataContext = new DAL(); FacilityBookingRequest existingRequest = (from facBookings in dalDataContext.facBookReqs where facBookings.EventID == request.EventID && facBookings.RequestID == request.RequestID select facBookings).FirstOrDefault<FacilityBookingRequest>(); existingRequest.Status = status; existingRequest.Remarks = remarks; dalDataContext.SubmitChanges(); }
public static void dropConfirmedBookingRequest(FacilityBookingRequest fbr, string remarks) { DAL dalDataContext = new DAL(); FacilityBookingConfirmed fbc = (from confirmedBookings in dalDataContext.facConfirmedBookings where confirmedBookings.EventID == fbr.EventID && confirmedBookings.RequestID == fbr.RequestID && confirmedBookings.RequestorID == fbr.RequestorID select confirmedBookings).FirstOrDefault<FacilityBookingConfirmed>(); dalDataContext.facConfirmedBookings.DeleteOnSubmit(fbc); dalDataContext.SubmitChanges(); }
public static bool AddBookingRequest(User sender, EventDay evntDay, DateTime reqStart, DateTime reqEnd, Faculties fac, List<FacilityBookingRequestDetails> reqDetails) { if (sender.isFacilityAdmin || sender.isAuthorized(EventController.GetEvent(evntDay.EventID), EnumFunctions.Manage_Facility_Bookings))//, EnumFunctions.ManageFacBookings)) { bool success; try { //request start > evnt.StartDateTime do not check, can book earlier... if (reqStart.AddHours(2) < evntDay.StartDateTime) { throw new FaultException<SException>(new SException(), new FaultReason("You cannot book a facility more than 2hours before your event start time")); } if (reqEnd.AddHours(-2) > evntDay.EndDateTime) { throw new FaultException<SException>(new SException(), new FaultReason("You cannot book a facility for more than 2 hours after your event end time")); } if (reqEnd.Date != reqStart.Date) { if (reqEnd.Date == reqStart.Date.AddDays(1) && reqEnd.Hour == 0 && reqEnd.Minute == 0 && reqEnd.Second == 0) { reqEnd = reqEnd.AddSeconds(-1); } else { throw new FaultException<SException>(new SException(), new FaultReason("You cannot book a across multiple days")); } } DAL dalDataContext = new DAL(); Table<FacilityBookingRequest> facReq = dalDataContext.facBookReqs; using (TransactionScope tScope = new TransactionScope(TransactionScopeOption.Required)) { FacilityBookingRequest f = new FacilityBookingRequest(evntDay.EventID, sender.UserID, reqStart, reqEnd, fac); facReq.InsertOnSubmit(f); facReq.Context.SubmitChanges(); f = (from req in dalDataContext.facBookReqs where req.EventID == evntDay.EventID && req.RequestorID == sender.UserID orderby req.BookingTime descending select req).FirstOrDefault<FacilityBookingRequest>(); success = FaciReqDetailsController.AddFacilityBookingReqDetails(f.RequestID, reqDetails); tScope.Complete(); } } catch (Exception ex) { throw new FaultException<SException>(new SException(), new FaultReason("An Error occured While Adding Booking Request: " + ex.Message)); } if (success) { string msg = sender.Name + " has sent you a facility booking request for " + EventController.GetEvent(evntDay.EventID).Name + Environment.NewLine + Environment.NewLine + " Please check the Facility Requests for more details."; string title = "New Facility Booking Request"; string facAdmin = SysRoleController.GetFacilityAdmin(fac); NotificationController.sendNotification(sender.UserID, facAdmin, title, msg); } return success; } else { throw new FaultException<SException>(new SException(), new FaultReason("User is not authorized to add a facility booking request!")); } }
public static List<FacilityBookingRequestDetails> GetBookingRequestDetails(FacilityBookingRequest fbr) { return FaciReqDetailsController.GetBookingRequestDetails(fbr); }