Ejemplo n.º 1
0
        public List <RideRequestDto> ConvertRequestsToDto(IEnumerable <RideRequest> entityRequests, bool isDriver)
        {
            List <RideRequestDto> dtoRequests = new List <RideRequestDto>();

            int count = 0;

            foreach (var request in entityRequests)
            {
                dtoRequests.Add(_mapper.Map <RideRequest, RideRequestDto>(request));
                var route = _routeLogic.GetRouteByRequest(request.RideRequestId);

                dtoRequests[count].Route = route;

                if (isDriver)
                {
                    var user = _userLogic.GetUserByEmail(EmailType.LOGIN, request.PassengerEmail);
                    dtoRequests[count].PassengerFirstName = user.FirstName;
                    dtoRequests[count].PassengerLastName  = user.LastName;
                    dtoRequests[count].PassengerPhone     = user.Phone;
                }
                else
                {
                    var user = _userLogic.GetUserByEmail(EmailType.LOGIN, request.DriverEmail);
                    dtoRequests[count].DriverFirstName = user.FirstName;
                    dtoRequests[count].DriverLastName  = user.LastName;
                    dtoRequests[count].RideDateTime    = request.RequestedRide.RideDateTime;
                }
                AddressDto address = _addressLogic.GetAddressById(request.AddressId);

                dtoRequests[count].Address = address;
                RideDto ride = _rideLogic.GetRideById(request.RideId);
                count++;
            }
            return(dtoRequests);
        }
Ejemplo n.º 2
0
        public List <PassengerDto> GetPassengersByDriver(string email)
        {
            IEnumerable <Passenger> passengers    = _passengerRepository.GetPassengersByDriver(email);
            List <PassengerDto>     dtoPassengers = new List <PassengerDto>();

            foreach (Passenger passenger in passengers)
            {
                passenger.Ride.Requests = passenger.Ride.Requests.Where(x => x.PassengerEmail == passenger.Email && x.Status == Db.Entities.Status.ACCEPTED).ToList();
                var dtoPassenger = _mapper.Map <Passenger, PassengerDto>(passenger);
                var address      = _addressLogic.GetAddressById(passenger.Ride.Requests[0].AddressId);
                var route        = _routeLogic.GetRouteByRequest(passenger.Ride.Requests[0].RideRequestId);
                dtoPassenger.Longitude   = address.Longitude;
                dtoPassenger.Latitude    = address.Latitude;
                dtoPassenger.Route       = route;
                dtoPassenger.Ride        = null;
                dtoPassenger.Route.Rides = null;
                dtoPassengers.Add(dtoPassenger);
            }
            return(dtoPassengers);
        }