//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();
        }
Пример #2
0
        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();
        }