public PartialViewResult ListCategorySideMenu()
 {
     using (UnitOfWorkManager.NewUnitOfWork())
     {
         var catViewModel = new CategoryListViewModel
         {
             AllPermissionSets = ViewModelMapping.GetPermissionsForCategories(_categoryService.GetAll(), _roleService, UsersRole)
         };
         return PartialView(catViewModel);
     }
 }
        public PartialViewResult ListCategorySideMenu()
        {
            var catViewModel = new CategoryListViewModel { 
                AllPermissionSets = new Dictionary<Category, PermissionSet>()};

            using (UnitOfWorkManager.NewUnitOfWork())
            {
                foreach (var category in _categoryService.GetAllMainCategories())
                {
                    var permissionSet = RoleService.GetPermissions(category, UsersRole);
                    catViewModel.AllPermissionSets.Add(category, permissionSet);
                }
            }

            return PartialView(catViewModel);
        }
        public ActionResult Show(string slug, int? p)
        {
            using (UnitOfWorkManager.NewUnitOfWork())
            {
                // Get the category
                var category = _categoryService.GetBySlugWithSubCategories(slug);

                // Set the page index
                var pageIndex = p ?? 1;

                // check the user has permission to this category
                var permissions = RoleService.GetPermissions(category.Category, UsersRole);

                if (!permissions[AppConstants.PermissionDenyAccess].IsTicked)
                {

                    var topics = _topicService.GetPagedTopicsByCategory(pageIndex,
                                                                        SettingsService.GetSettings().TopicsPerPage,
                                                                        int.MaxValue, category.Category.Id);

                    var topicViewModels = ViewModelMapping.CreateTopicViewModels(topics.ToList(), RoleService, UsersRole, LoggedOnUser, SettingsService.GetSettings());

                    // Create the main view model for the category
                    var viewModel = new ViewCategoryViewModel
                        {
                            Permissions = permissions,
                            Topics = topicViewModels,
                            Category = category.Category,
                            PageIndex = pageIndex,
                            TotalCount = topics.TotalCount,
                            TotalPages = topics.TotalPages,
                            User = LoggedOnUser,
                            IsSubscribed = UserIsAuthenticated && (_categoryNotificationService.GetByUserAndCategory(LoggedOnUser, category.Category).Any())
                        };

                    // If there are subcategories then add then with their permissions
                    if (category.SubCategories.Any())
                    {
                        var subCatViewModel = new CategoryListViewModel
                            {
                                AllPermissionSets = new Dictionary<Category, PermissionSet>()
                            };
                        foreach (var subCategory in category.SubCategories)
                        {
                            var permissionSet = RoleService.GetPermissions(subCategory, UsersRole);
                            subCatViewModel.AllPermissionSets.Add(subCategory, permissionSet);
                        }
                        viewModel.SubCategories = subCatViewModel;
                    }

                    return View(viewModel);
                }

                return ErrorToHomePage(LocalizationService.GetResourceString("Errors.NoPermission"));
            }
        }
Example #4
0
        public ActionResult Index()
        {
            var catViewModel = new CategoryListViewModel
            {
                AllPermissionSets = new Dictionary<Category, PermissionSet>()
            };

            using (UnitOfWorkManager.NewUnitOfWork())
            {
                foreach (var category in _categoryService.GetAllMainCategories(true))
                {
                    var permissionSet = RoleService.GetPermissions(category, UsersRole);
                    catViewModel.AllPermissionSets.Add(category, permissionSet);
                }
            }

            return View(new IndexCategoryViewModel
                {
                    Categories = catViewModel
                });
        }