Exemple #1
0
        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>");
         }
     }
 }
Exemple #3
0
 //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));
        }
Exemple #6
0
    private void Start()
    {
        namePanel   = nameField.GetComponent <NamePanel>();
        seatManager = GetComponent <SeatManager>();

        tracked1 = Controller1.GetComponent <SteamVR_TrackedController>();
        tracked2 = Controller2.GetComponent <SteamVR_TrackedController>();
    }
Exemple #7
0
        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;
 }
Exemple #9
0
        public void SeatManager_Ctor_DataContextParamNull()
        {
            //Arrange
            //Act
            Action action = () => { var target = new SeatManager(null); };

            //Assert
            action.ShouldThrow <ArgumentNullException>().WithMessage(new ArgumentNullException("dataContext").Message);
        }
Exemple #10
0
    // 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");
    }
Exemple #11
0
        public void SeatManager_Ctor_Right()
        {
            //Arrange
            var dataContext = Mock.Of <IDataContext>();

            //Act
            var target = new SeatManager(dataContext);

            //Assert
            target.Should().NotBeNull();
        }
Exemple #12
0
 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);
        }
Exemple #14
0
        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);
            }
        }
Exemple #15
0
 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;
     }
 }
Exemple #16
0
        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);
        }
Exemple #17
0
    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
        }
Exemple #21
0
 protected void CancelReservationButton_Click(object sender, EventArgs e)
 {
     SeatManager.CancelReservation((string)Session["StudentNumber"], (string)Session["Grade"]);
     Response.Redirect("/");
 }