/// <summary> /// update the local database based on other clients /// </summary> /// <param name="seatDetails"></param> private void MakeBooking(SeatDetails seatDetails) { try { _ticketBookingDataAccessService.AddBooking(seatDetails); } catch (Exception ex) { Status = ex.Message; IsWarning = true; } }
public List <SeatDetails> GetSeatBookingDetails() { List <SeatDetails> seatDetailsList = new List <SeatDetails>(); var Bookings = _context.Bookings.ToList(); foreach (var details in Bookings) { SeatDetails details = new SeatDetails(); details.BgColour = Constants.bookedSeatColour; details. } }
public async Task AddBooking(SeatDetails seatDetails) { var ticketDetails = _context.Tickets.Where(x => x.TicketNo == seatDetails.TicketDetails.TicketNo).FirstOrDefault(); if (ticketDetails.Booking_BookingId != 0) { Booking bookingDetails = new Booking(); bookingDetails.BookingDate = DateTime.Now; bookingDetails.BookingId = _context.Bookings.Count() == 0 ? 1 : _context.Bookings.Max(x => x.BookingId) + 1; _context.Bookings.Add(bookingDetails); ticketDetails.Booking_BookingId = bookingDetails.BookingId; await _context.SaveChangesAsync(); } }
public void DeleteBookedSeat(Int32 userId, SeatDetails seatDetails) { lock (_sycnRoot) { try { IStagecraftOrganizingCallbackService callbackChannel = OperationContext.Current.GetCallbackChannel <IStagecraftOrganizingCallbackService>(); if (!_callbackChannels.Contains(callbackChannel)) { _callbackChannels.Add(callbackChannel); } for (Int32 i = _callbackChannels.Count - 1; i >= 0; i--) { if (((ICommunicationObject)_callbackChannels[i]).State != CommunicationState.Opened) { _callbackChannels.RemoveAt(i); continue; } try { _callbackChannels[i].SendBookedSeatDetailsToDelete(userId, seatDetails); } catch (Exception ex) { _callbackChannels.RemoveAt(i); CustomExpMsg customMsg = new CustomExpMsg("Service threw exception while communicating on Callback Channel: " + _callbackChannels[i].GetHashCode()); throw new FaultException <CustomExpMsg>(customMsg, new FaultReason(customMsg.ErrorMsg), new FaultCode("Sender")); } } } catch (ApplicationException ex) { CustomExpMsg customMsg = new CustomExpMsg(ex.Message); throw new FaultException <CustomExpMsg>(customMsg, new FaultReason(customMsg.ErrorMsg), new FaultCode("Sender")); } } }
public static SeatingPlan GetActiveMovieSeatingPlan(int ActiveMovieId) { SeatingPlan _SeatingPlan = new SeatingPlan(); _SeatingPlan.Rows = new List <RowDetails>(); //retrieve the list of rows DataTable dtVenueRows = Data.Movies.GetVenueRows(ActiveMovieId); DataTable dtReservedSeats = Data.Movies.GetReservedSeats(ActiveMovieId); for (int i = 0; i < dtVenueRows.Rows.Count; i++) { DataRow drVenue = dtVenueRows.Rows[i]; RowDetails _newRow = new RowDetails(); _newRow.RowNumber = (int)drVenue["RowNumber"]; _newRow.Seats = new List <SeatDetails>(); //for each row in the venue, we want to create all the SEATS in that row //first, we create a "SEAT" for every OFFSET seat (which are with status 0) for (int j = 1; j <= (int)drVenue["SeatsOffset"]; j++) { SeatDetails seat = new SeatDetails(); seat.RowNumber = (int)drVenue["RowNumber"]; seat.PositionId = i; seat.ActualSeatNumber = 0; seat.Status = 0; _newRow.Seats.Add(seat); } //create a "SeatStatus" object for each seat. // if seat is already taken - update status to 2 for (int j = 1; j <= (int)drVenue["SeatsInRow"]; j++) { SeatDetails seat = new SeatDetails(); seat.RowNumber = (int)drVenue["RowNumber"]; seat.PositionId = j + (int)drVenue["SeatsOffset"]; seat.ActualSeatNumber = j; seat.Status = 0; //check if seat is taken if (IsReservedSeat(dtReservedSeats, seat.RowNumber, seat.ActualSeatNumber)) { seat.Status = 2; } else { seat.Status = 1; } //add the new seat the SEATS list , in the ROW _newRow.Seats.Add(seat); } //add the row to the Seating Plan _SeatingPlan.Rows.Add(_newRow); } return(_SeatingPlan); }
public UserSeatDetailsEventArgs(Int32 userId, SeatDetails seatDetails) { this.seatDetails = seatDetails; this.userId = userId; }
public void SendBookedSeatDetailsToDelete(int userId, SeatDetails seatDetails) { _syncContext.Post(new SendOrPostCallback(OnServiceSendBookedSeatDetailsToDeleteCallbackEvent), new UserSeatDetailsEventArgs(userId, seatDetails)); }
public SeatDetailsEventArgs(SeatDetails seatDetails) { this.deletedSeatDetails = seatDetails; }
public void DeleteBookedSeat(int userId, SeatDetails seatDetails) { Channel.DeleteBookedSeat(userId, seatDetails); }