public string GetValues(int typeOfCode) { string result = ""; QuackUser currUser = Session["QuackUser"] as QuackUser; if (currUser == null) { Result resObject = LogIn(); if (resObject.Success) { currUser = JsonConvert.DeserializeObject <QuackUser>(resObject.Message); Session["QuackUser"] = currUser; } } if (currUser.id != null && currUser.id.Length > 0) { Result measurementResult = ExecuteCode(currUser, typeOfCode); if (measurementResult.Success) { Newtonsoft.Json.Linq.JObject o = Newtonsoft.Json.Linq.JObject.Parse(measurementResult.Message); result = o["result"]["data"]["p"]["labels"].First.ToString(); // Delete string expID = o["code"]["idCode"].ToString(); DeleteExperiment(expID, currUser); } } Debug.Write("result " + result); return(result); }
public void DeleteExperiment(string experimentID, QuackUser currUser) { //DELETE https://quantumexperience.ng.bluemix.net/api/users/a3e5c196cb90688ba9a50dd7607999a6/codes/553c3398a4039e2b809cc6ec110e971e HTTP/1.1 //Host: quantumexperience.ng.bluemix.net Result result = new Result(); string baseUrl = string.Format("/users/{0}/codes/{1}", currUser.userid, experimentID); System.Diagnostics.Debug.WriteLine("Deleteing to URL: " + baseUrl); result = GetAPIData(baseUrl, HttpMethod.Delete, null, currUser); if (result.Success) { Debug.WriteLine("Deleted."); } else { Debug.WriteLine("Failed: " + result.Message); } }
private Result GetAPIData(string urlRelativePath, HttpMethod httpMethod, HttpContent contentToSend, QuackUser currUser) { System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; Result result = new Result(); if (currUser.ttl > 0 && httpMethod != HttpMethod.Delete) { urlRelativePath = urlRelativePath + "&access_token=" + currUser.id; } string url = _baseUrl + urlRelativePath; HttpRequestMessage request = new HttpRequestMessage(httpMethod, url); request.Content = contentToSend; if (currUser.ttl > 0) { request.Headers.Add("X-Access-Token", currUser.id); } using (HttpResponseMessage response = _client.SendAsync(request).Result) if (response.IsSuccessStatusCode) { using (HttpContent content = response.Content) { result.Message = content.ReadAsStringAsync().Result; result.Success = response.IsSuccessStatusCode; } } else { result.Message = response.ReasonPhrase; result.Success = false; } return(result); }
public Result ExecuteCode(QuackUser currUser, int typeOfCode) { Result result = new Result(); string url = string.Format("/codes/execute?shots={0}&deviceRunType={1}", _shots.ToString(), _deviceRunType ); var kvp = new List <KeyValuePair <string, string> >(); kvp.Add(new KeyValuePair <string, string>("qasm", GetCode(typeOfCode))); kvp.Add(new KeyValuePair <string, string>("codeType", _codeType)); kvp.Add(new KeyValuePair <string, string>("name", string.Format("ExperimentID {0} ", System.Guid.NewGuid().ToString()))); HttpContent content = new FormUrlEncodedContent(kvp); result = GetAPIData(url, HttpMethod.Post, content, currUser); return(result); }