public IHttpActionResult Get(string username) { if (!Repository.Instance.UserExists(username)) { return(NotFound()); } var user = Repository.Instance.TaxiServiceRepository.Users.FirstOrDefault(x => x.Username == username); IEnumerable <RideResponse> rides; switch (user.Role) { case UserRole.Customer: { var ridesAllData = Repository.Instance.TaxiServiceRepository.GetAllRides().Where(x => x.CustomerId == user.Id).ToList(); rides = ridesAllData.Select(x => RideResponse.Convert(x)); } break; case UserRole.Driver: { var ridesAllData = Repository.Instance.TaxiServiceRepository.GetAllRides().Where(x => x.DriverId == user.Id).ToList(); rides = ridesAllData.Select(x => RideResponse.Convert(x)); } break; case UserRole.Dispatcher: { var ridesAllData = Repository.Instance.TaxiServiceRepository.GetAllRides().Where(x => x.DispatcherId == user.Id).ToList(); rides = ridesAllData.Select(x => RideResponse.Convert(x)); } break; default: rides = null; break; } return(Ok(rides)); }
/// <summary> /// Returns basic ride data in compliance with GDPR /// </summary> /// <param name="id"></param> /// <returns></returns> public RideResponse Get(int id) { var ride = Repository.Instance.TaxiServiceRepository.GetAllRides().FirstOrDefault(x => x.Id == id); return(RideResponse.Convert(ride)); }
/// <summary> /// Collection of rides converted to return just basic user information in compliance with GDPR /// </summary> /// <returns></returns> public IEnumerable <RideResponse> Get() { return(Repository.Instance.TaxiServiceRepository.GetAllRides().ToList().Select(x => RideResponse.Convert(x))); }