public IEnumerable <RideRequestDto> GetPassengerRequests(string email) { IEnumerable <RideRequest> entityRequest = _rideRequestRepository.GetPassengerRequests(email); var notes = _rideRequestNoteLogic.GetNoteByPassenger(email); var driverSeenNotes = _driverSeenNoteReposiotory.GetNotesByPassenger(email); IEnumerable <RideRequestDto> converted = ConvertRequestsToDto(entityRequest, false); foreach (var request in converted) { var note = notes.FirstOrDefault(x => x.RideRequestId == request.RideRequestId); var driverNote = _driverNoteLogic.GetNoteByRide(request.RideId); if (driverNote != null) { request.RideNote = driverNote.Text; request.RideNoteSeen = driverSeenNotes.Single(x => x.RideRequestId == request.RideRequestId).Seen; } else { request.RideNoteSeen = true; } if (note != null) { request.RequestNote = note.Text; } } return(converted.OrderByDescending(x => !x.SeenByPassenger).ThenByDescending(x => x.Status == Dto.Status.WAITING).ThenByDescending(x => x.Status == Dto.Status.ACCEPTED).ToList()); }
public async Task <IEnumerable <RideRequestDto> > GetUsersRequests(bool driver, string email) { IEnumerable <RideRequest> entityRequest; if (driver) { entityRequest = _rideRequestRepository.GetDriverRequests(email); } else { entityRequest = _rideRequestRepository.GetPassengerRequests(email); } IEnumerable <RideRequestDto> converted = await ConvertRequestsToDtoAsync(entityRequest, driver); return(SortRequests(converted)); }