public async Task <AuctionQueryData> Handle(GetAuctionDetailsQuery request, CancellationToken cancellationToken)
        {
            var auction = await dbContext.Auctions
                          .Include(x => x.Categories)
                          .FirstOrDefaultAsync(x => x.Id == request.Id);

            return(AuctionMapper.FromAuctionToAuctionQueryData(auction));
        }
Пример #2
0
        protected override async Task Handle(AddAuctionCommand request, CancellationToken cancellationToken)
        {
            var imageId = await imageUploadService.UploadImage(request.Cover);

            var auction = AuctionMapper.FromAuctionCommandToAuction(request, null);

            auction.Image = imageId;
            dbContext.Auctions.Add(auction);
            await dbContext.SaveChangesAsync();
        }
Пример #3
0
        protected override async Task Handle(UpdateAuctionCommand request, CancellationToken cancellationToken)
        {
            var auctionToUpdate = dbContext.Auctions
                                  .Include(x => x.Categories)
                                  .FirstOrDefault(a => a.Id == request.Id);

            if (auctionToUpdate == null)
            {
                throw new BusinessLogicException($"Auction {request.Id} doesn't exist");
            }

            auctionToUpdate = AuctionMapper.FromAuctionCommandToAuction(request, auctionToUpdate);

            if (request.Cover != null)
            {
                auctionToUpdate.Image = await imageUploadService.UploadImage(request.Cover);
            }

            auctionToUpdate.Title            = request.Title;
            auctionToUpdate.ShortDescription = request.ShortDescription;
            auctionToUpdate.Description      = request.Description;
            auctionToUpdate.Dotpay           = request.Dotpay;
            auctionToUpdate.SiepomagaLink    = request.SiepomagaLink == "null" ? null : request.SiepomagaLink;
            auctionToUpdate.Paypall          = request.Paypall;
            auctionToUpdate.Categories       = request.Categories?.Select(x => new AuctionCategory()
            {
                CategoryId = x
            }).ToList();
            auctionToUpdate.Account       = request.Account;
            auctionToUpdate.DateFrom      = request.DateFrom ?? DateTime.Now;
            auctionToUpdate.DateTo        = request.DateTo ?? DateTime.Now.AddYears(100);
            auctionToUpdate.AddressFrom   = request.AddressTo;
            auctionToUpdate.ContactNumber = request.ContactNumber;


            await dbContext.SaveChangesAsync();
        }