コード例 #1
0
        public void Handle(UpdateAirplaneCommand message)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return;
            }

            var airplane = _airplaneRepository.Get(message.Id);

            if (airplane == null)
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "Aeronave não encontrada"));
                return;
            }

            if (_airplaneRepository.Find(a => a.Code == message.Code && a.Id != message.Id).Any())
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "Código já cadastrado"));
                return;
            }

            airplane.SetCode(message.Code);
            airplane.SetModel(message.Model);
            airplane.SetNumberOfPassengers(message.NumberOfPassengers);

            _airplaneRepository.Update(airplane);

            Commit();
        }
コード例 #2
0
        public string AddParkingReservation(AirplaneParkingRequest request)
        {
            var airplane = _airplaneRepository.Get(new Airplane
            {
                Model = request.Model.Trim(),
                Type  = request.Type.Trim()
            });

            if (airplane == null)
            {
                return("We don't know the plane you are trying to park");
            }

            var currentReservations = _reservationRepository.GetAll();

            CurrentRevesrations(currentReservations);

            if (_currentSlotsReserved > 75)
            {
                return("Could Not reserve.");
            }

            var mappedPlaneType = MapPlaneType(airplane.Type);

            if (_currentSlotsReserved > 50 && mappedPlaneType == PlaneType.JET)
            {
                return("Could Not reserve.");
            }

            return(AddResveration(airplane));
        }
コード例 #3
0
 public ActionResult <PagedResult <Airplane> > Get(int actualPage = 1, int pageSize = 20)
 {
     return(Ok(_airplaneRepository.Get(actualPage, pageSize)));
 }
コード例 #4
0
 public async Task <Airplane> BuscarPorId(int id)
 {
     return(await _repository.Get(id));
 }
コード例 #5
0
 public AirplaneViewModel Get(Guid id)
 {
     return(_mapper.Map <AirplaneViewModel>(_airplaneRepository.Get(id)));
 }
コード例 #6
0
 public ActionResult <IEnumerable <Airplane> > Get()
 {
     return(Ok(_airplane.Get()));
 }