コード例 #1
0
        public void AddItemShouldAddAircraftAndReturnIdWhenOnAddItemEventIsRaised()
        {
            var model          = "Test Model";
            var totalSeats     = 50;
            var manufacturerId = 1;

            var aircraftEventArgs = new AircraftsManagementEventArgs()
            {
                Model                  = model,
                TotalSeats             = totalSeats,
                AircraftManufacturerId = manufacturerId
            };

            this.aircraftsView.Raise(a => a.OnAircraftsAddItem += null, aircraftEventArgs);

            var expectedId = 1;

            this.aircraftsServices.Verify(
                a => a.AddAircraft(
                    It.Is <Aircraft>(ar => ar.Model == model && ar.TotalSeats == totalSeats &&
                                     ar.AircraftManufacturerId == manufacturerId)),
                Times.Once);

            Assert.AreEqual(expectedId, aircraftEventArgs.Id);
        }
コード例 #2
0
        private void View_OnAircraftsUpdateItem(object sender, AircraftsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(AircraftsManagementEventArgs));
            }

            var aircraft = this.aircraftsServices.GetAircraft(e.Id);

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

            this.View.TryUpdateModel(aircraft);

            if (this.View.ModelState.IsValid)
            {
                if (e.AircraftManufacturerId <= 0)
                {
                    throw new ArgumentOutOfRangeException(ErrorMessages.INVALID_ID);
                }

                aircraft.AircraftManufacturerId = e.AircraftManufacturerId;
                this.aircraftsServices.UpdateAircraft(e.Id, aircraft);
            }
        }
コード例 #3
0
        private void View_OnAircraftsDeleteItem(object sender, AircraftsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(AircraftsManagementEventArgs));
            }

            this.aircraftsServices.DeleteAircraft(e.Id);
        }
コード例 #4
0
        private void View_OnAircraftsAddItem(object sender, AircraftsManagementEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(AircraftsManagementEventArgs));
            }

            var aircraft = new Aircraft()
            {
                Model                  = e.Model,
                TotalSeats             = e.TotalSeats,
                AircraftManufacturerId = e.AircraftManufacturerId
            };

            e.Id = this.aircraftsServices.AddAircraft(aircraft);
        }
コード例 #5
0
        protected void CreateAircraftBtn_Click(object sender, EventArgs e)
        {
            if (this.Page.IsValid)
            {
                var eventArgs = new AircraftsManagementEventArgs()
                {
                    Model                  = this.AircraftModelTextBox.Text.ToUpper(),
                    TotalSeats             = int.Parse(this.TotalSeatsTextBox.Text),
                    AircraftManufacturerId = int.Parse(this.AircraftManufacturersDropDownList.SelectedItem.Value)
                };

                this.OnAircraftsAddItem?.Invoke(sender, eventArgs);

                this.SuccessPanel.Visible        = true;
                this.AddedAircraftIdLiteral.Text = eventArgs.Id.ToString();

                this.ClearFields();
            }
        }