public async Task <Pagination <OfferListPreviewDto> > Handle(GetSellerOffersQuery request, CancellationToken cancellationToken) { var sellerId = Guid.Parse(request.SellerId); var offersPagination = await _offerRepository.GetAllActiveByUserIdAsync(sellerId, request.OfferFilter); var offersDtoPagination = offersPagination.Transform(offers => offers.Select(offer => offer.ToOfferListPreviewDto())); return(offersDtoPagination); }
public override async Task Handle(UserLockedIntegrationEvent @event) { _logger.LogWithProps(LogLevel.Information, $"Handling {nameof(UserLockedIntegrationEvent)} integration event", "EventId".ToKvp(@event.Id), "UserId".ToKvp(@event.UserId)); var offersPagination = await _offerRepository.GetAllActiveByUserIdAsync(@event.UserId, new OfferFilter { PageSize = Int32.MaxValue }); foreach (var offer in offersPagination.Items) { offer.EndOffer(); _offerRepository.Update(offer); } await _offerRepository.UnitOfWork.SaveChangesAndDispatchDomainEventsAsync(); _logger.LogWithProps(LogLevel.Information, $"Ended {offersPagination.Items.Count} offers", "EventId".ToKvp(@event.Id), "UserId".ToKvp(@event.UserId), "OfferIds".ToKvp(string.Join(",", offersPagination.Items.Select(x => x.Id)))); }