Пример #1
0
        public IActionResult Bid(int Amount, int AuctionID)
        {
            User Bidder  = _context.users.SingleOrDefault(user => user.UserID == HttpContext.Session.GetInt32("UserID"));
            var  Balance = Bidder.Cash;

            if (Bidder.Cash - Amount <= 0)
            {
                TempData["Message"] = "You do not have enough money to make that bid.";
                TempData["UserID"]  = HttpContext.Session.GetInt32("UserID");
                TempData["Name"]    = HttpContext.Session.GetString("Name");
                return(RedirectToAction("Success", AuctionID));
            }
            else
            {
                var newBalance = Bidder.Cash - Amount;
                var Updated    = Bidder;
                {
                    Bidder.FirstName = Bidder.FirstName;
                    Bidder.LastName  = Bidder.LastName;
                    Bidder.Username  = Bidder.Username;
                    Bidder.Password  = Bidder.Password;
                    Bidder.Cash      = newBalance;
                };
                Models.Bid newBid = new Models.Bid
                {
                    UserID    = Bidder.UserID,
                    AuctionID = AuctionID,
                    BidAmount = Amount,
                };
                _context.Update(Updated);
                _context.Update(newBid);
                _context.SaveChanges();
                return(RedirectToAction("Success"));
            }
        }
        public IActionResult CreateBid(VMBid vmbid)
        {
            if (ModelState.IsValid)
            {
                var br  = bidReqRepo.GetBidRequestByID(vmbid.BidRequestID);
                Bid bid = new Models.Bid();
                bid.BidReq = br;
                bid.User   = br.User;

                bid.LaborCost                 = vmbid.LaborCost;
                bid.MaterialsDescription      = vmbid.MaterialsDescription;
                bid.RevisedProjectDescription = vmbid.RevisedProjectDescription;
                bid.ProjectedTimeFrame        = vmbid.ProjectedTimeFrame;
                bid.ProposedStartDate         = bid.ProposedStartDate;
                bid.SupplyCost                = vmbid.SupplyCost;
                bid.TotalEstimate             = vmbid.TotalEstimate;
                bid.DateCreated               = DateTime.Now;
                bid.Version++;

                bidRepo.Update(bid);
                return(RedirectToAction("AdminPage", "Admin"));
            }
            else
            {
                ModelState.AddModelError("", "Please fill out all fields in the form.");
            }
            return(View(vmbid));
        }
 public async Task UpdateBidAsync(Models.Bid bid)
 {
     await Task.Run(async() =>
     {
         _bidRepository.Configure();
         var bidDAL = await _bidRepository.GetByIdBidAsync(bid.Id);
         bidDAL.InjectFrom(bid);
         await _bidRepository.UpdateBidAsync(bidDAL);
     });
 }
Пример #4
0
        public async Task <IViewComponentResult> InvokeAsync()
        {
            UserIdentity user = new UserIdentity();
            string       name = HttpContext.User.Identity.Name;

            user = await userManager.FindByNameAsync(name);

            Bid bid = new Models.Bid();

            bid = repository.GetBidByUserEmail(user.Email);
            return(View(bid));
        }
 public async Task RemoveBidAsync(Models.Bid bid)
 {
     await Task.Run(async() =>
     {
         _bidRepository.Configure();
         var bidDAL = new DataAccess.Models.Bid()
         {
         };
         bidDAL.InjectFrom(bid);
         await _bidRepository.RemoveBidAsync(bidDAL);
     });
 }
        public async Task AddBidAsync(Models.Bid bid)
        {
            await Task.Run(async() =>
            {
                _bidRepository.Configure();
                var bidDAL = new DataAccess.Models.Bid()
                {
                    Id = (bid.Id != Guid.Empty) ? bid.Id : Guid.NewGuid()
                };
                bidDAL.InjectFrom(bid);

                await _bidRepository.AddBidAsync(bidDAL);
            });
        }
Пример #7
0
        public ActionResult Bid(Entities.User user)
        {
            user.Username = "******";
            user.Password = "******";
            var selectProduct = pd.FetchByID(2);

            Models.Product myProduct = new Models.Product();
            foreach (var x in selectProduct)
            {
                myProduct.ProductName = x.ProductName;
                myProduct.description = x.ProductDescription;
                myProduct.price       = x.ProductPrice;
            }
            Bid bid = new Models.Bid(user, myProduct);

            return(View(bid));
        }
        public ActionResult submitBid(Bid bid, int bidItemID, string userEmail)
        {
            Bid newBid = new Models.Bid();

            newBid.bidAmount = bid.bidAmount;
            newBid.bidTime   = DateTime.Now;
            User bidingUser = (from u in db.Users where u.email == userEmail select u).FirstOrDefault();

            newBid.userID    = bidingUser.userID;
            newBid.bidItemID = bidItemID;
            Random rand = new Random();

            newBid.bidID = rand.Next();
            BidItem bidItem = (from u in db.BidItems where u.bidItemID == bidItemID select u).FirstOrDefault();

            int maxBid;
            int bidCount = (from b in db.Bids where b.bidItemID == bidItemID select b.bidAmount).Count();

            if (bidCount > 0)
            {
                maxBid = (from b in db.Bids where b.bidItemID == bidItemID select b.bidAmount).Max();
            }
            else
            {
                maxBid = 0;
            }

            int currentMax = maxBid;


            if (bid.bidAmount < currentMax || newBid.bidTime > bidItem.auctionEnd)
            {
                return(RedirectToAction("bidErrorPage"));
            }
            else
            {
                db.Bids.Add(newBid);
                db.SaveChanges();
                return(RedirectToAction("moreinfo", new { bidItemId = bidItemID }));
            }
            return(null);
        }
Пример #9
0
 public void BidOnProduct(Models.Bid bid)
 {
     Models.AuctionHouseData.BidOnAuction(bid);
 }