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."; } } }
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(); } } }
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() ); } }
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(); }