public Transaction AddTransaction(AuctionPrize prize)
        {
            Transaction transaction = new Transaction();

            transaction.Money         = prize.CurrentBid;
            transaction.ManagerId     = prize.Auction.ManagerId;
            transaction.ParticipantId = prize.ParticipantId;
            transaction.Paid          = false;
            transaction.Description   = "Winning " + prize.Name + "from " + prize.Auction.Name + ".";
            context.SaveChanges();
            return(transaction);
        }
        public ActionResult AddItem([Bind(Include = "AuctionPrizeId,Name,Description,ActualValue,MinimumBid,BidIncrement,CurrentBid,Picture,Participant,AuctionId,WinnerId,Category,Paid, CustomBid")] AuctionPrize auctionPrize, int id)
        {
            Auction auction = context.Auctions.FirstOrDefault(a => a.AuctionId == id);

            auctionPrize.AuctionId      = auction.AuctionId;
            auctionPrize.CurrentBid     = 0;
            auctionPrize.CustomBid      = 0;
            auctionPrize.TopParticipant = null;
            auctionPrize.ParticipantId  = null;


            context.AuctionPrizes.Add(auctionPrize);
            context.SaveChanges();


            return(RedirectToAction("Continue", new { id = auctionPrize.AuctionId }));
        }
 public ActionResult Bid([Bind(Include = "AuctionPrizeId,ActualValue,MinimumBid,BidIncrement,CurrentBid,Description,TopParticipant,Category,WinnerId,AuctionId,Participant,Paid,CustomBid")] AuctionPrize auctionPrize, int id)
 {
     try
     {
         var         currentUserId      = User.Identity.GetUserId();
         var         auctionPrizeToEdit = context.AuctionPrizes.FirstOrDefault(a => a.AuctionPrizeId == id);
         Participant participant        = context.Participants.FirstOrDefault(p => p.ApplicationUserId == currentUserId);
         Auction     auction            = context.Auctions.FirstOrDefault(u => u.AuctionId == auctionPrizeToEdit.AuctionId);
         Participant outbidParticipant  = context.Participants.FirstOrDefault(o => o.ParticipantId == auctionPrizeToEdit.TopParticipant);
         if (auctionPrize.CustomBid == 0)
         {
             if (auctionPrizeToEdit.CurrentBid == 0)
             {
                 auctionPrizeToEdit.CurrentBid += auctionPrizeToEdit.MinimumBid;
                 auction.TotalRaised           += auctionPrizeToEdit.MinimumBid;
             }
             else
             {
                 auctionPrizeToEdit.CurrentBid += auctionPrizeToEdit.BidIncrement;
                 auction.TotalRaised           += auctionPrizeToEdit.BidIncrement;
                 ParticipantAction participantActionOutBid = new ParticipantAction();
                 participantActionOutBid.ParticipantId = auctionPrizeToEdit.TopParticipant;
                 participantActionOutBid.Action        = "You have been outbid on " + auctionPrizeToEdit.Name + ".";
                 participantActionOutBid.Time          = DateTime.Now;
                 context.ParticipantActions.Add(participantActionOutBid);
             }
         }
         else if (auctionPrize.CustomBid != 0 && auctionPrize.CustomBid >= auctionPrizeToEdit.BidIncrement + auctionPrizeToEdit.CurrentBid)
         {
             if (auctionPrizeToEdit.CurrentBid == 0)
             {
                 auctionPrizeToEdit.CurrentBid = auctionPrize.CustomBid;
                 auction.TotalRaised          += auctionPrize.CustomBid;
                 auctionPrizeToEdit.CustomBid  = 0;
             }
             else
             {
                 auctionPrizeToEdit.CurrentBid = auctionPrize.CustomBid;
                 auction.TotalRaised          += auctionPrize.CustomBid;
                 auctionPrizeToEdit.CustomBid  = 0;
                 ParticipantAction participantActionOutBid = new ParticipantAction();
                 participantActionOutBid.ParticipantId = auctionPrizeToEdit.TopParticipant;
                 participantActionOutBid.Action        = "You have been outbid on " + auctionPrizeToEdit.Name + ".";
                 participantActionOutBid.Time          = DateTime.Now;
                 context.ParticipantActions.Add(participantActionOutBid);
             }
         }
         else
         {
             ModelState.AddModelError("", "You must bid more than the minimum bid increment");
             return(View(auctionPrizeToEdit));
         }
         ParticipantAction participantActionBid = new ParticipantAction();
         participantActionBid.ParticipantId = participant.ParticipantId;
         participantActionBid.Action        = "You have bid $" + auctionPrizeToEdit.CurrentBid + " on " + auctionPrizeToEdit.Name + ".";
         participantActionBid.Time          = DateTime.Now;
         context.ParticipantActions.Add(participantActionBid);
         AddDataPoint(auction);
         auctionPrizeToEdit.TopParticipant = participant.ParticipantId;
         context.SaveChanges();
         return(RedirectToAction("Participate", "Auction", new { id = auctionPrizeToEdit.AuctionId }));
     }
     catch
     {
         return(RedirectToAction("Index", "Participant"));
     }
 }
        public ActionResult Bid(int id)
        {
            AuctionPrize auctionprize = context.AuctionPrizes.FirstOrDefault(a => a.AuctionPrizeId == id);

            return(View(auctionprize));
        }
        public ActionResult AddItem(int id)
        {
            AuctionPrize auctionPrize = new AuctionPrize();

            return(View(auctionPrize));
        }