Beispiel #1
0
        public async Task UpdateUnitState(UpdateUnitStateModel updateUnitState)
        {
            var model = new MapsStateSetUpdateRequest
            {
                States = new List <MapsStateSetUpdate>
                {
                    new MapsStateSetUpdate
                    {
                        KeyName        = "occupied",
                        Value          = updateUnitState.Flashing,
                        EventTimestamp = DateTime.Now
                    }
                }
            };
            var body = JsonConvert.SerializeObject(model);

            Console.WriteLine($"UpdateUnitState: {body}");
            var content     = new ByteArrayContent(Encoding.UTF8.GetBytes(body));
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            queryString["subscription-key"] = _azureOptions.Maps.Key;
            queryString["api-version"]      = _azureOptions.Maps.ApiVersion;
            queryString["datasetID"]        = _azureOptions.Maps.DatasetId;
            queryString["statesetID"]       = _azureOptions.Maps.StateSetId;
            queryString["featureID"]        = updateUnitState.Unit;
            var requestUri = $"{_azureOptions.Maps.ApiEndpoint}/featureState/state?{queryString}";

            Console.WriteLine($"RequestUri: {requestUri}");
            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var responseMessage = await Client.PostAsync(requestUri, content);

            Console.WriteLine($"Response status code: {responseMessage.StatusCode}");
            Console.WriteLine($"Response: {await responseMessage.Content.ReadAsStringAsync()}");
            responseMessage.EnsureSuccessStatusCode();
        }
Beispiel #2
0
        public async Task <ActionResult> UpdateUnitState([FromBody] UpdateUnitStateModel updateUnitState)
        {
            await _azureMapsApiService.UpdateUnitState(updateUnitState);

            return(NoContent());
        }