public override async Task <IEnumerable <AccommodationPhoto> > HandleAsync(PhotosByAccommodationIdQuery query, CancellationToken cancellationToken) { var projection = ProjectToQueryableOfAccommodationPhoto(Source, query); return(await projection.ToArrayAsync(cancellationToken)); }
private IQueryable <AccommodationPhoto> ProjectToQueryableOfAccommodationPhoto( IQueryable <Photo> source, PhotosByAccommodationIdQuery query) { var photosOfRooms = Source.SelectMany(p => p.ToTypesOfRooms).Select(p => p.Id); var photoOfAccommodations = source .Where(p => p.RealEstateId == query.AccommodationId) .Where(p => !photosOfRooms.Contains(p.Id)) .OrderBy(p => p.IsDefault); return(ProjectTo <AccommodationPhoto>(photoOfAccommodations)); }
public void HandleAsync_Return_Task_Of_IEnumerable_Of_AccommodationPhoto() { //Arrange var type = typeof(Task <IEnumerable <AccommodationPhoto> >); var handler = Handler(); var providerMock = new Mock <IQueryDispatcher>(); var query = new PhotosByAccommodationIdQuery(providerMock.Object); //Act var result = handler.HandleAsync(query); //Assert Assert.IsInstanceOf(type, result); }