public bool IsAuthorizedToEdit(RidesRequestData RequestData) { bool result = false; if (!RideExists(RequestData.RideId)) { return(result); } Ride ride = _context.Rides.SingleOrDefault(m => m.ID == RequestData.RideId); if (RiderExists(RequestData.RiderId)) { // 2 cases either the rider created the ride or the rider // has admin rights. if (RequestData.RiderId == ride.CreatorId) { if (IsAuthorizedRider(RequestData)) { result = true; } } else { if (IsAuthorizedAdmin(RequestData)) { result = true; } } } return(result); }
public IActionResult GetAllRides(RidesRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } return(Ok(_context.Rides.ToList())); }
public Ride GetRide(RidesRequestData RequestData) { if (RequestData.RideId > 0) { Ride ride = _context.Rides.SingleOrDefault <Ride>(r => r.ID == RequestData.RideId); return(ride); } return(null); }
public void UpdateRide(Ride rideToUpdate, RidesRequestData RequestData) { rideToUpdate.RideName = RequestData.RideName; rideToUpdate.Description = RequestData.Description; rideToUpdate.Distance = RequestData.Distance; rideToUpdate.StartDate = RequestData.RideStart; _context.Rides.Update(rideToUpdate); _context.SaveChanges(); }
public IActionResult GetPastRides(RidesRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } List <Ride> rides = _service.GetPastRides(RequestData); return(Ok(rides)); }
public List <Ride> GetPastRides(RidesRequestData RequestData) { DateTime startDate = new DateTime( RequestData.TargetYear, RequestData.TargetMonth, RequestData.TargetDay); return(_context.Rides. Where(r => r.StartDate < startDate) .OrderBy(r => r.StartDate) .ToList()); }
public Ride AddRide(RidesRequestData RequestData) { Ride ride = new Ride(); ride.RideName = RequestData.RideName; ride.Description = RequestData.Description; ride.Distance = RequestData.Distance; ride.StartDate = RequestData.RideStart; ride.CreatorId = RequestData.RiderId; _context.Add(ride); _context.SaveChanges(); return(ride); }
public List <Ride> GetTodaysRides(RidesRequestData RequestData) { DateTime startDate = new DateTime( RequestData.TargetYear, RequestData.TargetMonth, RequestData.TargetDay); DateTime endDate = startDate.AddDays(1).AddTicks(-1); return(_context.Rides. Where(r => r.StartDate >= startDate && r.StartDate <= endDate) .OrderBy(r => r.StartDate) .ToList()); }
public IActionResult CreateRide([FromBody] RidesRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } if (ModelState.IsValid) { // convert time back to local time, RequestData.RideStart = TimeZoneInfo.ConvertTimeFromUtc(RequestData.RideStart, TimeZoneInfo.Local); var ride = _service.AddRide(RequestData); return(Accepted(ride)); } return(Unauthorized()); }
public IActionResult GetRide(RidesRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } Ride ride = _service.GetRide(RequestData); // Use the defualt Detials method... if (ride != null) { return(Ok(ride)); } return(NotFound());; }
public async Task <IActionResult> DeleteRide([FromBody] RidesRequestData RequestData) { if (!_service.IsAuthorizedToEdit(RequestData)) { return(Unauthorized()); } var ride = await _context.Rides.SingleOrDefaultAsync(m => m.ID == RequestData.RideId); if (ride == null) { return(NotFound()); } // Do the delete... _context.Rides.Remove(ride); await _context.SaveChangesAsync(); //return RedirectToAction(nameof(Index)); return(Ok()); }
public IActionResult EditRide([FromBody] RidesRequestData RequestData) { if (!_service.IsAuthorizedToEdit(RequestData)) { return(Unauthorized()); } var rideToUpdate = _context.Rides.SingleOrDefault(m => m.ID == RequestData.RideId); if (rideToUpdate != null) { try { _service.UpdateRide(rideToUpdate, RequestData); return(Ok()); } catch (DbUpdateException /* ex */) { return(NotFound()); } } return(NotFound()); }
public bool IsAuthorizedRider(RidesRequestData RequestData) { return(_riderService.IsAuthorizedRider(RequestData.RiderId, RequestData.Authorization)); }