// PUT: api/enderecos/{idEndereco} /// <summary> /// Editar dados de um endereço /// </summary> /// <param name="endereco"></param> public dynamic Put([FromBody] CLIENTE_ENDERECO endereco, string token) { if (Utils.ValidateToken(token)) { context.CLIENTE_ENDERECO .Where(p => p.IDENDERECO == endereco.IDENDERECO) .ToList() .ForEach(x => { x.BAIRRO = endereco.BAIRRO; x.CEP = endereco.CEP; x.CIDADE = endereco.CIDADE; x.COMPLEMENTO = endereco.COMPLEMENTO; x.ENDERECO = endereco.ENDERECO; x.IDCLIENTE = endereco.IDCLIENTE; x.IDENDERECO = endereco.IDENDERECO; x.NUM = endereco.NUM; x.UF = endereco.UF; }); context.SaveChanges(); return(endereco); } else { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Token Inválido")); } }
public async Task <dynamic> GetEnderecoByGeoLoc(string lat, string longt, string token) { if (Utils.ValidateToken(token)) { Geolocation end = new Geolocation(); using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://maps.googleapis.com/"); var resp = await client.GetAsync("/maps/api/geocode/json?latlng=-" + lat + ",-" + longt + "&key=AIzaSyBoTECWyjxczIwsvLtysnPh2J45DXRRbU8"); if (resp.IsSuccessStatusCode) { string response = resp.Content.ReadAsStringAsync().Result; end = JsonConvert.DeserializeObject <Geolocation>(response); } } CLIENTE_ENDERECO endereco = new CLIENTE_ENDERECO(); Result dadosend = end.results.FirstOrDefault(); endereco.CEP = dadosend.address_components.FirstOrDefault(w => w.types.Contains("postal_code")).long_name; endereco.ENDERECO = dadosend.address_components.FirstOrDefault(w => w.types.Contains("route")).long_name; endereco.NUM = dadosend.address_components.FirstOrDefault(w => w.types.Contains("street_number")).long_name; endereco.UF = dadosend.address_components.FirstOrDefault(w => w.types.Contains("administrative_area_level_1")).long_name; endereco.CIDADE = dadosend.address_components.FirstOrDefault(w => w.types.Contains("administrative_area_level_2")).long_name; endereco.BAIRRO = dadosend.address_components.FirstOrDefault(w => w.types.Contains("sublocality")).long_name; return(endereco); } else { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Token Inválido")); } }