private async Task Populate() { IsLoadedData = false; if (HyperStore == null || string.IsNullOrWhiteSpace(MissionId)) { return; } var documentId = HyperDocumentId.Create <HyperMission>(MissionId); var argTagonomy = new RetrieveHyperDocumentArgs(documentId); var doc = await HyperStore.ExecuteAsync(argTagonomy); if (argTagonomy.ExecutionResult.IsNotSuccess) { return; } var data = doc?.GetPayload <HyperMission>(); Source = new MissionItemVm(data, HyperStore); await Source.UpdateStatus(); Source.OnToastMessage = OnToastMessage; SelectedPhase = Source.Mission?.Phases.FirstOrDefault(); IsLoadedData = true; }
private async Task Populate() { Items.Clear(); IsLoadedData = false; var findArgs = new FindHyperDocumentsArgs(); findArgs.SetDocumentType(typeof(HyperMission)); findArgs.DescriptorConditions.Mode = AndOr.Or; findArgs.DescriptorConditions.AddCondition(Assist.GetPropertyName((HyperMission i) => i.Archived), false); findArgs.DescriptorConditions.AddCondition(Assist.GetPropertyName((HyperMission i) => i.Archived), false, Comparers.DoesNotExist); var docs = await HyperStore.ExecuteAsync(findArgs); if (docs == null || !docs.Any()) { return; } foreach (var doc in docs) { var data = doc.GetPayload <HyperMission>(); if (data == null) { await OnToastMessage.InvokeAsync(new ToastMessage($"Failed to load data from document: {data.Id}", ToastMessageType.Error)); continue; } var model = new MissionItemVm(data, HyperStore); await model.UpdateStatus(); model.OnToastMessage = OnToastMessage; Items.Add(model); } IsLoadedData = true; }
public void ShowPropertyGrid(MissionItemVm item) { SelectedItem = item.Mission; IsShowProperty = true; }
public async Task ManageAsync(MissionItemVm item) { await OnManage.InvokeAsync(item.Mission); }