Beispiel #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CheckInManager CM = new CheckInManager();

        list       = CM.GetList();
        Page.Title = "CheckIn";
    }
Beispiel #2
0
        private void btnCheckIn_Click(object sender, EventArgs e)
        {
            #region Checkin Validations
            if (!currentFindPassengerResult.IsSuccess)
            {
                MessageBox.Show("There were errors during scanning boarding pass, try scanning boarding pass again first.", "Checkin Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (currentFindPassengerResult.PassengerNameRecord.CheckedIn ||
                txtCheckInStatus.Text.Equals("YES")
                )
            {
                MessageBox.Show("Passenger already checked in.", "Checkin Warning", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            #endregion

            CheckInManager cm            = new CheckInManager();
            var            checkInResult = cm.CheckIn(currentFindPassengerResult.PassengerNameRecord.Id, Convert.ToDecimal(txtAllowance.Text));

            if (checkInResult.IsSuccess)
            {
                MessageBox.Show("Passenger checked in successfully!", "Checkin Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtCheckInStatus.Text = "YES";
            }
            else
            {
                MessageBox.Show(checkInResult.Error, "Checkin Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #3
0
        public void CheckIn_Success_Test()
        {
            // Arrange FindPassenger

            passengerServiceMock.Setup(x => x.FindPassenger(It.IsAny <FindPassengerRequest>()))
            .Returns(new FindPassengerResult()
            {
                IsSuccess = true, PassengerNameRecord = new PassengerNameRecord()
                {
                    FirstName = "Jon", LastName = "Doe", Id = new Guid("d72df8f1-bdd6-4cc3-b26c-7ffbdc07d70b"), Allowance = 23
                }
            });
            CheckInManager cm1 = new CheckInManager(passengerServiceMock.Object);

            var findPassengerResult = cm1.FindPassenger(_bpString);

            // Arrange Checkin
            passengerServiceMock.Setup(x => x.CheckIn(findPassengerResult.PassengerNameRecord.Id, findPassengerResult.PassengerNameRecord.Allowance))
            .Returns(new CheckInResult()
            {
                IsSuccess = true
            });
            CheckInManager cm2 = new CheckInManager(passengerServiceMock.Object);

            // Act
            var checkInResult = cm2.CheckIn(findPassengerResult.PassengerNameRecord.Id, findPassengerResult.PassengerNameRecord.Allowance);

            // Assert
            Assert.AreEqual(checkInResult.IsSuccess, true);
        }
Beispiel #4
0
        public void CheckInPercentTest()
        {
            CheckInManager manager = new CheckInManager();

            Assert.AreEqual(1, manager.CheckInResult.CheckInCount);

            CheckInManager.CheckInStatusTypes result = manager.CheckIn("user1", true);
            Assert.AreEqual(result, CheckInManager.CheckInStatusTypes.Duplicate);
            Assert.AreEqual(1, manager.CheckInResult.CheckInCount);

            Assert.AreEqual(50, manager.CheckInResult.CheckInByAIPercent);
            Assert.AreEqual(50, manager.CheckInResult.CheckInByAdminPercent);

            result = manager.CheckIn("user2", true);
            Assert.AreEqual(result, CheckInManager.CheckInStatusTypes.Success);
            Assert.AreEqual(2, manager.CheckInResult.CheckInCount);

            Assert.AreEqual(50, manager.CheckInResult.CheckInByAIPercent);
            Assert.AreEqual(50, manager.CheckInResult.CheckInByAdminPercent);

            result = manager.CheckIn("user3", true);
            Assert.AreEqual(result, CheckInManager.CheckInStatusTypes.Unknown);
            Assert.AreEqual(2, manager.CheckInResult.CheckInCount);

            Assert.AreEqual(2, manager.CheckInResult.TotalCount);
        }
Beispiel #5
0
        public void FindPassenger_ThrowsException_Test()
        {
            // Arrange
            passengerServiceMock.Setup(x => x.FindPassenger(It.IsAny <FindPassengerRequest>())).Throws(new Exception());

            CheckInManager cm = new CheckInManager(passengerServiceMock.Object);

            // Act & Assert
            Assert.Throws <Exception>(() => cm.FindPassenger(_bpString));
        }
Beispiel #6
0
            public DefaultScope()
            {
                CheckInRepositoryMock.Setup(s => s.GetByIdAsync(
                                                It.Is <object>(v => (long)v == TestEntity.Id)))
                .ReturnsAsync(TestEntity);

                InstanceUnderTest = new CheckInManager(
                    CheckInRepositoryMock.Object,
                    LoggerMock.Object);
            }
Beispiel #7
0
        public void CheckInTest()
        {
            CheckInManager manager = new CheckInManager();

            CheckInManager.CheckInStatusTypes result = manager.CheckIn("user1", false);
            Assert.AreEqual(result, CheckInManager.CheckInStatusTypes.Duplicate);

            result = manager.CheckIn("user2", true);
            Assert.AreEqual(result, CheckInManager.CheckInStatusTypes.Success);

            result = manager.CheckIn("user3", true);
            Assert.AreEqual(result, CheckInManager.CheckInStatusTypes.Unknown);
        }
Beispiel #8
0
        public void FindPassenger_NoPassengerFound_Test()
        {
            // Arrange
            passengerServiceMock.Setup(x => x.FindPassenger(It.IsAny <FindPassengerRequest>()))
            .Returns(new FindPassengerResult()
            {
                Error = "No Passenger Found", IsSuccess = false
            });
            CheckInManager cm = new CheckInManager(passengerServiceMock.Object);

            // Act
            var result = cm.FindPassenger(_bpString);

            // Assert
            Assert.AreEqual(result.Error, "No Passenger Found");
            Assert.AreEqual(result.IsSuccess, false);
        }
Beispiel #9
0
        public void FindPassenger_Success_Test()
        {
            // Arrange
            passengerServiceMock.Setup(x => x.FindPassenger(It.IsAny <FindPassengerRequest>()))
            .Returns(new FindPassengerResult()
            {
                IsSuccess = true, PassengerNameRecord = new PassengerNameRecord()
                {
                    FirstName = "Jon", LastName = "Doe"
                }
            });
            CheckInManager cm = new CheckInManager(passengerServiceMock.Object);

            // Act
            var result = cm.FindPassenger(_bpString);

            // Assert
            Assert.AreEqual(result.PassengerNameRecord.FirstName, "Jon");
            Assert.AreEqual(result.PassengerNameRecord.LastName, "Doe");
            Assert.AreEqual(result.IsSuccess, true);
        }
Beispiel #10
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            try
            {
                CheckInManager cm = new CheckInManager();

                currentFindPassengerResult = cm.FindPassenger(txtBoardingPassString.Text);
                if (currentFindPassengerResult.IsSuccess)
                {
                    UpdatePNROnUI(currentFindPassengerResult);
                }
                else
                {
                    MessageBox.Show(currentFindPassengerResult.Error, "Passenger Service Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                // use online parser if passenger service is down
                // this can be used only to see boarding pass data
                // for operations lile checkin, passenger service must work
                var confirmResult = MessageBox.Show("Passenger service failed to scan the boarding pass due to the error " + ex.Message + Environment.NewLine +
                                                    "Do you want to use the online parser to parse the boarding pass?", "Confirm!",
                                                    MessageBoxButtons.YesNo);
                if (confirmResult == DialogResult.Yes)
                {
                    currentFindPassengerResult = BoardingPassParsor.ParseBoardingString(txtBoardingPassString.Text);
                    if (currentFindPassengerResult.IsSuccess)
                    {
                        UpdatePNROnUI(currentFindPassengerResult);
                    }
                    else
                    {
                        MessageBox.Show(currentFindPassengerResult.Error, "Parsing Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    currentFindPassengerResult.IsSuccess = false; // set success to false to make sure checkin is not allowed
                }
            }
        }
Beispiel #11
0
        public void FindNearlyUserIdTest()
        {
            CheckInManager manager = new CheckInManager();

            string userA = manager.FindNearlyUserId("user", true);

            Assert.IsTrue(string.IsNullOrEmpty(userA));

            string userB = manager.FindNearlyUserId("user", false);

            Assert.AreEqual("user1", userB);

            string userC = manager.FindNearlyUserId("user1", true);

            Assert.AreEqual("user1", userC);

            string userD = manager.FindNearlyUserId("user2", true);

            Assert.AreEqual("user2", userD);

            string userE = manager.FindNearlyUserId("user1", false);

            Assert.AreEqual("user1", userE);

            string userF = manager.FindNearlyUserId("user2", false);

            Assert.AreEqual("user2", userF);

            string userG = manager.FindNearlyUserId("user3", true);

            Assert.IsTrue(string.IsNullOrEmpty(userG));

            string userH = manager.FindNearlyUserId("user3", false);

            Assert.IsTrue(string.IsNullOrEmpty(userH));
        }
Beispiel #12
0
        public void SaveToDiskTest()
        {
            CheckInManager manager = new CheckInManager();

            Assert.IsTrue(manager.SaveToDisk());
        }