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()); } }
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()); } }