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());
        }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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());
        }