示例#1
0
        public async Task <ReturnResult <int> > Create(CityPolygonView polygon)
        {
            var result = new ReturnResult <int>();

            try
            {
                //TODO : add validation

                var cityPolygon = _mapper.Map <CityPolygon>(polygon);
                db.CityPolygon.Add(cityPolygon);
                await db.SaveChangesAsync();

                result.Data           = cityPolygon.Id;
                result.HttpStatusCode = System.Net.HttpStatusCode.OK;
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message, ex);

                result.Errors.Add(ex.Message);
                result.HttpStatusCode = System.Net.HttpStatusCode.InternalServerError;
            }
            return(result);
        }
示例#2
0
        public async Task <ReturnResult <int> > Create(CityPolygonView polygon)
        {
            var result = new ReturnResult <int>();

            try
            {
                var apiBaseUrl = _appSettings.ApiConfiguration.BaseUrl;
                var apiKey     = _appSettings.ApiConfiguration.Key;

                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(apiBaseUrl);
                    client.DefaultRequestHeaders.TryAddWithoutValidation("x-api-key", apiKey);
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));


                    var json    = JsonConvert.SerializeObject(polygon);
                    var payload = new StringContent(json, Encoding.UTF8, "application/json");

                    var response = await client.PostAsync($"api/v1/Polygon", payload);

                    var responseJson = await response.Content.ReadAsStringAsync();

                    result = JsonConvert.DeserializeObject <ReturnResult <int> >(responseJson);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message, null);

                result.Errors.Add(ex.Message);
                result.HttpStatusCode = System.Net.HttpStatusCode.InternalServerError;
            }

            return(result);
        }