protected void LeaveBidButton_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } if (!auction.IsStarted || auction.IsClosed || lot.IsSold) { return; } decimal bidPrice; if (Decimal.TryParse(BidPriceTextBox.Text.Trim(), out bidPrice)) { if (!MADRoles.UserHasRole("Bidders")) { FormsAuthentication.RedirectToLoginPage(); Response.End(); } User user = MADUsers.GetUser(); if (user == null) { FormsAuthentication.RedirectToLoginPage(); Response.End(); } Auctioning.Auctions.Bid(user.UserID, lot.LotID, bidPrice); string url = GetRouteUrl("ShowLotRoute", new { lot_id = lot.LotID.ToString() }); Response.Redirect(url, true); } }
protected override void OnInit(EventArgs e) { base.OnInit(e); user = MADUsers.GetUser(); if (!MADRoles.UserHasRole("Auctioneers")) { FormsAuthentication.RedirectToLoginPage(); Response.End(); return; } string param = Page.RouteData.Values["auction_id"].ToString(); if (String.IsNullOrEmpty(param)) { param = Page.Request.QueryString["auction_id"]; } Guid auctionID; if (!Guid.TryParse(param, out auctionID)) { Response.StatusCode = 404; Response.End(); } auction = Auctions.GetAuction(auctionID); if (auction == null) { Response.StatusCode = 404; Response.End(); } if (auction.UserID != user.UserID) { Response.StatusCode = 403; Response.End(); } lots = Auctions.GetAuctionLots(auction.AuctionID); AuctionTitle.Text = auction.AuctionTitle; ShowAuctionLink.NavigateUrl = GetRouteUrl("ShowAuctionRoute", new { auction_id = auction.AuctionID.ToString() }); if (!auction.IsStarted) { StatusButton.Text = "Start auction"; CreateLotBlock.Visible = true; } else if (!auction.IsClosed) { StatusButton.Text = "Close auction"; } else { AuctionStatusBlock.Visible = false; CreateLotBlock.Visible = false; } LotsRepeater.DataSource = lots; LotsRepeater.DataBind(); }