//private async Task SuspensionsHub_OnNewSuspension(object _, NewSuspensionEventArgs args) //{ // var qParam = new QueryParam("suspensionId", args.SuspensionId.ToString()); // var newSuspension = await apiGateway.Get<SuspensionModel>("suspensions", queryParams: qParam).ConfigureAwait(false); // UpdateState(newSuspension); //} private void UpdateState(SuspensionModel model) { if (model == null) { return; } var existingValue = Suspensions.Find(x => x.SuspensionId == model.SuspensionId); Suspensions.Remove(existingValue); Suspensions.Add(model); NotifyStateChanged(); }
private async Task SuspensionsHub_SuspensionUpdated(object _, SuspensionUpdatedEventArgs args) { if (!string.Equals(CurrentlySelectedChannel, args.ChannelOfOrigin, StringComparison.OrdinalIgnoreCase)) { return; } var qParam = new QueryParam("suspensionId", args.SuspensionId.ToString()); var updatedSuspension = await apiGateway.Get <SuspensionModel>("suspensions", queryParams : qParam).ConfigureAwait(false); if (updatedSuspension == null) { return; } var existingSuspension = Suspensions.Find(x => x.SuspensionId == args.SuspensionId); Suspensions.Remove(existingSuspension); Suspensions.Add(updatedSuspension); NotifyStateChanged(); }