public ActionResult PermissionEditor(string GroupID) { Gid = GroupID; PermissionModel permissionmodel = new PermissionModel(); permissionmodel.MyPermissionAllow = new List <PagePermissionModel>(); permissionmodel.MyPermissionDeny = new List <PagePermissionModel>(); try { var Pages = pagemanager.GetAllPagesForGroups(GroupID); foreach (Page p in Pages) { PagePermissionModel model = new PagePermissionModel(); model.PageID = p.PageID; model.PageName = p.PageName; model.Selected = false; if (pagemanager.GetPagePermissionStatus(p.PageID, Gid)) { permissionmodel.MyPermissionDeny.Add(model); } else { permissionmodel.MyPermissionAllow.Add(model); } } return(PartialView("_PageList", permissionmodel)); } catch (Exception e) { ViewBag.message = e.Message; return(View("Error")); } }
protected override bool AuthorizeCore(HttpContextBase httpContext) { if (flag == true) { if (SessionManagement.CurrentUser == null) { return(false); } else { return(true); } } else { var ses = sm.CheckSession(); var session = sm.getSession(); if (sm.CheckSession()) { this.PageId = PageId; this.ActionId = ActionId; BranchId = session.BranchId ?? 0; RoleId = session.RoleId; UserId = session.Id; } if (sm.CheckSession()) { if (IsAdmin()) { return(false); } CompanyPage = getPage(); // ActionPage = getAction(); if (CompanyPage != null)// && ActionPage != null) { return(true); //if (ActionId == 0) //{ // return false; //} //else //{ // if (ActionPage != null) // { // return true; // } // else // { // return false; // } //} } } return(false); } }
public async Task <PagePermissionResponse> PagePermission(string roleId) { PagePermissionResponse p = new PagePermissionResponse(); List <PagePermissionModel> ppmEdit = new List <PagePermissionModel>(); List <PagePermissionModel> ppmView = new List <PagePermissionModel>(); string message = string.Empty; Console.WriteLine("Connect to SQL Server and demo Create, Read, Update and Delete operations."); Console.Write("Connecting to SQL Server ... "); using (SqlConnection connection = new SqlConnection(this._connectionString)) { connection.Open(); Console.WriteLine("Done."); using (SqlCommand command = new SqlCommand("get_role_permission", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@role_id", SqlDbType.Int).Value = roleId; command.Parameters.Add("@message", SqlDbType.NVarChar, 123456); command.Parameters["@message"].Direction = ParameterDirection.Output; try { using (SqlDataReader reader = await command.ExecuteReaderAsync()) { message = (string)command.Parameters["@message"].Value; while (reader.Read()) { PagePermissionModel pp = new PagePermissionModel(); pp.Page = Convert.ToString(reader["edit_pages"]); pp.roleId = Convert.ToInt32(reader["role_id"]); ppmEdit.Add(pp); } ; if (reader.NextResult()) { while (reader.Read()) { PagePermissionModel pp = new PagePermissionModel(); pp.Page = Convert.ToString(reader["edit_pages"]); pp.roleId = Convert.ToInt32(reader["role_id"]); ppmView.Add(pp); } } p.pagePermissionEdit = ppmEdit; p.pagePermissionView = ppmView; p.message = message; } } catch (Exception ex) { throw ex; } } } Console.WriteLine("All done. Press any key to finish..."); return(p); }
public PageAdminModel GetDefaultAdminModel(Guid siteId) { using (var context = _dbContextFactory.Create()) { var result = new PageAdminModel(); var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { result.PageLocalisations.Add(new PageLocalisationAdminModel { LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == DefaultRoleNames.Administrator }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = role.Name == DefaultRoleNames.Administrator }); } result.PagePermissions.Add(pagePermission); } var menus = context.Menus.Where(x => x.SiteId == siteId && x.Status == MenuStatus.Active) .Select(menu => new MenuModel { MenuId = menu.Id, MenuName = menu.Name, Selected = false }); result.Menus.AddRange(menus); return(result); } }
public async Task <PageAdminModel> RetrieveAsync(GetDefaultForAdmin query) { using (var context = _contextFactory.Create()) { var result = new PageAdminModel(); var languages = await context.Languages .Where(x => x.SiteId == query.SiteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToListAsync(); foreach (var language in languages) { result.PageLocalisations.Add(new PageLocalisationAdminModel { LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status }); } foreach (var role in await _queryDispatcher.GetResultAsync <GetAllRoles, IEnumerable <ApplicationRole> >(new GetAllRoles())) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == Administrator.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = role.Name == Administrator.Name }); } result.PagePermissions.Add(pagePermission); } var menus = context.Menus.Where(x => x.SiteId == query.SiteId && x.Status == MenuStatus.Active) .Select(menu => new MenuModel { MenuId = menu.Id, MenuName = menu.Name, Selected = false }); result.Menus.AddRange(menus); return(result); } }
public ActionResult GrantPermission(PageListModel model) { //3x3 me first number pagename id and second number is roleId var s = new Dictionary <int, string>(); var role = Services.RoleService.GetAll(); //var role = db.Result<List<RoleModel>>("api/role/getAllForPagePermission?companyId=" + CompanyId, "", db.get); s = Processing(model, role); var list = new List <PagePermissionModel>(); foreach (var first in role) { foreach (var second in s) { if (first.Id == second.Key) { var ls = second.Value.Split('#'); foreach (var i in ls) { var newmodel = new PagePermissionModel(); if (i != "") { newmodel.RoleId = first.Id; newmodel.PageId = Int32.Parse(i); newmodel.IsActive = true; newmodel.IsAdminPage = model.IsAdminPage; newmodel.PageAction = newmodel.RoleId.ToString() + "x" + newmodel.PageId.ToString(); list.Add(newmodel); } } } } } Services.RoleService.SetGrantPermission(list); // var model1 = db.Result<List<CompanyPageModel>>("api/role/setGrantPermission?companyId=" + CompanyId, list, db.post); // TempData["Success"] = msg.Success; return(RedirectToAction("Index", "Role")); }
public PageAdminModel GetDefaultAdminModel(Guid siteId) { var result = new PageAdminModel(); var languages = _languageRepository.GetAll(siteId); foreach (var language in languages) { result.PageLocalisations.Add(new PageLocalisationAdminModel { LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = role.Name == DefaultRoleNames.Administrator; pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = selected }); } result.PagePermissions.Add(pagePermission); } return(result); }
public async Task <PageAdminModel> RetrieveAsync(GetForAdmin query) { using (var context = _contextFactory.Create()) { var page = await context.Pages .Include(x => x.PageLocalisations) .Include(x => x.PagePermissions) .FirstOrDefaultAsync(x => x.SiteId == query.SiteId && x.Id == query.Id && x.Status != PageStatus.Deleted); if (page == null) { return(null); } var result = new PageAdminModel { Id = page.Id, Name = page.Name, Status = page.Status, Url = page.Url, Title = page.Title, MetaDescription = page.MetaDescription, MetaKeywords = page.MetaKeywords }; var languages = await context.Languages .Where(x => x.SiteId == query.SiteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToListAsync(); foreach (var language in languages) { var url = string.Empty; var title = string.Empty; var metaDescription = string.Empty; var metaKeywords = string.Empty; var existingLocalisation = page .PageLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { url = existingLocalisation.Url; title = existingLocalisation.Title; metaDescription = existingLocalisation.MetaDescription; metaKeywords = existingLocalisation.MetaKeywords; } result.PageLocalisations.Add(new PageLocalisationAdminModel { PageId = page.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Url = url, Title = title, MetaDescription = metaDescription, MetaKeywords = metaKeywords }); } foreach (var role in await _queryDispatcher.DispatchAsync <GetAllRoles, IEnumerable <Role> >(new GetAllRoles())) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == Administrator.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = page.PagePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = selected || role.Name == Administrator.Name }); } result.PagePermissions.Add(pagePermission); } return(result); } }
public PageAdminModel GetAdminModel(Guid siteId, Guid pageId) { using (var context = _dbContextFactory.Create()) { var page = context.Pages .Include(x => x.PageLocalisations) .Include(x => x.PagePermissions) .FirstOrDefault(x => x.SiteId == siteId && x.Id == pageId && x.Status != PageStatus.Deleted); if (page == null) { return(null); } var result = new PageAdminModel { Id = page.Id, Name = page.Name, Status = page.Status, Url = page.Url, Title = page.Title, MetaDescription = page.MetaDescription, MetaKeywords = page.MetaKeywords }; var languages = context.Languages .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted) .OrderBy(x => x.SortOrder) .ToList(); foreach (var language in languages) { var url = string.Empty; var title = string.Empty; var metaDescription = string.Empty; var metaKeywords = string.Empty; var existingLocalisation = page .PageLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { url = existingLocalisation.Url; title = existingLocalisation.Title; metaDescription = existingLocalisation.MetaDescription; metaKeywords = existingLocalisation.MetaKeywords; } result.PageLocalisations.Add(new PageLocalisationAdminModel { PageId = page.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Url = url, Title = title, MetaDescription = metaDescription, MetaKeywords = metaKeywords }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name, Disabled = role.Name == DefaultRoleNames.Administrator }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = page.PagePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = selected || role.Name == DefaultRoleNames.Administrator }); } result.PagePermissions.Add(pagePermission); } return(result); } }
public PageAdminModel GetAdminModel(Guid siteId, Guid pageId) { var page = _pageRepository.GetById(siteId, pageId); if (page == null) { return(null); } var result = new PageAdminModel { Id = page.Id, Name = page.Name, Status = page.Status, Url = page.Url, Title = page.Title, MetaDescription = page.MetaDescription, MetaKeywords = page.MetaKeywords }; var languages = _languageRepository.GetAll(siteId); foreach (var language in languages) { var url = string.Empty; var title = string.Empty; var metaDescription = string.Empty; var metaKeywords = string.Empty; var existingLocalisation = page .PageLocalisations .FirstOrDefault(x => x.LanguageId == language.Id); if (existingLocalisation != null) { url = existingLocalisation.Url; title = existingLocalisation.Title; metaDescription = existingLocalisation.MetaDescription; metaKeywords = existingLocalisation.MetaKeywords; } result.PageLocalisations.Add(new PageLocalisationAdminModel { PageId = page.Id, LanguageId = language.Id, LanguageName = language.Name, LanguageStatus = language.Status, Url = url, Title = title, MetaDescription = metaDescription, MetaKeywords = metaKeywords }); } foreach (var role in _roleService.GetAllRoles()) { var pagePermission = new PagePermissionModel { RoleId = role.Id, RoleName = role.Name }; foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType))) { bool selected = page.PagePermissions .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null; pagePermission.PagePermissionTypes.Add(new PagePermissionTypeModel { Type = permisisonType, Selected = selected }); } result.PagePermissions.Add(pagePermission); } return(result); }