/// <summary> /// sends a number of messages to the cloud /// </summary> /// <param name="numMsg">The number of messages to send</param> /// <returns></returns> private async Task SendMessages(int numMsg) { sendMsg = true; string listElements = ""; string postStatus = Constants.READY_AZURE; for (int i = 0; i < numMsg; i++) { if (sendMsg) { string msg = await lp.GetLocation(); string[] parsedmsg = msg.Split(','); var coords = new { type = "coordinates", latitude = parsedmsg[0], longitude = parsedmsg[1], deviceName = msgHub.GetDeviceId(), version = Constants.VERSION }; var str = new { message = coords, time = DateTime.Now.ToString() }; var fullMsg = JsonConvert.SerializeObject(str); try { await msgHub.SendDeviceToCloudMessageAsync(fullMsg); } catch (Exception) { postStatus = Constants.ERROR_AZURE; break; } await Task.Delay(TimeSpan.FromSeconds(1)); string newElement = "<li class='msg'>" + fullMsg + "</li>\n"; listElements = newElement + listElements; } else { Debug.WriteLine("MESSAGES STOPPED"); break; } } listElements = Constants.LIST_HEADER + "\n" + listElements; string html = await LoadandUpdateStatus(Constants.LIST_HEADER, listElements, NavConstants.DEFAULT_PAGE); html = await LoadandUpdateStatus(status, postStatus, NavConstants.DEFAULT_PAGE); status = postStatus; }
public async Task <string> sendCoordinateMessage(string device) { string msg = await GenerateCoordinateMessage(device); try { await msgHub.SendDeviceToCloudMessageAsync(msg); return(msg); } catch (System.Exception e) { throw new Exception(e.Message); } }