public IActionResult GetByCarSize([FromBody] ParkingSpaceRequest request) { if (request == null) { return(BadRequest()); } var freeSpaces = _prkSpaceService.GetAvailablePrkSpacesByCarType(request); return(new JsonResult(freeSpaces)); }
public IEnumerable <ParkingSpace> GetAvailablePrkSpacesByCarType(ParkingSpaceRequest request) { IEnumerable <ParkingSpace> freeSpaces = null; List <ParkingSpace> freeSpacesToReturn = new List <ParkingSpace>(); switch (request.CarType) { case 1: //(int)CarType.Small: freeSpaces = _prkSpaceRepo.GetAvailablePrkSpacesBySize(Constants.SMALL_CAR_MIN_SIZE, Constants.SMALL_CAR_MAX_SIZE); break; case 2: //(int)CarType.Medium: freeSpaces = _prkSpaceRepo.GetAvailablePrkSpacesBySize(Constants.MEDIUM_CAR_MIN_SIZE, Constants.MEDIUM_CAR_MAX_SIZE); break; case 3: //(int)CarType.Big: freeSpaces = _prkSpaceRepo.GetAvailablePrkSpacesBySize(Constants.BIG_CAR_MIN_SIZE, Constants.BIG_CAR_MAX_SIZE); break; } if (freeSpaces == null) { return(null); } foreach (var space in freeSpaces) { var fromDatabase = new Position() { Latitude = space.Latitude, Longitude = space.Longitude }; var fromRequest = new Position() { Latitude = request.Latitude, Longitude = request.Longitude }; var dist = Distance(fromRequest, fromDatabase); if (dist <= request.Range) { freeSpacesToReturn.Add(space); } } return(freeSpacesToReturn); }
public IEnumerable <ParkingSpace> GetAvailablePrkSpacesByLocation(ParkingSpaceRequest request) { throw new NotImplementedException(); }