Example #1
0
        public IActionResult Index(SearchPitchViewModel search)
        {
            if (ModelState.IsValid)
            {
                return(RedirectToAction("FindEvents", "Home", search));
            }

            return(View(search));
        }
Example #2
0
        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));
        }