コード例 #1
0
        public ActionResult MyPendingCredentials()
        {
            if (Username == null)
            {
                return(RedirectToAction("Login"));
            }
            MyPendingCredentialsViewModel model = new MyPendingCredentialsViewModel();

            model.Credentials = SignedNotSavedCredentials.ContainsKey(Username)? SignedNotSavedCredentials[Username] : new List <BuildSignedVC>();
            model.User        = Username;
            return(View(model));
        }
コード例 #2
0
        public ActionResult SignCredential(string user, string id)
        {
            var credencial = UnsignedCredentials[user].SingleOrDefault(x => x.unsignedCredential.id.Replace("claimId:", "") == id);
            var json       = JsonConvert.SerializeObject(credencial);

            json = json.Replace("unsignedVC", "unsignedCredential");
            var data = new StringContent(json, Encoding.UTF8, "application/json");

            var url = URLAffinidy + "/wallet/sign-credential";

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Api-Key", HashAffinidy);
                client.DefaultRequestHeaders.Add("Authorization", AccessToken);
                var response = client.PostAsync(url, data).Result;

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    string result    = response.Content.ReadAsStringAsync().Result;
                    var    respuesta = JsonConvert.DeserializeObject <BuildSignedVC>(result);
                    if (SignedNotSavedCredentials.ContainsKey(user))
                    {
                        SignedNotSavedCredentials[user].Add(respuesta);
                    }
                    else
                    {
                        SignedNotSavedCredentials.Add(user, new List <BuildSignedVC>()
                        {
                            respuesta
                        });
                    }
                    UnsignedCredentials[user].Remove(credencial);
                    return(RedirectToAction("Index"));
                }

                ViewBag.Error = response.StatusCode.ToString() + ":" + response.Content.ReadAsStringAsync().Result;
                return(RedirectToAction("ViewDetails"));
            }
        }