public async Task <IActionResult> UpdateRiderLocation([FromBody] RiderLocation LocationData) { if (LocationData.RequestingId == LocationData.RiderId) { if (!_service.IsAuthorizedRider(LocationData.RequestingId, LocationData.Authorization)) { return(Unauthorized()); } } else if (!_service.IsAuthorizedAdmin(LocationData.RequestingId, LocationData.Authorization)) { return(Unauthorized()); } Rider riderToUpdate = await _context.Riders.SingleOrDefaultAsync(r => r.ID == LocationData.RiderId); try { if (riderToUpdate != null) { _service.UpdateRiderLocation(riderToUpdate, LocationData); return(Ok(LocationData)); } } catch (DbUpdateException) { //Log the error (uncomment ex variable name and write a log.) ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists, " + "see your system administrator."); } return(NotFound()); }
public void GetRiderLocation(Rider rider, RiderLocation LocationData) { LocationData.Longitude = rider.LastLongitude; LocationData.Latitude = rider.LastLatitude; LocationData.RideId = rider.ActiveRide; LocationData.UserName = rider.UserName; LocationData.FullName = rider.FullName; }
public void UpdateRiderLocation(Rider rider, RiderLocation LocationData) { rider.LastLatitude = LocationData.Latitude; rider.LastLongitude = LocationData.Longitude; if (LocationData.RideId != 0) { rider.ActiveRide = LocationData.RideId; } LocationData.FullName = rider.FullName; LocationData.UserName = rider.UserName; _context.Riders.Update(rider); _context.SaveChanges(); }
public IActionResult GetRiderLocation(RiderLocation LocationData) { if (!_service.IsAuthorizedRider(LocationData.RequestingId, LocationData.Authorization)) { return(Unauthorized()); } Rider riderToGet = _context.Riders.SingleOrDefault(r => r.ID == LocationData.RiderId); if (riderToGet != null) { _service.GetRiderLocation(riderToGet, LocationData); return(Ok(LocationData)); } return(NotFound()); }