예제 #1
0
        public void OnNext(IVehicle value)
        {
            if (Vehicles.ContainsKey(value.Id))
            {
                Vehicles[value.Id] = value;
            }
            else
            {
                Vehicles.Add(value.Id, value);
            }

            _log.Info("Vehicles observer OnNext. Count:{0}", Vehicles.Keys.Count);

            OnPropertyChanged("Vehicles");
            OnPropertyChanged("Vehicles.Values");
            UpdateCenter();
        }
예제 #2
0
        private void refreshVehicle(ClientVehicleDto vehicle, Enums.ModificationType mtd)
        {
            bool update = false;

            if (!Vehicles.ContainsKey(vehicle.VehicleId))
            {
                update = true;
            }
            Vehicles.AddOrUpdate(vehicle.VehicleId, vehicle, (key, oldValue) =>
            {
                if (vehicle.Name != oldValue.Name)
                {
                    update = true;
                }
                return(vehicle);
            });
            if (update && OnVehicleUpdated != null)
            {
                OnVehicleUpdated(vehicle);
            }
        }