public async Task RefreshProofRequests() { try { RefreshingProofRequests = true; ProofRequests.Clear(); var agentContext = await _agentContextProvider.GetContextAsync(); IEnumerable <ProofRecord> proofRequests = (await _proofService.ListRequestedAsync(agentContext)); IList <ProofRequestViewModel> proofRequestVms = new List <ProofRequestViewModel>(); foreach (var proofReq in proofRequests) { var connection = await _connectionService.GetAsync(agentContext, proofReq.ConnectionId); var proofRequestViewModel = _scope.Resolve <ProofRequestViewModel>(new NamedParameter("proofRecord", proofReq), new NamedParameter("connection", connection)); proofRequestVms.Add(proofRequestViewModel); } ProofRequests.InsertRange(proofRequestVms); HasRequests = ProofRequests.Any(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { RefreshingProofRequests = false; } }
public async Task RefreshProofRequests(string tab = null) { try { RefreshingProofRequests = true; ProofRequests.Clear(); var agentContext = await _agentContextProvider.GetContextAsync(); IEnumerable <ProofRecord> proofRequests = null; if (tab == null || tab.Equals(nameof(ProofState.Requested))) { proofRequests = await _proofService.ListRequestedAsync(agentContext); } else if (tab.Equals(nameof(ProofState.Accepted))) { proofRequests = await _proofService.ListAcceptedAsync(agentContext); } else if (tab.Equals(nameof(ProofState.Proposed))) { proofRequests = await _proofService.ListProposedAsync(agentContext); } IList <ProofRequestViewModel> proofRequestVms = new List <ProofRequestViewModel>(); foreach (var proofReq in proofRequests) { var connection = (proofReq.ConnectionId == null) ? null : await _connectionService.GetAsync(agentContext, proofReq.ConnectionId); var proofRequestViewModel = _scope.Resolve <ProofRequestViewModel>(new NamedParameter("proofRecord", proofReq), new NamedParameter("connection", connection)); proofRequestVms.Add(proofRequestViewModel); } ProofRequests.InsertRange(proofRequestVms); HasRequests = ProofRequests.Any(); } catch (Exception xx) { await UserDialogs.Instance.AlertAsync(xx.Message); Debug.WriteLine(xx.StackTrace); } finally { RefreshingProofRequests = false; } }
private async Task GetRequiredRecord() { IsRefreshing = true; var agentContext = await _agentProvider.GetContextAsync(); //ISearchQuery credentialsQuery = ListOffersAsync var listCredentials = await _credentialService.ListOffersAsync(agentContext); var listProofRequests = await _proofService.ListRequestedAsync(agentContext); IList <NotificationItem> notificationItemList = new List <NotificationItem>(); //old version of notification //IList<CredOfferViewModel> credOfferViewModels = new List<CredOfferViewModel>(); foreach (var item in listCredentials) { CredOfferViewModel credOfferViewModel = _scope.Resolve <CredOfferViewModel>(new NamedParameter("credentialOffer", item)); NotificationItem notificationItem = new NotificationItem() { NotificationType = "Credential Offer", NotificationTitle = credOfferViewModel.CredentialName, NotificationContent = "You've received a credentital offer.", ItemViewModel = credOfferViewModel, IssuedDate = credOfferViewModel.IssuedDate }; var connection = await _connectionService.GetAsync(agentContext, item.ConnectionId); notificationItem.OrganizeAlias = connection.Alias; //old version of notification //credOfferViewModels.Add(credOfferViewModel); notificationItemList.Add(notificationItem); } //old version of notification //IList<ProofRequestViewModel> proofRequestViewModels = new List<ProofRequestViewModel>(); foreach (var item in listProofRequests) { ProofRequestViewModel proofRequestVm = _scope.Resolve <ProofRequestViewModel>(new NamedParameter("proofRequestRecord", item)); NotificationItem notificationItem = new NotificationItem() { NotificationType = "Proof Request", NotificationTitle = proofRequestVm.ProofRequestObject.Name, NotificationContent = "You've received a request for proof of credential.", ItemViewModel = proofRequestVm, IssuedDate = proofRequestVm.IssuedDate }; var connection = await _connectionService.GetAsync(agentContext, item.ConnectionId); notificationItem.OrganizeAlias = connection.Alias; //old version of notification //proofRequestViewModels.Add(proofRequestVm); notificationItemList.Add(notificationItem); } //old version of notification //_proofRequestVms.Clear(); //_proofRequestVms.InsertRange(proofRequestViewModels); //_credentialOfferVms.Clear(); //_credentialOfferVms.InsertRange(credOfferViewModels); //--end old version of notification var orderList = notificationItemList.OrderBy(item => item.IssuedDate); NotificationItems.Clear(); NotificationItems.InsertRange(orderList); IsRefreshing = false; }