public ActionResult Search(BookingModel model) { string apikey = string.Empty; apikey = _AppSettings.GoogleAPI.distanceAPI; var services = TheRepository.GetServices(); ServiceModel serviceModel = services.Where(a => a.id == Convert.ToInt32(model.selectedService)).FirstOrDefault(); model.postCode = Request.Form["postal_code"]; CustomerAddress custaddress = new CustomerAddress() { country = Request.Form["country"], housenumber = Request.Form["street_number"], postcode = Request.Form["postal_code"], state = Request.Form["administrative_area_level_1"], streetname = Request.Form["route"] }; Response.Cookies.Append("country", custaddress.country); Response.Cookies.Append("housenumber", custaddress.housenumber); Response.Cookies.Append("postcode", custaddress.postcode); Response.Cookies.Append("state", custaddress.state); Response.Cookies.Append("streetname", custaddress.streetname); ViewData["postcode"] = model.postCode; ViewData["service"] = serviceModel.Service; int spCount = 0; var serviceProviders = TheRepository.GetServiceProvidersByService(Convert.ToInt32(model.selectedService)).ToList(); spCount = serviceProviders.Count(); ViewData["spCount"] = spCount; foreach (var serviceperson in serviceProviders) { serviceperson.distanceinmiles = Distance.BetweenTwoUKPostCodes(model.postCode, serviceperson.postcode, apikey); var ratings = TheRepository.GetRatings(serviceperson.id); if ((ratings != null) && (ratings.Count > 0)) { serviceperson.rating = ratings.Average(a => a.ratings); } serviceperson.ratings = ratings; serviceperson.service = TheRepository.GetServiceById(serviceperson.serviceId).Service; } return(View("SearchResults", serviceProviders)); }