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(); }
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); } }