Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }
Exemple #4
0
 public IActionResult GetRideSignups(SignupRequestData RequestData)
 {
     if (!_service.IsAuthorizedRider(RequestData))
     {
         return(Unauthorized());
     }
     return(Ok(_context.SignUps.Where(signup => signup.RideID == RequestData.RideId).ToList()));
 }
Exemple #5
0
        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);
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        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));
        }
Exemple #9
0
 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()));
 }
Exemple #10
0
        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));
 }