Пример #1
0
            public async Task <MediatR.Unit> Handle(ReOrderOffersCommand request, CancellationToken cancellationToken)
            {
                var offersIds      = request.OrderOffersModel.Select(x => x.OfferId).ToList();
                var offersFromRepo = await _offerRepository.FindByIdsAsync(offersIds);

                foreach (var offerId in offersIds)
                {
                    var offer = offersFromRepo.FirstOrDefault(x => x.Id == new Guid(offerId));
                    var order = request.OrderOffersModel.FirstOrDefault(x => x.OfferId == offerId).Order;
                    offer.ChangeOrder(order);
                }

                _offerRepository.UpdateAll(offersFromRepo);

                await _offerRepository.UnitOfWork.SaveEntitiesSeveralTransactionsAsync(cancellationToken);

                return(MediatR.Unit.Value);
            }