/// <inheritdoc /> protected override void OnInitialize() { base.OnInitialize(); DisplayName = Strings.CreateRevisionViewModel_DisplayName; var loadingTask = Task.Run(async delegate { try { _currentRevisions = await _productServiceModel.GetProducts(new ProductQuery { Identifier = Product.Identifier, RevisionFilter = RevisionFilter.All }).ConfigureAwait(false); await Execute.OnUIThreadAsync(() => NewRevision = (short)(_currentRevisions.Max(pr => pr.Revision) + 1)); } catch (Exception e) { await Execute.OnUIThreadAsync(() => ErrorMessage = e.Message); } }); TaskNotifier = new TaskNotifier(loadingTask); }
protected override void OnInitialize() { base.OnInitialize(); DisplayName = Strings.RevisionsViewModel_DisplayName; var loadingTask = Task.Run(async delegate { try { var revisions = await _productServiceModel.GetProducts(new ProductQuery { Identifier = Product.Identifier, RevisionFilter = RevisionFilter.All }).ConfigureAwait(false); var vms = revisions.Select(r => new ProductInfoViewModel(r)).ToArray(); await Execute.OnUIThreadAsync(() => Revisions.AddRange(vms)); } catch (Exception e) { await Execute.OnUIThreadAsync(() => ErrorMessage = e.Message); } finally { await Execute.OnUIThreadAsync(CommandManager.InvalidateRequerySuggested); } }); TaskNotifier = new TaskNotifier(loadingTask); }
/// <inheritdoc /> protected override void OnInitialize() { DisplayName = Strings.RemoveProductViewModel_DisplayName; var loadingTask = Task.Run(async delegate { var affectedProducts = await _productServiceModel.GetProducts(new ProductQuery { Identifier = ProductToRemove.Identifier, Revision = ProductToRemove.Revision, RevisionFilter = RevisionFilter.Specific, Selector = Selector.Parent }).ConfigureAwait(false); var vms = affectedProducts.Select(r => new ProductInfoViewModel(r)).ToArray(); await Execute.OnUIThreadAsync(delegate { AffectedProducts.AddRange(vms); ErrorMessage = Strings.RemoveProductViewModel_NonDeletableHint; }); }); TaskNotifier = new TaskNotifier(loadingTask); }