#pragma warning disable 1998 public async Task<ParkingStopEnterResponseDto> Enter(ParkingStopEnterRequestDto enterRequest) #pragma warning restore 1998 { // Find a parking area within the accuracy radius: var parkingAreaCollection = serverProvider.Database.GetCollection<Common.Contracts.Models.Parking.ParkingArea,ParkingAreaCollection>(); var query = Query.Near("Location.Center", enterRequest.Position.X, enterRequest.Position.Y, MathUtil.MetersToDegrees(enterRequest.Accuracy), true); var parkingArea = parkingAreaCollection.FindOne(query); if ( parkingArea == null ) { parkingArea = new Common.Contracts.Models.Parking.ParkingArea { Source = ParkingAreaSource.Detection, Capacity = 1 }; } if ( parkingArea.Source == ParkingAreaSource.Detection ) { //parkingArea.Location = parkingArea.Location.Add(new Location(enterRequest.Position, enterRequest.Accuracy, DateTime.UtcNow)); parkingAreaCollection.Save(parkingArea); } return new ParkingStopEnterResponseDto() { Id = parkingArea.Id, Position = parkingArea.Location.Center }; }
/// <summary> /// Signals the server that the client is stopping to park. /// </summary> /// <param name="enterDto">The request parameters</param> /// <returns>200 OK if successful</returns> public async Task<HttpResponseMessage> Post(ParkingStopEnterRequestDto enterDto) { var response = await parkingStopService.Enter(enterDto); return Request.CreateResponse(HttpStatusCode.OK, response); }