AltitudeAngelWings.Service.FlightData.FlightDataService.FlightDataService C# (CSharp) Метод

FlightDataService() публичный Метод

public FlightDataService ( IObservable pollInterval, IFlightDataProvider flightDataProvider ) : System
pollInterval IObservable
flightDataProvider IFlightDataProvider
Результат System
        public FlightDataService(
            IObservable<long> pollInterval,
            IFlightDataProvider flightDataProvider)
        {
            _flightDataProvider = flightDataProvider;

            _rawFlightData = pollInterval
                .Select(i => _flightDataProvider.GetCurrentFlightData())
                .Publish();

            FlightArmed = _rawFlightData
                .DistinctUntilChanged(i => i.Armed)
                .Where(i => i.Armed)
                .Select(flightData => new Models.FlightData(flightData) {HomePosition = flightData.CurrentPosition});

            FlightDisarmed = _rawFlightData
                .DistinctUntilChanged(i => i.Armed)
                .Where(i => !i.Armed);

            ArmedFlightData = _rawFlightData
                .Where(i => i.Armed)
                .Select(flightData => new Models.FlightData(flightData) {HomePosition = _homePosition});
        }