public void RecalculateTotals(IEnumerable <FlightBeacon> passedBeacons)
        {
            RecalculateFlightTime();

            // calculate distance
            var lastPoint = new Point()
            {
                Latitude = TakeoffLatitude, Longitude = TakeoffLongitude
            };

            Distance = 0;
            foreach (var passedBeacon in passedBeacons)
            {
                Distance += EarthCalculations.DistanceInMeters(lastPoint.Latitude, lastPoint.Longitude, passedBeacon.Latitude, passedBeacon.Longitude);
            }
            Distance += EarthCalculations.DistanceInMeters(lastPoint.Latitude, lastPoint.Longitude, LandingLatitude, LandingLongitude);

            // calculate points
            TotalPoints = passedBeacons.Sum(fb => fb.Points);
            if (Category == 0)
            {
                TotalPoints = (int)(0.5 + TotalPoints * 1.3);
            }                                                                    // 1.3 coeff for para
            if (LandingBeaconId != -1)
            {
                TotalPoints = (int)(0.5 + TotalPoints * 1.2);
            }                                                                            // 1.2 for landing in a designated spot
        }