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); }); }
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); }); }
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); }
public void BidOnProduct(Models.Bid bid) { Models.AuctionHouseData.BidOnAuction(bid); }