public async Task LoadPermissions(MixCmsContext _context = null , IDbContextTransaction _transaction = null) { var getPermissions = await MixPortalPages.UpdateRolePermissionViewModel.Repository.GetModelListByAsync( p => p.Level == 0, _context, _transaction); if (getPermissions.IsSucceed) { Permissions = getPermissions.Data; foreach (var item in Permissions) { item.NavPermission = MixPortalPageRoles.ReadViewModel.Repository.GetSingleModel( n => n.PageId == item.Id && n.RoleId == Id, _context, _transaction) .Data; if (item.NavPermission == null) { var nav = new MixPortalPageRole() { PageId = item.Id, RoleId = Id, Status = MixContentStatus.Published }; item.NavPermission = new MixPortalPageRoles.ReadViewModel(nav) { IsActived = false }; } else { item.NavPermission.IsActived = true; } foreach (var child in item.ChildPages) { child.PortalPage.NavPermission = MixPortalPageRoles.ReadViewModel.Repository.GetSingleModel( n => n.PageId == child.PortalPage.Id && n.RoleId == Id, _context, _transaction) .Data; if (child.PortalPage.NavPermission == null) { var nav = new MixPortalPageRole() { PageId = child.PortalPage.Id, RoleId = Id, Status = MixContentStatus.Published }; child.PortalPage.NavPermission = new MixPortalPageRoles.ReadViewModel(nav) { IsActived = false }; } else { child.PortalPage.NavPermission.IsActived = true; } } } } }
public static async Task <List <MixPortalPages.UpdateRolePermissionViewModel> > LoadPermissions(string roleId, MixCmsContext _context = null , IDbContextTransaction _transaction = null) { var getPermissions = await MixPortalPages.UpdateRolePermissionViewModel.Repository.GetModelListByAsync( p => p.Level == 0 && p.MixPortalPageRole.Any(r => r.RoleId == roleId) , _context, _transaction); if (getPermissions.IsSucceed) { try { foreach (var item in getPermissions.Data) { item.NavPermission = MixPortalPageRoles.ReadViewModel.Repository.GetSingleModel( n => n.PageId == item.Id && n.RoleId == roleId, _context, _transaction) .Data; foreach (var child in item.ChildPages) { child.PortalPage.NavPermission = MixPortalPageRoles.ReadViewModel.Repository.GetSingleModel( n => n.PageId == child.PortalPage.Id && n.RoleId == roleId, _context, _transaction) .Data; if (child.PortalPage.NavPermission == null) { var nav = new MixPortalPageRole() { PageId = child.PortalPage.Id, RoleId = roleId, Status = MixContentStatus.Published }; child.PortalPage.NavPermission = new MixPortalPageRoles.ReadViewModel(nav) { IsActived = false }; } else { child.PortalPage.NavPermission.IsActived = true; } } } } catch (Exception ex) { Console.WriteLine(ex); } } return(getPermissions.Data); }
public override void ExpandView(MixCmsAccountContext _context = null, IDbContextTransaction _transaction = null) { Permissions = MixPortalPages.UpdateRolePermissionViewModel.Repository.GetModelListBy(p => p.Level == 0).Data; foreach (var item in Permissions) { item.NavPermission = MixPortalPageRoles.ReadViewModel.Repository.GetSingleModel(n => n.PageId == item.Id && n.RoleId == Id).Data; if (item.NavPermission == null) { var nav = new MixPortalPageRole() { PageId = item.Id, RoleId = Id, Status = (int)MixContentStatus.Published }; item.NavPermission = new MixPortalPageRoles.ReadViewModel(nav) { IsActived = false }; } else { item.NavPermission.IsActived = true; } foreach (var child in item.ChildPages) { child.Page.NavPermission = MixPortalPageRoles.ReadViewModel.Repository.GetSingleModel(n => n.PageId == child.Page.Id && n.RoleId == Id).Data; if (child.Page.NavPermission == null) { var nav = new MixPortalPageRole() { PageId = child.Page.Id, RoleId = Id, Status = (int)MixContentStatus.Published }; child.Page.NavPermission = new MixPortalPageRoles.ReadViewModel(nav) { IsActived = false }; } else { child.Page.NavPermission.IsActived = true; } } } }