示例#1
0
        public void EditFlight(Guid flightId, string departureAirportInternalName, string arrivalAirportInternalName, double aircraftFuelConsumptionLitersPerKm, double aircraftFuelConsumptionTakeoffEffort)
        {
            var dbFlight           = DbFlightsList.SingleOrDefault(f => f.Id == flightId);
            var departureDbAirport = DbAirportsList.SingleOrDefault(a => a.InternalName == departureAirportInternalName);
            var arrivalDbAirport   = DbAirportsList.SingleOrDefault(a => a.InternalName == arrivalAirportInternalName);

            if (dbFlight == null)
            {
                //Log
                Console.WriteLine($"Flight \"{flightId}\" not present in database");
                throw new InvalidOperationException($"Flight \"{flightId}\" not present in database");
            }

            if (departureDbAirport == null)
            {
                //Log
                Console.WriteLine($"Departure airport \"{departureAirportInternalName}\" not present in database");
                throw new InvalidOperationException($"Departure airport \"{arrivalAirportInternalName}\" not present in database");
            }

            if (arrivalDbAirport == null)
            {
                //Log
                Console.WriteLine($"Departure airport \"{arrivalAirportInternalName}\" not present in database");
                throw new InvalidOperationException($"Departure airport \"{arrivalAirportInternalName}\" not present in database");
            }

            try
            {
                dbFlight.Departure   = departureDbAirport;
                dbFlight.Destination = arrivalDbAirport;
                dbFlight.AircraftFuelConsumptionLitersPerKm   = aircraftFuelConsumptionLitersPerKm;
                dbFlight.AircraftFuelConsumptionTakeoffEffort = aircraftFuelConsumptionTakeoffEffort;

                SaveFlights();
            }
            catch (Exception ex)
            {
                //Log it
                Console.WriteLine(ex);
                throw;
            }
        }
示例#2
0
        public void CreateNewFlight(string departureAirportInternalName, string arrivalAirportInternalName, double aircraftFuelConsumptionLitersPerKm, double aircraftFuelConsumptionTakeoffEffort)
        {
            var departureDbAirport = DbAirportsList.SingleOrDefault(a => a.InternalName == departureAirportInternalName);
            var arrivalDbAirport   = DbAirportsList.SingleOrDefault(a => a.InternalName == arrivalAirportInternalName);

            if (departureDbAirport == null)
            {
                //Log
                Console.WriteLine($"Departure airport \"{departureAirportInternalName}\" not present in database");
                throw new InvalidOperationException($"Departure airport \"{departureAirportInternalName}\" not present in database");
            }

            if (arrivalDbAirport == null)
            {
                //Log
                Console.WriteLine($"Departure airport \"{arrivalAirportInternalName}\" not present in database");
                throw new InvalidOperationException($"Departure airport \"{arrivalAirportInternalName}\" not present in database");
            }

            try
            {
                DbFlightsList
                .Add(new DbFlight(
                         Guid.NewGuid(),
                         departureDbAirport,
                         arrivalDbAirport,
                         aircraftFuelConsumptionLitersPerKm,
                         aircraftFuelConsumptionTakeoffEffort));

                SaveFlights();
            }
            catch (Exception ex)
            {
                //Log it
                Console.WriteLine(ex);
                throw ex;
            }
        }