internal static void CallTheAuction(this AuctionAppController self, Auction auction) { auction.Call += 1; var auctionLogText = $"Call {auction.Call} for RM {auction.Amount}."; AddLogToAuction("Admin", auction.Contact.Email, auctionLogText, auction); }
internal static void StartTheAuction(this AuctionAppController self, Auction auction) { auction.Status = "Started"; auction.Call = 0; auction.Amount = auction.ProductPrice; auction.Bidder = new Bidder(); auction.Logs = new List <Log>(); var auctionLogText = $"Auction started at RM {auction.Amount}."; AddLogToAuction("Admin", auction.Contact.Email, auctionLogText, auction); }
internal static void BidTheAuction(this AuctionAppController self, AuctionAppModel model, Auction auction) { var bidder = GetBidder(model.BidderEmail, model.BidderCode, auction.Bidders); auction.Call = 0; auction.Amount = model.BidAmount; auction.Bidder = bidder; var auctionLogText = $"Bid for RM {model.BidAmount}."; AddLogToAuction(bidder.Nickname, bidder.Email, auctionLogText, auction); //auctionLogText = $"{bidder.Nickname} bid for RM {model.BidAmount}."; //AddLogToAuction("Admin", auction.Contact.Email, auctionLogText, auction); }
internal static void EndTheAuction(this AuctionAppController self, Auction auction) { var winner = auction.Bidder; auction.Status = "Ended"; var auctionLogText = $"Auction ended at RM {auction.Amount}."; AddLogToAuction("Admin", auction.Contact.Email, auctionLogText, auction); auctionLogText = !winner.Nickname.IsEmpty() ? $"Auction won by @{winner.Nickname}({winner.Email}) at RM {auction.Amount}." : "Too bad, nobody wins the auction!"; AddLogToAuction("Admin", auction.Contact.Email, auctionLogText, auction); }
internal static Bidder GetBidder(this AuctionAppController self, string bidderEmail, string bidderCode, IEnumerable <Bidder> bidders) { return(GetBidder(bidderEmail, bidderCode, bidders)); }