protected void Page_Load(object sender, EventArgs e) { // Redirect to the Login page if the session does not exist if (string.IsNullOrEmpty((string)Session["StudentNumber"]) || string.IsNullOrEmpty((string)Session["Grade"])) { Response.Redirect("/Login.aspx"); } Seat seat = SeatManager.LoadReservation((string)Session["StudentNumber"], (string)Session["Grade"]); if (seat.Row == "-1" || seat.Col == "-1") { Reservation.Text = "?열 ?번"; Response.Write("<script>alert('예매 내역이 존재하지 않습니다.'); location.href='/';</script>"); } else { if ((string)Session["Grade"] == "1") { Reservation.Text = "CN - " + NumberToABC(int.Parse(seat.Row)) + "열 - " + seat.Col; } else { Reservation.Text = "SA - " + NumberToABC(int.Parse(seat.Row)) + "열 - " + seat.Col; } } }
protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.Form["row"]) && !string.IsNullOrEmpty(Request.Form["col"])) { int result = SeatManager.Reserve(new Seat { Row = Request["row"], Col = Request["col"], StudentNumber = (string)Session["StudentNumber"] }, (string)Session["Grade"]); if (result == -2) { Response.Write("<script>alert('이미 선택된 좌석입니다'); location.href='/Reserve.aspx';</script>"); } else if (result == -1) { Response.Write("<script>alert('예매에 실패하였습니다'); location.href='/Reserve.aspx';</script>"); } else if (result == -3) { Response.Write("<script>alert('이미 예매하셨습니다'); location.href='/';</script>"); } else { Response.Write("<script>alert('예매에 성공하셨습니다'); location.href='/ReserveCheck.aspx';</script>"); } } }
//Awake method void Awake() { //Initializes class variables instance = this; seats = FindObjectsOfType <Seat> (); avaiableSeats = new List <Seat> (); }
// GET: TicketSelling public ActionResult Index(int?id) { var viewModel = new TicketSellingIndexViewModel(); if (SessionManager.GetAvailableSessions().Count() > 0) { viewModel.AvailableSessions = SessionManager.GetAvailableSessions(); if (id.HasValue) { var selectedSession = SessionManager.GetAvailableSessions().Where(s => s.Id == id).FirstOrDefault(); if (selectedSession != null) { viewModel.SelectedSession = selectedSession; } else { return(HttpNotFound(Messages.SessionNotAvailableOrNotFound)); } } else { viewModel.SelectedSession = viewModel.AvailableSessions.First(); } } if (viewModel.SelectedSession != null) { viewModel.AvailableSeats = SeatManager.GetAvailableSeats(viewModel.SelectedSession); } return(View(viewModel)); }
public ActionResult TicketsSold(int?id, string selectedSeats) { var viewModel = new TicketsSoldViewModel(); try { if (!string.IsNullOrWhiteSpace(selectedSeats)) { var session = SessionManager.GetAvailableSessions().Where(s => s.Id == id).FirstOrDefault(); var seatLocators = GetSeatLocators(selectedSeats); foreach (var seatLocator in seatLocators) { var seat = SeatManager.GetSeat(session, seatLocator.Item1, seatLocator.Item2); viewModel.Tickets.Add(TicketManager.SellTicket(seat)); } } else { viewModel.Errors.Add(Messages.SeatsNotFound); } } catch (Exception ex) { viewModel.Errors.Add(ex.Message); } if (viewModel.Errors.Count() <= 0) { DataContext.SaveChanges(); } return(View(viewModel)); }
private void Start() { namePanel = nameField.GetComponent <NamePanel>(); seatManager = GetComponent <SeatManager>(); tracked1 = Controller1.GetComponent <SteamVR_TrackedController>(); tracked2 = Controller2.GetComponent <SteamVR_TrackedController>(); }
private SeatManager GetSeatManagerWithSeats(out Mock <IDataContext> dataContextMock) { dataContextMock = new Mock <IDataContext>(); dataContextMock.Setup(m => m.Seats).Returns(_seats); var target = new SeatManager(dataContextMock.Object); return(target); }
/// <summary> /// Called by GameManager on instantiating. /// Sets its model, view and seatManager, and initializes basic model and view properties. /// </summary> /// <param name="model">Takes CustomerModel instance</param> /// <param name="view">Takes CustomerView instance</param> /// <param name="seatManager">Takes SeatManager instance</param> public void Init(CustomerModel model, CustomerView view, SeatManager seatManager) { _customerModel = model; _customerView = view; _seatManager = seatManager; _customerView.Init(_customerModel._inventory); _customerModel._servingPlayer = PlayerID.None; _originalTime = _customerModel._time; }
public void SeatManager_Ctor_DataContextParamNull() { //Arrange //Act Action action = () => { var target = new SeatManager(null); }; //Assert action.ShouldThrow <ArgumentNullException>().WithMessage(new ArgumentNullException("dataContext").Message); }
// Use this for initialization void Start() { restManager = RestManagerGameObject.GetComponent <RestManager>(); namePanel = NameField.GetComponent <NamePanel>(); sm = SM.GetComponent <SeatManager> (); Debug.Log("Querying"); restManager.Post("http://172.20.47.233:8080/api/session", ProcessCurrentSession(), null); Debug.Log("Queried"); }
public void SeatManager_Ctor_Right() { //Arrange var dataContext = Mock.Of <IDataContext>(); //Act var target = new SeatManager(dataContext); //Assert target.Should().NotBeNull(); }
private void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; } }
public IHttpActionResult CustomerBooking(CustomerBookingDTO booking) // BOOKING WITHOUT USER ACCOUNT, ONLY AS CUSTOMER { if (!ModelState.IsValid) { var errors = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors); return(BadRequest(ModelState)); } TextResult httpResponse = new TextResult("", msg); SeatManager smgr = new SeatManager(); CustomerManager cmgr = new CustomerManager(); BookingManager bmgr = new BookingManager(); Customers custEntity = new Customers(); Bookings bookingEntity = new Bookings(); int? customerId = null; DateTime currentDate = DateTime.Now; var convertedForDate = bmgr.DateTimeConverter(booking.BookingForDate); // Convert dates passed from fronted to DateTime objects int? allSeatsId = smgr.GetSeatPlacementId(booking.RowNumber, booking.SeatNumber); // Gets the allSeatsId from AllSeats from row and seatnumber try { custEntity = cmgr.AddCustomer(booking.Email); // try to create new customer entity db.Customers.Add(custEntity); db.SaveChanges(); // if customer entity exists, trying to insert a new customer will cause exception due to duplicate keys } catch { customerId = cmgr.FindCustomerId(booking.Email); // if customer entity already exists, get customerID from email input } if (customerId != null) // if customer entity already exists, customerId is not null, use customerId instead of entity { bookingEntity = bmgr.CustomerBooking(convertedForDate, currentDate, allSeatsId, customerId); // creates booking entity with customerId try { db.Bookings.Add(bookingEntity); // creates booking enitity, with customerId db.SaveChanges(); } catch { httpResponse.ChangeHTTPMessage("Could not make booking!", msg); return(httpResponse); } } bookingEntity = bmgr.CustomerBooking(custEntity, convertedForDate, currentDate, allSeatsId); // creates booking entity, with customerEntity try { db.Bookings.Add(bookingEntity); db.SaveChanges(); } catch { httpResponse.ChangeHTTPMessage("Could not make booking!", msg); return(httpResponse); } httpResponse.ChangeHTTPMessage("Booking completed!", msg); return(httpResponse); }
private static void SolvePartTwo(List <Seat> seats) { Console.WriteLine("Part II"); var missingSeats = new SeatManager().GetMissingSeats(seats, 61, 994); Console.WriteLine($"Missing seats:"); foreach (var seatId in missingSeats) { Console.WriteLine(seatId); } }
public void AddToNote() { if (!missingInfo.WasMantioned) { GameControl.Pop(); missingInfo.WasMantioned = true; SeatManager.MentionedTip.Add(missingInfo.Tip.name); SeatManager.UpadateText(); Handheld.Vibrate(); anim.SetTrigger("Stay"); Scarred = false; } }
public void SeatManager_GetAvailableSeats_SessionParamNullException() { //Arrange var dataContext = Mock.Of <IDataContext>(); var target = new SeatManager(dataContext); //Act Action action = () => { target.GetAvailableSeats(null); }; //Assert action.ShouldThrow <ArgumentNullException>().WithMessage(new ArgumentNullException("session").Message); }
private void Update() { // This is required due to how nav mesh paths are calculated if (updatePosition && !agent.pathPending) { updatePosition = false; var networkLag = (PhotonNetwork.ServerTimestamp - currentMotion.StartTimeStamp) / 1000f; var navAnim = GetComponentInChildren <NavAgentAnimation>(); if (SeatManager.allSeatPositions.Contains(currentMotion.Destination)) { navAnim.TargetState = NavAgentAnimation.State.Sitting; foreach (var seat in SeatManager.allSeats) { if (seat.navigationPoint.position == currentMotion.Destination) { navAnim.nextSeat = seat; } } if (!SeatManager.OccupySeat(navAnim.nextSeat, ownerView.ViewID)) { navAnim.TargetState = NavAgentAnimation.State.Moving; } } else { navAnim.TargetState = NavAgentAnimation.State.Moving; } // Lerps position based on network lag using jumpTimeIgnore if (networkLag > jumpTimeIgnore) { var totalTripTime = PathLength(agent.path.corners) / agent.speed; var step = networkLag / totalTripTime; var syncedPosition = ArrayLerp(agent.path.corners, step); this.agent.Warp(syncedPosition); this.agent.SetDestination(currentMotion.Destination); } OnMoveStarted?.Invoke(); } }
public IHttpActionResult UserAccountBooking(UserAccountBookingDTO booking) // BOOKING WITH USER ACCOUNT, NOT FINISHED { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } TextResult httpResponse = new TextResult("", msg); SeatManager smgr = new SeatManager(); CustomerManager cmgr = new CustomerManager(); BookingManager bmgr = new BookingManager(); UserAccountsManager umgr = new UserAccountsManager(); DateTime currentDate = DateTime.Now; string token = umgr.CreateToken(booking.AccountName); var loginOk = umgr.CheckIfUserIsLoggedIn(booking.LoginToken, token); // token passed from frontend to check if user is logged in, token variabel content? if (loginOk.Equals(false)) { httpResponse.ChangeHTTPMessage("User is not logged in!", msg); return(httpResponse); } ; var convertedForDate = bmgr.DateTimeConverter(booking.BookingForDate); // Converting dates into DateTime objects if (convertedForDate.Equals(null)) // checking if date input is valid { httpResponse.ChangeHTTPMessage("Date input is not correct!", msg); return(httpResponse); } ; int?allSeatsId = smgr.GetSeatPlacementId(booking.RowNumber, booking.SeatNumber); // Gets the allSeatsId from AllSeats from row and seatnumber int bookingId = smgr.CheckIfSeatIsTaken(convertedForDate, allSeatsId); // checks if seat is taken, returns bookingId if (bookingId != 0) { httpResponse.ChangeHTTPMessage("That seat is taken!", msg); // http response if seat is taken return(httpResponse); } var custId = umgr.GetCustomerIdFromUserAccountName(booking.AccountName); var email = cmgr.GetCustomerEmailFromAccountName(custId); var bookingEntity = bmgr.UserAccountBooking(allSeatsId, custId, convertedForDate, currentDate); db.Bookings.Add(bookingEntity); db.SaveChanges(); httpResponse.ChangeHTTPMessage("Booking has been made!", msg); // HTTP response if fails to savechanges to DB return(httpResponse); }
public void ShouldFindMissingSeats() { // Arrange var seats = new List <Seat> { new Seat(0, 1), new Seat(0, 2), new Seat(0, 3), new Seat(0, 4), }; // Act var missingSeats = new SeatManager().GetMissingSeats(seats, 1, 9); // Assert missingSeats.Should().Contain(new[] { 5, 6, 7, 8 }); }
public IHttpActionResult GetAvailableSeats(DateAndLoungeDTO dateAndLounge) // GETS AVAILABLE SEATS { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } TextResult httpResponse = new TextResult("", msg); SeatManager smgr = new SeatManager(); CustomerManager cmgr = new CustomerManager(); BookingManager bmgr = new BookingManager(); UserAccountsManager umgr = new UserAccountsManager(); SeatAndRowDTO seatAndRowLists = new SeatAndRowDTO(); DateTime currentDate = DateTime.Now; var convertedBookingDate = bmgr.DateTimeConverter(dateAndLounge.BookingForDate); // Conert to datetime object var seatsList = smgr.GetAllSeatsInList(dateAndLounge.LoungeId); // get AllSeatsIds from AllSeats and puts in list var bookedSeatsList = smgr.GetAllBookedSeatFromDate(convertedBookingDate); // Gets AllseatsIds from Bookings from a date var availableSeatsIdList = smgr.CompareAllSeatsAndBookedSeats(seatsList, bookedSeatsList); // compares AllSeats and Booked seat and return difference var(rowList, seatList) = smgr.GetUnbookedAllSeatIdsFromAllSeats(availableSeatsIdList); // Gets row and seat from available seats and puts in lists seatAndRowLists.Row = rowList; seatAndRowLists.SeatNumber = seatList; return(Ok(seatAndRowLists)); // Returns available seats }
protected void CancelReservationButton_Click(object sender, EventArgs e) { SeatManager.CancelReservation((string)Session["StudentNumber"], (string)Session["Grade"]); Response.Redirect("/"); }