Ejemplo n.º 1
0
        static async Task Main()
        {
            CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
            locationProvider           = new LocationTracker();
            var min = new LocationDTO {
                Longitude = -10, Latitude = -10
            };
            var max = new LocationDTO {
                Longitude = 10, Latitude = 10
            };

            locationReporter = new LocationReporter(Mapper.Map(min), Mapper.Map(max));

            locationReporter.Subscribe(locationProvider,
                                       Console.WriteLine,
                                       (x) => Console.WriteLine(x.Message),
                                       (x) => { },
                                       TurnOffAll,
                                       TurnOnAll
                                       );
            deviceProvider = new DeviceTracker();
            deviceReporter = new DeviceReporter();
            deviceReporter.Subscribe(deviceProvider,
                                     Console.WriteLine,
                                     (x) => Console.WriteLine(x.Message),
                                     (x) => { _ = CurrentConnection.SendAsync(MessageParser.CreateMessage("OnNext", x, x.GetType().Name)); }
                                     );
            await CreateServer();
        }
Ejemplo n.º 2
0
        public static void Observer()
        {
            // custom
            var weatherData = new WeatherData();

            var currentDisplay = new CurrentConditionDisplay(weatherData);

            weatherData.SetMeasurements(80, 65, 30.4f);
            weatherData.SetMeasurements(82, 70, 29.2f);

            // using buildin class
            var provider = new LocationTracker();

            var reporter1 = new LocationReporter("Report1");

            reporter1.Subscribe(provider);

            var reporter2 = new LocationReporter("Report2");

            reporter2.Subscribe(provider);

            provider.TrackLocation(new Location(47.6456, -122.1312));
            reporter1.Unsubscribe();
            provider.TrackLocation(new Location(47.6677, -122.1199));
            provider.TrackLocation(null);
            provider.EndTransmission();
        }
        public void TestMethod1()
        {
            // Define a provider and two observers.
            LocationTracker provider = new LocationTracker();
            LocationReporter reporter1 = new LocationReporter("FixedGPS");
            reporter1.Subscribe(provider);
            LocationReporter reporter2 = new LocationReporter("MobileGPS");
            reporter2.Subscribe(provider);

            provider.TrackLocation(new Location(47.6456, -122.1312));
            reporter1.Unsubscribe();
            provider.TrackLocation(new Location(47.6677, -122.1199));
            provider.TrackLocation(null);
            provider.EndTransmission();
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            LocationTracker  provider  = new LocationTracker();
            LocationReporter reporter1 = new LocationReporter("FixedGPS");

            reporter1.Subscribe(provider);
            LocationReporter reporter2 = new LocationReporter("MobileGPS");

            reporter2.Subscribe(provider);

            provider.TrackLocation(new Location(1, 2));
            reporter1.Unsubscribe();
            provider.TrackLocation(new Location(3, 4));
            provider.TrackLocation(null);
            provider.EndTransmission();
        }
Ejemplo n.º 5
0
    static void Main(string[] args)
    {
        // Define a provider and two observers.
        LocationTracker  provider  = new LocationTracker();
        LocationReporter reporter1 = new LocationReporter("FixedGPS");

        reporter1.Subscribe(provider);
        LocationReporter reporter2 = new LocationReporter("MobileGPS");

        reporter2.Subscribe(provider);

        provider.TrackLocation(new Location(47.6456, -122.1312));
        reporter1.Unsubscribe();
        provider.TrackLocation(new Location(47.6677, -122.1199));
        provider.TrackLocation(null);
        provider.EndTransmission();
    }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {

            //Define a provider and two observers

            LocationTracker provider = new LocationTracker();
            LocationReporter reporter1 = new LocationReporter("FixGPS");
            reporter1.Subscribe(provider);
            LocationReporter reporter2 = new LocationReporter("MobileGPS");
            reporter2.Subscribe(provider);
            provider.TrackLocation(new Location(47.6456, -122.1312));
            reporter1.Unsubscribe();
            provider.TrackLocation(new Location(47.6677, -122.1199));
            provider.TrackLocation(null);
            provider.EndTransmission();
            Console.ReadKey();
        }
Ejemplo n.º 7
0
        public static void TestObserver()
        {
            Console.WriteLine("-- TEST OBSERVER IObservable Pattern --");
            LocationReporter reporter  = new LocationReporter();
            LocationObserver observer1 = new LocationObserver("observer1");
            LocationObserver observer2 = new LocationObserver("observer2");
            LocationObserver observer3 = new LocationObserver("observer3");

            observer1.Subscribe(reporter);
            observer2.Subscribe(reporter);
            observer3.Subscribe(reporter);

            reporter.TrackLocation(new Location(10, 10));
            observer3.Unsubscribe();

            reporter.TrackLocation(new Location(100, 333));

            reporter.TrackLocation(null);

            reporter.EndTransmission();
        }
        private static void RecreatedReporterAndTrackerExample()
        {
            Console.WriteLine("02 Rebuild Observable with Rx");
            var provider = new LocationTracker(); // Observable

            var reporter1 = new LocationReporter("FixedGPS "); // Observer
            reporter1.Subscribe(provider);

            var reporter2 = new LocationReporter("MobileGPS"); // Observer
            reporter2.Subscribe(provider);

            provider.TrackLocation(new Location(47.6456, -123.1312));
            provider.TrackLocation(new Location(31.6677, -11.1199));

            reporter1.OnCompleted();

            provider.TrackLocation(new Location(84.6677, -21.1023));
            provider.TrackLocation(null);
            provider.EndTransmission();

            ConsoleUtils.WaitForEnter();
        }