public IActionResult CreateSignup([FromBody] SignupRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } if (!_service.RiderExists(RequestData.RiderId)) { return(NotFound()); } if (!_service.RideExists(RequestData.RideId)) { return(NotFound()); } if (_service.SignUpExists(RequestData.RiderId, RequestData.RideId)) { return(Ok()); } if (ModelState.IsValid) { var signup = _service.AddSignup(RequestData); return(Ok(signup)); } return(Unauthorized()); }
public IActionResult DeleteRideSignups([FromBody] SignupRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } // verify there is at least one signup! var SignUp = _context.SignUps.SingleOrDefault( s => s.RideID == RequestData.RideId); if (SignUp != null) { // here we do a range delete on the RiderID... _context.SignUps.RemoveRange( _context.SignUps.Where( s => s.RideID == RequestData.RideId ) ); _context.SaveChangesAsync(); } // Do the delete... return(Ok()); }
public async Task <IActionResult> DeleteSignupById([FromBody] SignupRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } var SignUp = await _context.SignUps.SingleOrDefaultAsync( s => s.SignupID == RequestData.SignupId); if (SignUp == null) { return(NotFound()); } // determine if the requestor is the rider in the sign up // if not then the requestor needs to be an admin... if (SignUp.RiderID != RequestData.RequestingId) { if (!_service.IsAuthorizedAdmin(RequestData)) { return(Unauthorized()); } } // Do the delete... _context.SignUps.Remove(SignUp); await _context.SaveChangesAsync(); return(Ok()); }
public IActionResult GetRideSignups(SignupRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } return(Ok(_context.SignUps.Where(signup => signup.RideID == RequestData.RideId).ToList())); }
public IActionResult GetAllSignups(SignupRequestData RequestData) { if (!_service.IsAuthorizedRiderOrAdmin(RequestData)) { return(Unauthorized()); } return(Ok(_context.SignUps.ToList())); }
public Signup AddSignup(SignupRequestData signupRequest) { Signup signup = new Signup(); signup.RiderID = signupRequest.RiderId; signup.RideID = signupRequest.RideId; _context.Add(signup); _context.SaveChanges(); return(signup); }
public IActionResult GetRiderSignups(SignupRequestData RequestData) { if (!_service.IsAuthorizedRiderOrAdmin(RequestData)) { return(Unauthorized()); } var signups = _context.SignUps.Where(signup => signup.RiderID == RequestData.RiderId).ToList(); return(Ok(signups)); }
public IActionResult GetSignup(SignupRequestData RequestData) { if (!_service.IsAuthorizedRiderOrAdmin(RequestData)) { return(Unauthorized()); } var signUp = _context.SignUps.SingleOrDefault( s => s.RiderID == RequestData.RiderId && s.RideID == RequestData.RideId); return(Ok(signUp)); }
public IActionResult GetRideAttendees(SignupRequestData RequestData) { if (!_service.IsAuthorizedRider(RequestData)) { return(Unauthorized()); } return(Ok(_context.SignUps.Where(signup => signup.RideID == RequestData.RideId) .Select(x => new AttendeeInfo { RiderId = x.ActualRider.ID, FullName = x.ActualRider.FullName, UserName = x.ActualRider.UserName }) .OrderByDescending(x => x.FullName) .ToList())); }
public async Task <IActionResult> DeleteSignup([FromBody] SignupRequestData RequestData) { if (!_service.IsAuthorizedRiderOrAdmin(RequestData)) { return(Unauthorized()); } var SignUp = await _context.SignUps.SingleOrDefaultAsync( s => s.RiderID == RequestData.RiderId && s.RideID == RequestData.RideId); if (SignUp == null) { return(NotFound()); } // Do the delete... _context.SignUps.Remove(SignUp); await _context.SaveChangesAsync(); return(Ok()); }
public bool IsAuthorizedAdmin(SignupRequestData RequestData) { return(IsAuthorizedAdmin(RequestData.RequestingId, RequestData.Authorization)); }