Beispiel #1
0
        public async Task <IActionResult> Details(int id, string scenario)
        {
            switch (scenario)
            {
            case Scenario.Online:

                try
                {
                    _passengerOperation =
                        new PassengerOperation(new OnlinePassengerManager(_passengerRepository,
                                                                          _documentTypeRepository));
                    return(Ok(await _passengerOperation.ShowPassengerInfo(id)));
                }
                catch (Exception ex)
                {
                    _logger.LogCritical(ex.Message, ex);
                    return(BadRequest(ex.Message));
                }

            case Scenario.Offline:
                try
                {
                    _passengerOperation = new PassengerOperation(new OfflinePassengerManager(_memoryCache));
                    return(Ok(await _passengerOperation.ShowPassengerInfo(id)));
                }
                catch (Exception ex)
                {
                    _logger.LogCritical(ex.Message, ex);
                    return(BadRequest(ex.Message));
                }

            default:
                return(Ok());
            }
        }
Beispiel #2
0
        public async Task <IActionResult> Create([FromBody] PassengerDto obj, string scenario)
        {
            switch (scenario)
            {
            case Scenario.Online:

                try
                {
                    _passengerOperation =
                        new PassengerOperation(new OnlinePassengerManager(_passengerRepository,
                                                                          _documentTypeRepository));
                    return(Ok(await _passengerOperation.AddNewPassenger(obj)));
                }
                catch (Exception ex)
                {
                    _logger.LogCritical(ex.Message, ex);
                    return(BadRequest(ex.Message));
                }

            case Scenario.Offline:
                try
                {
                    _passengerOperation = new PassengerOperation(new OfflinePassengerManager(_memoryCache));
                    return(Ok(await _passengerOperation.AddNewPassenger(obj)));
                }
                catch (Exception ex)
                {
                    _logger.LogCritical(ex.Message, ex);
                    return(BadRequest(ex.Message));
                }

            default:
                return(Ok());
            }
        }