Beispiel #1
0
        protected IQueryable <Room> ProjectionToRooms(GetRooms query, IQueryable <TypeOfRoom> typeOfRooms, IProjection projector)
        {
            var localizedTypesOfRooms = Source.SelectMany(p => p.LocalizedTypesOfRooms)
                                        .Where(p => p.LanguageId == query.LanguageId);

            localizedTypesOfRooms = localizedTypesOfRooms.Include(p => p.TypeOfRoom)
                                    .Where(p => p.TypeOfRoom.AccommodationId == query.AccommodationId);

            return(projector.ProjectTo <Room>(localizedTypesOfRooms));
        }
        protected IQueryable <RoomPhoto> ProjectionToRoomPhotos(IQueryable <PhotoOfAccommodation> photosOfAccommodations, GetRoomPhotosByAccommodationId query, IProjection projector)
        {
            var photosOfRooms = Source.SelectMany(p => p.ToTypesOfRooms).Select(p => p.Id);

            photosOfAccommodations = photosOfAccommodations
                                     .Include(p => p.ToTypesOfRooms)
                                     .Where(p => p.AccommodationId == query.AccommodationId)
                                     .Where(p => photosOfRooms.Contains(p.Id));

            return(projector.ProjectTo <RoomPhoto>(photosOfAccommodations));
        }
Beispiel #3
0
        protected IQueryable <Attribute> ProjectionToAttribute(IQueryable <AccommodationToAttribute> accommodationsToAttributes, GetAttributesByAccommodationIdAndLanguageId query, IProjection projector)
        {
            accommodationsToAttributes = accommodationsToAttributes
                                         .Include(p => p.Attribute)
                                         .Include(p => p.Attribute.LocalizedAttributes)
                                         .Where(p => p.AccommodationId == query.AccommodationId)
                                         .Where(p => p.LanguageId == query.LanguageId)
                                         .OrderBy(p => p.Attribute.Ban)
            ;

            return(projector.ProjectTo <Attribute>(accommodationsToAttributes));
        }