public void BuyItem(Auctions auction, Guid userId) { var ac = (from a in db.Auctions where a.Id == auction.Id select a).DefaultIfEmpty(null).FirstOrDefault(); if (ac == null) { return; } if (!ac.Finalized && auction.EndDate > DateTime.Now && ac.ItemsNumber > 0 && userId != ac.OwnerId) { ac.ItemsNumber--; Buyed b = new Buyed() { AuctionId = ac.Id, Date = DateTime.Now, UserId = userId, ItemsNum = 1 }; db.Buyed.Add(b); if (ac.ItemsNumber == 0) { AuctionsRepository aucitonsRepo = new AuctionsRepository(db); aucitonsRepo.CloseAuction(ac); } else { db.SaveChanges(); } } db.SaveChanges(); }
public void Add(Guid userId, int auctionId) { if (!db.Observers.Any(o => o.ObserverId == userId && o.AuctionId == auctionId)) { db.Observers.Add(new Observers { AuctionId = auctionId, ObserverId = userId }); db.SaveChanges(); } }
public void Add(Guid userId, int auctionId, decimal price) { if (price > GetBestOffer(auctionId)) { db.Bidders.Add(new Bidders { AuctionId = auctionId, BidderId = userId, Price = price, BidDate = DateTime.Now }); db.SaveChanges(); } }
public void CloseAuction(Auctions auction) { auction.Finalized = true; auction.EndDate = DateTime.Now; db.SaveChanges(); }
public void Add(Images img) { db.Images.Add(img); db.SaveChanges(); }