コード例 #1
0
        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());
            }
        }
コード例 #2
0
ファイル: FlightController.cs プロジェクト: mehdin13/Airport
        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);
            }
        }