public override async Task <IEnumerable <AccommodationPhoto> > HandleAsync(GetPhotosByAccommodationId query, CancellationToken cancellationToken) { var projection = ProjectToQueryableOfAccommodationPhoto(Source, query); return(await projection.ToArrayAsync(cancellationToken)); }
public void HandleAsync() { //Arrange var handler = Handler(); var dispatcher = new Mock <IProvider>(); var query = new GetPhotosByAccommodationId(dispatcher.Object); //Act var result = handler.HandleAsync(query); //Assert Assert.IsInstanceOf <Task <IEnumerable <AccommodationPhoto> > >(result); }
private IQueryable <AccommodationPhoto> ProjectToQueryableOfAccommodationPhoto( IQueryable <PhotoOfAccommodation> source, GetPhotosByAccommodationId query) { var photosOfRooms = Source.SelectMany(p => p.ToTypesOfRooms).Select(p => p.Id); var photoOfAccommodations = source .Include(p => p.PathToPhoto) .Include(p => p.FileExtension) .Where(p => p.AccommodationId == query.AccommodationId) .Where(p => !photosOfRooms.Contains(p.Id)) .OrderBy(p => p.IsDefault); return(ProjectTo <AccommodationPhoto>(photoOfAccommodations)); }