public IActionResult Index(SearchPitchViewModel search) { if (ModelState.IsValid) { return(RedirectToAction("FindEvents", "Home", search)); } return(View(search)); }
public IActionResult FindEvents(SearchPitchViewModel search) { var userId = Guid.Parse(User.Claims.First(x => x.Type == ClaimTypes.NameIdentifier).Value); int distanceInMeters = int.MaxValue; if (search.LocalisationX != 0 && search.LocalisationY != 0) { search.Distance = search.Distance.Replace(".", ","); double distanceInKm = double.Parse(search.Distance); distanceInMeters = (int)(distanceInKm * 1000); } var result = _pitchService.GetPitchAvability(userId, search.StartDate, search.EndDate, search.SpotNumber, search.LocalisationX, search.LocalisationY, distanceInMeters); result.Search = search; if (distanceInMeters != int.MaxValue) { result.ClosestPitch = _mapService.GetClosestPitch(new GeoCoordinate((double)search.LocalisationX, (double)search.LocalisationY), result.Pitches); } return(View(result)); }