コード例 #1
0
        private void View_OnFlightLegsUpdateItem(object sender, FlightLegsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(FlightLegsManagementEventArgs));
            }

            var flightLeg = this.flightLegsServices.GetFlightLeg(e.Id);

            if (flightLeg == null)
            {
                this.View.ModelState.AddModelError(
                    ErrorMessages.MODEL_ERROR_KEY,
                    string.Format(ErrorMessages.MODEL_ERROR_MESSAGE, e.Id));

                return;
            }

            this.View.TryUpdateModel(flightLeg);

            if (this.View.ModelState.IsValid)
            {
                flightLeg.DepartureAirportId = e.DepartureAirportId;
                flightLeg.ArrivalAirportId   = e.ArrivalAirportId;
                flightLeg.FlightId           = e.FlightId;
                flightLeg.RouteId            = e.RouteId;

                this.flightLegsServices.UpdateFlightLeg(e.Id, flightLeg);
            }
        }
コード例 #2
0
        public void AddItemShouldAddFlightLegAndReturnIdWhenOnAddItemEventIsRaised()
        {
            var departureAirportId         = 1;
            var scheduledDepartureDateTime = new DateTime(2017, 1, 1);
            var arrivalAirportId           = 1;
            var scheduledArrivalDateTime   = new DateTime(2017, 1, 1);
            var flightId = 1;
            var routeId  = 1;

            var flightLegEventArgs = new FlightLegsManagementEventArgs()
            {
                DepartureAirportId         = departureAirportId,
                ScheduledDepartureDateTime = scheduledDepartureDateTime,
                ScheduledArrivalDateTime   = scheduledArrivalDateTime,
                ArrivalAirportId           = arrivalAirportId,
                FlightId = flightId,
                RouteId  = routeId
            };

            this.flightLegsView.Raise(f => f.OnFlightLegsAddItem += null, flightLegEventArgs);

            var expectedId = 1;

            this.flightLegsServices.Verify(
                f => f.AddFlightLeg(
                    It.Is <FlightLeg>(m => m.DepartureAirportId == departureAirportId &&
                                      m.ArrivalAirportId == arrivalAirportId && m.FlightId == flightId &&
                                      m.RouteId == routeId)),
                Times.Once);

            Assert.AreEqual(expectedId, flightLegEventArgs.Id);
        }
コード例 #3
0
        private void View_OnFlightLegsDeleteItem(object sender, FlightLegsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(FlightLegsManagementEventArgs));
            }

            this.flightLegsServices.DeleteFlightLeg(e.Id);
        }
コード例 #4
0
        private void View_OnAirportGetItem(object sender, FlightLegsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(FlightLegsManagementEventArgs));
            }

            var airport = this.airportsServices.GetAirport(e.AirportId);

            if (airport == null)
            {
                this.View.Model.AirportInfo = ErrorMessages.AIRPORT_NOT_FOUND;
            }
            else
            {
                this.View.Model.AirportInfo = "Id:" + airport.Id + " " + airport.Name + " (" + airport.Abbreviation + ")";
            }
        }
コード例 #5
0
        private void View_OnFlightLegsAddItem(object sender, FlightLegsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(FlightLegsManagementEventArgs));
            }

            var newFlightLeg = new FlightLeg()
            {
                DepartureAirportId         = e.DepartureAirportId,
                ScheduledDepartureDateTime = e.ScheduledDepartureDateTime,
                ArrivalAirportId           = e.ArrivalAirportId,
                ScheduledArrivalDateTime   = e.ScheduledArrivalDateTime,
                FlightId = e.FlightId,
                RouteId  = e.RouteId
            };

            e.Id = this.flightLegsServices.AddFlightLeg(newFlightLeg);
        }
コード例 #6
0
        protected void CreateFlightLegBtn_Click(object sender, EventArgs e)
        {
            string seconds = ":00";

            // Convert string to DateTime. The string should look like this: 01/08/2008 14:50:00
            string departureDateTime = this.ScheduledDepartureDateTextBox.Text + " " +
                                       this.ScheduledDepartureTimeTextBox.Text + seconds;

            string arrivalDateTime = this.ScheduledArrivalDateTextBox.Text + " " +
                                     this.ScheduledArrivalTimeTextBox.Text + seconds;

            DateTime scheduledDepartureDateTime = Convert.ToDateTime(departureDateTime);
            DateTime scheduledArrivalDateTime   = Convert.ToDateTime(arrivalDateTime);

            if (this.AreDateTimesValid(scheduledDepartureDateTime, scheduledArrivalDateTime) &&
                this.IsDateTimeAfterDateTimeNow(scheduledDepartureDateTime) &&
                this.IsDateTimeAfterDateTimeNow(scheduledDepartureDateTime) && this.Page.IsValid)
            {
                var flightLegEventArgs = new FlightLegsManagementEventArgs()
                {
                    DepartureAirportId         = int.Parse(this.AddDepartureAirportDropDownList.SelectedItem.Value),
                    ScheduledDepartureDateTime = scheduledDepartureDateTime,
                    ArrivalAirportId           = int.Parse(this.AddArrivalAirportDropDownList.SelectedItem.Value),
                    ScheduledArrivalDateTime   = scheduledArrivalDateTime,
                    FlightId = int.Parse(this.AddFlightDropDownList.SelectedItem.Value),
                    RouteId  = int.Parse(this.AddRoutesDropDownList.SelectedItem.Value)
                };

                this.OnFlightLegsAddItem?.Invoke(sender, flightLegEventArgs);

                this.SuccessPanel.Visible         = true;
                this.AddedFlightLegIdLiteral.Text = flightLegEventArgs.Id.ToString();

                this.ClearFields();
            }
        }