public async Task <IActionResult> Detail(int id) { var result = await _unitOfWork.FlightRepository.GetAsync(f => f.Id == id, includeProperties : "To,From,Airplane"); try { var flight = result.SingleOrDefault(); //TODO: add this path in unit tests if (flight == null) { return(BadRequest()); } var distance = _distanceCalculator.GetDistance(flight); var keroseneQuantity = _keroseneCalculator.GetKeroseneQuantity(flight, distance); var model = new FlightDetailViewModel { From = flight.From.Name, To = flight.To.Name, Distance = distance, KeroseneQuantity = keroseneQuantity }; return(View(model)); } catch (InvalidOperationException exception) { //TODO: add this path in unit test //TODO: Add logging logic here return(BadRequest()); } }
public FlightDetailViewModel FlightDetail(int Id) { FlightDetailViewModel FlightdetailObj = new FlightDetailViewModel(); try { var flightobj = _flight.FindById(Convert.ToInt32(Id)); if (flightobj != null) { FlightdetailObj.FlightNumber = flightobj.Number; FlightdetailObj.Airplaincode = flightobj.FlightAirPlaneId; FlightdetailObj.airplainid = flightobj.FlightAirPlaneId; FlightdetailObj.AirplainName = _airPlane.FindById(flightobj.FlightAirPlaneId).Name; FlightdetailObj.AirlineIcon = _airline.FindById(_airPlane.FindById(flightobj.FlightAirPlaneId).AirlineId).Logo; FlightdetailObj.AirlineName = _airline.FindById(_airPlane.FindById(flightobj.FlightAirPlaneId).AirlineId).Name; FlightdetailObj.AirlineId = _airline.FindById(_airPlane.FindById(flightobj.FlightAirPlaneId).AirlineId).Id; FlightdetailObj.Flightid = flightobj.Id; FlightdetailObj.StartAirPortId = _city.FindById(_address.FindById(_airport.FindById(flightobj.StartAirPortId).AirPortAddressId).CityId).Id; FlightdetailObj.startCityName = _city.FindById(_address.FindById(_airport.FindById(flightobj.StartAirPortId).AirPortAddressId).CityId).Name; FlightdetailObj.EndAirPortid = _city.FindById(_address.FindById(_airport.FindById(flightobj.StartAirPortId).AirPortAddressId).CityId).Id; FlightdetailObj.EndcityName = _city.FindById(_address.FindById(_airport.FindById(flightobj.StartAirPortId).AirPortAddressId).CityId).Name; FlightdetailObj.WeatherIcon = _Weatger.FindByAirportId(flightobj.StartAirPortId).Icon; FlightdetailObj.StartTime = flightobj.StartTimeDate; FlightdetailObj.EndTime = flightobj.EndTimeDate; FlightdetailObj.Delay = flightobj.Delay; } return(FlightdetailObj); } catch (Exception ex) { string Mes = ex.Message; return(FlightdetailObj); } }