/// <summary> /// call get points service hosted in azure /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <RoverFinalPoints> GetFinalPoints(RoverInput input) { try { RoverFinalPoints finalData = new RoverFinalPoints(); JObject oJsonObject = new JObject(); oJsonObject.Add("commands", input.commands); oJsonObject.Add("startXPos", input.startXPos); oJsonObject.Add("startYPos", input.startYPos); oJsonObject.Add("max", input.max); oJsonObject.Add("startDirection", (int)input.startDirection); var content = new StringContent(oJsonObject.ToString(), Encoding.UTF8, "application/json"); HttpResponseMessage response = await _client.PostAsync("https://getpath.azurewebsites.net/api/GetRoverPositions?code=bZShJRLsump/xpZuafRYvLqOFTIdDvghauBVRjIYaqALstSRYSPqqQ==", content); if (response.IsSuccessStatusCode) { JsonSerializerSettings serSettings = new JsonSerializerSettings(); serSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var res = response.Content.ReadAsStringAsync().Result; res = JToken.Parse(res).ToString(); serSettings.StringEscapeHandling = StringEscapeHandling.Default; finalData = JsonConvert.DeserializeObject <RoverFinalPoints>(res, serSettings); } return(finalData); } catch (Exception ex) { Debug.WriteLine("\tERROR {0}", ex.Message); return(null); } }
/// <summary> /// save screen shots and all other in-outs to azure /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <bool> SaveData(RoverEntity input) { try { RoverFinalPoints finalData = new RoverFinalPoints(); JObject oJsonObject = new JObject(); oJsonObject.Add("input", input.input); oJsonObject.Add("output", input.output); oJsonObject.Add("image", input.image); var content = new StringContent(oJsonObject.ToString(), Encoding.UTF8, "application/json"); HttpResponseMessage response = await _client.PostAsync("https://savescreenshot.azurewebsites.net/api/SaveToStorage?code=fRSf6ebJvgZj7JjUaabFGLT8uABeC/VrsTX8jU97P325wIfA0tbdyw==", content); if (response.IsSuccessStatusCode) { return(true); } return(false); } catch (Exception ex) { Debug.WriteLine("\tERROR {0}", ex.Message); return(false); } }
/// <summary> /// get final points from azure /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <RoverFinalPoints> GetFinalPosFromAzure(RoverInput input) { RoverService service = new RoverService(); RoverFinalPoints res = await service.GetFinalPoints(input); if (res != null && res.FlowPath.Length > 0) { return(res); } return(null); }