public async Task <IEnumerable <BookingMomentViewModel> > GeMomentBookings(IEnumerable <string> workshops) { var workshopsData = _workshopService.GetBySlug(workshops); var bookings = await _repo.GetMomentBookings(workshops); //That works really slower, than upper variant and save us from async db context access //await Task.WhenAll(workshopsData, bookings); var workshopBookings = bookings.GroupBy(x => x.WorkshopId, x => new CategoryBookingViewModel { Category = x.Category.Id, MomentStatus = x.MomentStatus }, (key, elements) => new BookingMomentViewModel { BookingMoments = elements, Workshop = workshopsData.Single(x => x.ID == key) }); return(workshopBookings); }
public IEnumerable <WorkshopViewModel> GetByCode( [ModelBinder(BinderType = typeof(CommaDelimitedArrayModelBinder))] IEnumerable <string> workshops) { return(workshop.GetBySlug(workshops)); }