// 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"));
            }
        }