Exemplo n.º 1
0
 public SSICredentialViewModel(CredentialRecord credential)
 {
     _credential = credential;
     Attributes  = new RangeEnabledObservableCollection <SSICredentialAttribute>();
     foreach (var cred in _credential.CredentialAttributesValues)
     {
         Console.WriteLine("credential-name: " + cred.Name);
         Attributes.Add(new SSICredentialAttribute()
         {
             Name  = cred.Name,
             Value = cred.Value,
         });
     }
 }
Exemplo n.º 2
0
 public SSICredentialViewModel(
     INavigationService navigationService,
     CredentialRecord credential
     ) : base(
         nameof(SSICredentialViewModel),
         navigationService
         )
 {
     _credential = credential;
     Console.WriteLine("credential-id:" + credential.Id);
     Preferences.Set("credential-id", credential.Id);
     Attributes = new RangeEnabledObservableCollection <SSICredentialAttribute>();
     foreach (var cred in _credential.CredentialAttributesValues)
     {
         Attributes.Add(new SSICredentialAttribute()
         {
             Name  = cred.Name,
             Value = cred.Value,
         });
     }
 }
        private async Task CreateRequestedCredential()
        {
            var requestedCredentials = new RequestedCredentials();
            var context = await _agentProvider.GetContextAsync();

            _proofRequestAndCredentialMaps.Clear();
            RangeEnabledObservableCollection <ProofRequestAndCredentialMap> proofRequestMapList = new RangeEnabledObservableCollection <ProofRequestAndCredentialMap>();

            foreach (var requestedAttribute in ProofRequestObject.RequestedAttributes)
            {
                ProofRequestAndCredentialMap proofCredMap = new ProofRequestAndCredentialMap();

                proofCredMap.ProofKey = requestedAttribute.Key;

                var credentials = await _proofService.ListCredentialsForProofRequestAsync(context, _proofRequest,
                                                                                          requestedAttribute.Key);

                if (credentials.Count != 0)
                {
                    var firstSuitableCredential = credentials.First();
                    _isSatisfied          = true;
                    proofCredMap.Referent = firstSuitableCredential.CredentialInfo.Referent;

                    var key = this.RemoveAllSpaceAndToLower(requestedAttribute.Value.Name);
                    var proofKeyAndCredentialMap = firstSuitableCredential.CredentialInfo.Attributes.ToDictionary(k => RemoveAllSpaceAndToLower(k.Key), v => new KeyValuePair <string, string>(v.Key, v.Value));
                    if (proofKeyAndCredentialMap.ContainsKey(key))
                    {
                        var value   = proofKeyAndCredentialMap[key].Value;
                        var credKey = proofKeyAndCredentialMap[key].Key;
                        KeyValuePair <string, string> keyValuePair = new KeyValuePair <string, string>(credKey, value);
                        proofCredMap.CredentialAttribute = keyValuePair;
                    }

                    requestedCredentials.RequestedAttributes.Add(requestedAttribute.Key,
                                                                 new RequestedAttribute
                    {
                        CredentialId = firstSuitableCredential.CredentialInfo.Referent,
                        Revealed     = true
                    });
                }
                else
                {
                    _isSatisfied          = false;
                    proofCredMap.Referent = "Unavailable";
                    var key   = requestedAttribute.Value.Name;
                    var value = "Unavailable";
                    KeyValuePair <string, string> keyValuePair = new KeyValuePair <string, string>(key, value);
                    proofCredMap.CredentialAttribute = keyValuePair;

                    requestedCredentials.RequestedAttributes.Add(requestedAttribute.Key,
                                                                 new RequestedAttribute
                    {
                        CredentialId = "Unavailable",
                        Revealed     = true
                    });
                }

                proofRequestMapList.Add(proofCredMap);
                //requestedCredentials.RequestedAttributes.
                //proofAndCredentialAttributesMapping.Add(requestedAttribute, credentials.First().CredentialInfo.Attributes.)
            }

            foreach (var requestedAttribute in ProofRequestObject.RequestedPredicates)
            {
                var credentials = await _proofService.ListCredentialsForProofRequestAsync(context, ProofRequestObject,
                                                                                          requestedAttribute.Key);

                ProofRequestAndCredentialMap proofCredMap = new ProofRequestAndCredentialMap();
                if (credentials.Count != 0)
                {
                    var firstSuitableCredential = credentials.First();
                    _isSatisfied          = true;
                    proofCredMap.Referent = firstSuitableCredential.CredentialInfo.Referent;

                    var key = this.RemoveAllSpaceAndToLower(requestedAttribute.Value.Name);
                    var proofKeyAndCredentialMap = firstSuitableCredential.CredentialInfo.Attributes.ToDictionary(k => RemoveAllSpaceAndToLower(k.Key), v => new KeyValuePair <string, string>(v.Key, v.Value));
                    if (proofKeyAndCredentialMap.ContainsKey(key))
                    {
                        var value   = proofKeyAndCredentialMap[key].Value;
                        var credKey = proofKeyAndCredentialMap[key].Key;
                        KeyValuePair <string, string> keyValuePair = new KeyValuePair <string, string>(credKey, value);
                        proofCredMap.CredentialAttribute = keyValuePair;
                    }
                    requestedCredentials.RequestedPredicates.Add(requestedAttribute.Key,
                                                                 new RequestedAttribute
                    {
                        CredentialId = firstSuitableCredential.CredentialInfo.Referent,
                        Revealed     = true
                    });
                }
                else
                {
                    _isSatisfied          = false;
                    proofCredMap.ProofKey = requestedAttribute.Key;
                    proofCredMap.Referent = "Unavailable";
                    var key   = requestedAttribute.Value.Name;
                    var value = "Unavailable";
                    KeyValuePair <string, string> keyValuePair = new KeyValuePair <string, string>(key, value);
                    proofCredMap.CredentialAttribute = keyValuePair;
                    requestedCredentials.RequestedPredicates.Add(requestedAttribute.Key,
                                                                 new RequestedAttribute
                    {
                        CredentialId = "Unavailable",
                        Revealed     = true
                    });
                }

                proofRequestMapList.Add(proofCredMap);
            }
            ProofRequestAndCredentialMaps = proofRequestMapList;
            RequestedCredentials          = requestedCredentials;
        }
Exemplo n.º 4
0
 private void GenerateTodayLine()
 {
     TodayLine = new RangeEnabledObservableCollection <Point>();
     TodayLine.Add(new Point(0, GraphYMin, SelectedDate));
     TodayLine.Add(new Point(0, GraphYMax, SelectedDate));
 }