Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
        /// <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);
        }