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);
            }
        }
示例#2
0
        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();
        }