Example #1
0
        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;
                        }
                    }
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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;
                    }
                }
            }
        }