private async Task <cSearch> findLatLngLocality(cSearch search) { string uri, loclatlng; // uri = "https://maps.googleapis.com/maps/api/geocode/json?latlng=12.8069792,80.197437&key=AIzaSyDZ239b7m3O6c1uZCZez5EXfNYCQ5L4dYY"; // uri = "https://maps.googleapis.com/maps/api/geocode/json?address=" + HttpUtility.UrlEncode("Kelambakkam Village, Gdt Road, Vandalur, Chennai 600048") + "&key=AIzaSyDZ239b7m3O6c1uZCZez5EXfNYCQ5L4dYY"; if (search.where.Length > 5) { uri = "https://maps.googleapis.com/maps/api/geocode/json?address=" + HttpUtility.UrlEncode(search.where) + "&key=AIzaSyDZ239b7m3O6c1uZCZez5EXfNYCQ5L4dYY"; } else //if ((search.lat != (decimal)-1.0) && (search.lat != (decimal)-1.0)) // if user provide lat,lng, then need to find the locality. { uri = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + search.lat + "," + search.lng + "&key=AIzaSyDZ239b7m3O6c1uZCZez5EXfNYCQ5L4dYY"; } HttpClient client = new HttpClient(); var getResult = client.GetAsync(uri); getResult.Wait(); var result = getResult.Result; if (result.IsSuccessStatusCode) { RootObject cnt = new RootObject(); cnt = await result.Content.ReadAsAsync <RootObject>(); if (cnt.results.Count > 0) { search.latlngstatus = "OK"; search.lat = (decimal)cnt.results[0].geometry.location.lat; search.lng = (decimal)cnt.results[0].geometry.location.lng; search.where = search.where + "," + extractAddressComponent(cnt.results[0].address_components);//get all sublocality for this area. } else { search.lat = (decimal) - 1.0; search.lng = (decimal) - 1.0; } loclatlng = cnt.results[0].geometry.location.lat.ToString() + "," + cnt.results[0].geometry.location.lng.ToString(); } else { search.where = ""; search.lat = (decimal) - 1.0; search.lng = (decimal) - 1.0; } return(search); }
public async Task <List <cPartialSender> > ServicesbySearch_v2(cSearch search) { string uri; string loclatlong = "-1,-1"; List <cPartialSender> ServiceProviders = new List <cPartialSender>(); try { string constr = ConfigurationManager.ConnectionStrings["MyAbDbContext"].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { SqlCommand cmd = new SqlCommand("sp_ServiceProviderforSearchwithUnReg", con); cmd.CommandType = CommandType.StoredProcedure; SqlDataReader reader; SqlParameter paramwhat = new SqlParameter(); paramwhat.ParameterName = "@what"; paramwhat.Value = search.what; cmd.Parameters.Add(paramwhat); SqlParameter paramuserid = new SqlParameter(); paramuserid.ParameterName = "@userID"; paramuserid.Value = search.userID; cmd.Parameters.Add(paramuserid); SqlParameter paramuserType = new SqlParameter(); paramuserType.ParameterName = "@userType"; paramuserType.Value = search.userType; cmd.Parameters.Add(paramuserType); search = await findLatLngLocality(search); SqlParameter paramwhere = new SqlParameter(); paramwhere.ParameterName = "@where"; paramwhere.Value = search.where; cmd.Parameters.Add(paramwhere); if (search.where.Length < 2) { return(ServiceProviders); } SqlParameter paramlat = new SqlParameter(); paramlat.ParameterName = "@lat"; paramlat.Value = search.lat; cmd.Parameters.Add(paramlat); SqlParameter paramlng = new SqlParameter(); paramlng.ParameterName = "@lng"; paramlng.Value = search.lng; cmd.Parameters.Add(paramlng); con.Open(); reader = cmd.ExecuteReader(); while (reader.Read()) { cPartialSender c = new cPartialSender(); c.SenderID = (int)reader["SenderID"]; c.SenderName = reader["SenderName"].ToString().Trim(); c.SenderContactNo_1 = reader["SenderContactNo_1"].ToString().Trim(); c.ContactHide = (Int16)reader["ContactHide"]; c.cServiceType = reader["cServiceType"].ToString().Trim(); c.ServiceDesc = reader["ServiceDesc"].ToString().Trim(); c.postcode = reader["POSTCODE"].ToString().Trim(); if (reader["logopath"] != null) { if (reader["logopath"].ToString().Length > 0) { c.logopath = reader["logopath"].ToString().Trim(); } } c.subscribeonoff = reader["subscribeonoff"].ToString().Trim(); c.ReviewReceived = (int)reader["ReviewReceived"]; c.msgCommentsReceived = (int)reader["msgCommentsReceived"]; c.msgLikeReceived = (int)reader["msgLikeReceived"]; c.msgTotpublished = (int)reader["msgTotpublished"]; c.msgReadBy = (int)reader["msgReadBy"]; c.address = reader["address"].ToString().Trim(); c.isFCMActive = reader["isFCMActive"].ToString().Trim(); ServiceProviders.Add(c); } } } catch (Exception ex) { // distance.status = "failed"; //return ex.Message; } return(ServiceProviders); }