Пример #1
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            string userName = RouteData.Values["user_name"].ToString();

            if (String.IsNullOrEmpty(userName))
            {
                Response.StatusCode = 404;
                Response.End();
                return;
            }
            user = MADUsers.GetUser(userName);
            if (user == null)
            {
                Response.StatusCode = 404;
                Response.End();
                return;
            }
            auctions = Auctioning.Auctions.GetUserAuctions(user.UserID);

            User currentUser = MADUsers.GetUser();

            if (currentUser == null || user.UserID != currentUser.UserID)
            {
                AuctionsRepeater.DataSource = auctions.Where(el => el.IsStarted).ToList();
            }
            else
            {
                AuctionsRepeater.DataSource = auctions;
            }
            AuctionsRepeater.DataBind();
        }
        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);

            string param = RouteData.Values["lot_id"].ToString();

            Guid lotID;

            if (!Guid.TryParse(param, out lotID))
            {
                Response.StatusCode = 404;
                Response.End();
            }

            lot = Auctioning.Auctions.GetLot(lotID);
            if (lot == null)
            {
                Response.StatusCode = 404;
                Response.End();
            }

            auction = Auctioning.Auctions.GetAuction(lot.AuctionID);
            if (auction == null)
            {
                Response.StatusCode = 404;
                Response.End();
            }

            currentPrice = Auctioning.Auctions.GetLotSumPrice(lot.LotID);

            bids = Auctioning.Auctions.GetLotBids(lot.LotID);
            if (bids.Count == 0)
            {
                BidsRepeater.Visible = false;
            }
            else
            {
                BidsRepeater.Visible = true;
            }
            BidsRepeater.DataSource = bids;
            BidsRepeater.DataBind();

            AuctionLink.NavigateUrl    = GetRouteUrl("ShowAuctionRoute", new { auction_id = auction.AuctionID.ToString() });
            AuctionLink.Text           = auction.AuctionTitle;
            LotTitleLabel.Text         = lot.Title;
            LotDescriptionLabel.Text   = lot.Description;
            LotStartingPriceLabel.Text = lot.StartingPrice.ToString();
            LotCurrentPriceLabel.Text  = currentPrice.ToString();
            LotStatusLabel.Text        = lot.IsSold ? "Sold" : "Not sold";

            User currentUser = MADUsers.GetUser();

            if (!auction.IsStarted || auction.IsClosed || lot.IsSold || auction.UserID == currentUser.UserID)
            {
                BidPlaceholder.Visible = false;
            }
        }
Пример #4
0
        public static List <Auction> GetUserAuctions()
        {
            User user = MADUsers.GetUser();

            if (user == null)
            {
                return(new List <Auction>());
            }
            return(GetUserAuctions(user.UserID));
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            User user = MADUsers.GetUser();

            if (user == null)
            {
                Response.StatusCode = 404;
                Response.End();
            }
        }
 protected void UsersRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
 {
     if (e.CommandName == "LockUser")
     {
         User user = users[e.Item.ItemIndex];
         MADUsers.SetUserLockStatus(user.UserID, !user.IsLocked);
         users = MADUsers.GetAllUsers();
         UsersRepeater.DataSource = users;
         UsersRepeater.DataBind();
     }
 }
Пример #7
0
        protected void Unnamed_UserCreated(object sender, UserCreatedEventArgs e)
        {
            string defaultUrl = GetRouteUrl("DefaultRoute", null);
            string param      = RouteData.Values["role"].ToString();
            Role   role       = MADRoles.GetRole(param);

            if (role != null)
            {
                MADRoles.AddRoleToUser(e.User, role);
                HttpCookie authCookie = MADUsers.CreateAuthCookie(e.User.UserName, true);
                Response.SetCookie(authCookie);
                Response.Redirect(defaultUrl, true);
            }
            else
            {
                Response.Redirect(GetRouteUrl("RegisterRoute", null), true);
            }
        }
Пример #8
0
        void LoginButton_Click(object sender, EventArgs e)
        {
            string userName     = userNameTextBox.Text.Trim();
            string password     = passwordTextBox.Text.Trim();
            bool   isPersistent = rememberMeCheckBox.Checked;

            if (MADUsers.ValidateUser(userName, password))
            {
                HttpCookie authCookie = MADUsers.CreateAuthCookie(userName, isPersistent);
                Page.Response.Cookies.Add(authCookie);

                string redirectUrl = FormsAuthentication.GetRedirectUrl(userName, isPersistent);
                Page.Response.Redirect(redirectUrl);
            }
            else
            {
                errorMessageLabel.Text = InvalidCredentialsText;
            }
        }
Пример #9
0
        protected void CreateUserButton_Click(object sender, EventArgs e)
        {
            Page.Validate("CreateUserValidationGroup");
            if (Page.IsValid)
            {
                string userName = UserNameTextBox.Text.Trim();
                string password = PasswordTextBox.Text.Trim();
                if (MADUsers.GetUser(userName) == null)
                {
                    User user = MADUsers.CreateUser(userName, password);

                    OnUserCreated(new UserCreatedEventArgs(user));
                }
                else
                {
                    ErrorLabel.Text = "User with the same name already exists.";
                }
            }
        }
Пример #10
0
        protected override void OnInit(EventArgs e)
        {
            string userName = Page.RouteData.Values["user_name"].ToString();

            if (String.IsNullOrEmpty(userName))
            {
                userName = Page.Request.QueryString["user_name"];
                if (String.IsNullOrEmpty(userName))
                {
                    Response.StatusCode = 404;
                    Response.End();
                }
            }

            user = MADUsers.GetUser(userName);
            if (user == null)
            {
                Response.StatusCode = 404;
                Response.End();
            }
            allRoles  = MADRoles.GetAllRoles();
            userRoles = MADRoles.GetRolesForUser(userName);

            UserRolesCheckBoxList.AutoPostBack          = true;
            UserRolesCheckBoxList.SelectedIndexChanged += UserRolesCheckBoxList_SelectedIndexChanged;
            UserRolesCheckBoxList.DataSource            = allRoles;
            UserRolesCheckBoxList.DataTextField         = "RoleName";
            UserRolesCheckBoxList.DataBind();

            foreach (ListItem item in UserRolesCheckBoxList.Items)
            {
                item.Selected = userRoles.Contains(
                    allRoles.Where(role => role.RoleName == item.Text)
                    .FirstOrDefault()
                    );
            }
        }
Пример #11
0
        public static Auction CreateAuction(string auctionTitle)
        {
            User user = MADUsers.GetUser();

            return(dataProvider.CreateAuction(user.UserID, auctionTitle));
        }
Пример #12
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();
        }
 protected override void OnInit(EventArgs e)
 {
     users = MADUsers.GetAllUsers();
     UsersRepeater.DataSource = users;
     UsersRepeater.DataBind();
 }
Пример #14
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            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))
            {
                auction = Auctions.GetAuction(auctionID);
                if (auction == null)
                {
                    Response.StatusCode = 404;
                    Response.End();
                }

                User currentUser = MADUsers.GetUser();
                if (currentUser == null || currentUser.UserID != auction.UserID)
                {
                    if (!auction.IsStarted)
                    {
                        Response.StatusCode = 404;
                        Response.End();
                    }
                    EditAuctionPlaceholder.Visible = false;
                }
                else
                {
                    EditAuctionPlaceholder.Visible = true;
                    EditAuctionLink.NavigateUrl    = GetRouteUrl("EditAuctionRoute", new { auction_id = auction.AuctionID.ToString() });
                }

                lots = Auctions.GetAuctionLots(auction.AuctionID);
                user = MADUsers.GetUser(auction.UserID);

                AuctioneerLabel.Text = user.UserName;

                AuctioneerLink.NavigateUrl = GetRouteUrl("ShowUserAuctionsRoute", new { user_name = user.UserName });
                AuctioneerLink.Text        = "Find other auctions from " + user.UserName;

                AuctionTitleLabel.Text = auction.AuctionTitle;

                AuctionStatusLabel.Text = !auction.IsStarted ?
                                          "Not started"
                    : !auction.IsClosed ?
                                          "Active since " + auction.StartDate.ToString()
                    : "Closed at " + auction.EndDate.ToString();

                LotsRepeater.DataSource = lots;
                LotsRepeater.DataBind();
            }
            else
            {
                Response.StatusCode = 404;
                Response.End();
            }
        }