示例#1
0
        //Выбрать победителя аукциона
        public void ElectWinnerInAuction(AuctionWinnerVm model)
        {
            AuctionWinner auctionWinner = new AuctionWinner()
            {
                AuctionId      = model.AuctionId,
                OrganizationId = model.OrganizationId
            };

            _aplicationDbContext.AuctionsWinners.Add(auctionWinner);
            _aplicationDbContext.SaveChanges();
        }
示例#2
0
        public void ElectWinnerInAuction(SelectAuctionWinnerVm model)
        {
            var auctionExists = _aplicationDbContext.Auctions.SingleOrDefault(p => p.Id == model.AuctionId);

            if (auctionExists == null)
            {
                throw new Exception("Аукциона под данным номером не имеется");
            }
            var organizationExists = _aplicationDbContext.Organizations.SingleOrDefault(p => p.Id == model.OrganizationId);

            if (organizationExists == null)
            {
                throw new Exception("Организации под данным номером не имеется");
            }
            var bidIsActive = _aplicationDbContext.Bids.SingleOrDefault(p => p.OrganizationId == model.OrganizationId &&
                                                                        p.AuctionId == model.AuctionId && p.BidStatus == BidStatus.Active);

            if (bidIsActive == null)
            {
                throw new Exception("У компании нет активной заявки на этот аукцион");
            }

            AuctionWinner winner = new AuctionWinner()
            {
                AuctionId      = model.AuctionId,
                OrganizationId = model.OrganizationId,
                CreatedAt      = DateTime.Now
            };

            _aplicationDbContext.AuctionWinners.Add(winner);

            auctionExists.FinishDateActual = model.CreatedDate;
            auctionExists.AuctionStatus    = AuctionStatus.Finished;

            _aplicationDbContext.SaveChanges();
        }