예제 #1
0
        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));
        }
예제 #2
0
        public IEnumerable <RideRequestDto> GetDriverRequests(string email)
        {
            IEnumerable <RideRequest> entityRequest;

            entityRequest = _rideRequestRepository.GetDriverRequests(email);

            IEnumerable <RideRequestDto> converted = ConvertRequestsToDto(entityRequest, true);

            foreach (var request in converted)
            {
                var note = _rideRequestNoteLogic.GetNoteByRideRequest(request.RideRequestId);
                if (note != null)
                {
                    request.RequestNote     = note.Text;
                    request.RequestNoteSeen = note.Seen;
                }
                else
                {
                    request.RequestNoteSeen = true;
                }
            }

            return(converted.OrderByDescending(x => !x.SeenByPassenger).ThenByDescending(x => x.Status == Dto.Status.WAITING).ThenByDescending(x => x.Status == Dto.Status.ACCEPTED).ToList());
        }