Ejemplo n.º 1
0
        private void UserRolesCheckBoxList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var checkBoxList = sender as CheckBoxList;

            if (checkBoxList == null)
            {
                return;
            }
            var items     = checkBoxList.Items.AsEnumerable();
            var roleItems =
                from item in items
                from role in allRoles
                where item.Text == role.RoleName
                select new
            {
                role,
                item
            };

            var selectedRoles   = roleItems.Where(roleItem => roleItem.item.Selected).Select(roleItem => roleItem.role).ToList();
            var unselectedRoles = roleItems.Where(roleItem => !roleItem.item.Selected).Select(roleItem => roleItem.role).ToList();

            var rolesToAdd    = selectedRoles.Except(userRoles).ToList();
            var rolesToDelete = userRoles.Intersect(unselectedRoles).ToList();

            // Add selected roles to the user.
            rolesToAdd.ForEach(role => MADRoles.AddRoleToUser(user, role));
            // Remove unselected rles from the user.
            rolesToDelete.ForEach(role => MADRoles.RemoveRoleFromUser(user, role));
        }
        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 void Page_Load(object sender, EventArgs e)
        {
            roles = MADRoles.GetAllRoles();

            RoleRepeater.DataSource = roles;
            RoleRepeater.DataBind();
        }
        protected void AddRoleButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                string roleName = RoleNameTextBox.Text.Trim();
                if (!MADRoles.RoleExists(roleName))
                {
                    Role role = MADRoles.CreateRole(roleName);

                    OnRoleCreated(new RoleCreatedEventArgs(role));
                }
                else
                {
                    ErrorLabel.Text = "Role with the same name already exists.";
                }
            }
        }
Ejemplo n.º 5
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);
            }
        }
 protected void RoleRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
 {
     if (e.CommandName == "Delete")
     {
         Role role = roles[e.Item.ItemIndex];
         if (MADRoles.ExistUsersWithRole(role.RoleID))
         {
             ErrorLabel.Text = "There are exist users with this role. Delete this references< first.";
         }
         else
         {
             MADRoles.DeleteRole(role.RoleID);
             roles = MADRoles.GetAllRoles();
             RoleRepeater.DataSource = roles;
             RoleRepeater.DataBind();
         }
     }
 }
Ejemplo n.º 7
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()
                    );
            }
        }
Ejemplo n.º 8
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();
        }