public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, TraceWriter log)
        {
            log.Info("C# HTTP trigger function [GetTempHumidity] processed a request.");

            using (var analytic = new AnalyticService(new RequestTelemetry
            {
                Name = nameof(GetTempHumidity)
            }))
            {
                try
                {
                    var kvps = req.GetQueryNameValuePairs();

                    var tempHumidity = CosmosDataService.Instance("TempHumidityCollection").GetTempHumidityModel();

                    if (tempHumidity.Count == 0)
                    {
                        return(req.CreateErrorResponse(HttpStatusCode.NoContent, "No results found."));
                    }

                    return(req.CreateResponse(HttpStatusCode.OK, tempHumidity));
                }
                catch (Exception e)
                {
                    // track exceptions that occur
                    analytic.TrackException(e);
                    return(req.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message, e));
                }
            }
        }
Exemple #2
0
        public static void Run([ServiceBusTrigger(Keys.ServiceBus.EndGameBusName)] BrokeredMessage message, TraceWriter log)
        {
            using (var analytic = new AnalyticService(new RequestTelemetry
            {
                Name = nameof(EndGame)
            }))
            {
                try
                {
                    var gameId = (string)message.Properties["gameId"];

                    using (var client = new CosmosDataService())
                    {
                        var game = client.GetItemAsync <Game>(gameId).Result;
                        var http = new HttpClient();
                        var url  = $"https://huntapp.azurewebsites.net/api/SaveGame";

                        dynamic payload = new JObject();
                        payload.action    = GameUpdateAction.EndGame;
                        payload.game      = JObject.FromObject(game);
                        payload.arguments = null;

                        var json     = JsonConvert.SerializeObject(payload);
                        var content  = new StringContent(json);
                        var response = http.PostAsync(url, content).Result;
                    }
                }
                catch (Exception e)
                {
                    analytic.TrackException(e);
                }
            }
        }