Esempio n. 1
0
        public IActionResult UpdateModule(PageModuleAdminModel model)
        {
            var command = _mapper.Map <UpdatePageModuleDetails>(model);

            command.SiteId = SiteId;
            command.PageModulePermissions = model.PageModulePermissions.ToDomain();
            _commandSender.Send <UpdatePageModuleDetails, Page>(command);
            return(new NoContentResult());
        }
Esempio n. 2
0
        public async Task <IActionResult> UpdateModule(PageModuleAdminModel model)
        {
            var command = _mapper.Map <UpdatePageModuleDetails>(model);

            command.SiteId = SiteId;
            command.PageModulePermissions = GetSelectedPageModulePermissions(model.PageModulePermissions);
            await Task.Run(() => _commandSender.Send <UpdatePageModuleDetails, Page>(command));

            return(new NoContentResult());
        }
Esempio n. 3
0
        public PageModuleAdminModel GetModuleAdminModel(Guid siteId, Guid pageId, Guid pageModuleId)
        {
            using (var context = _dbContextFactory.Create())
            {
                var page = GetPage(context, siteId, pageId);

                if (page == null)
                {
                    return(null);
                }

                var pageModule = page.PageModules.FirstOrDefault(x => x.Id == pageModuleId);

                if (pageModule == null)
                {
                    return(null);
                }

                var result = new PageModuleAdminModel
                {
                    PageId             = page.Id,
                    ModuleId           = pageModule.ModuleId,
                    PageModuleId       = pageModule.Id,
                    Title              = pageModule.Title,
                    InheritPermissions = pageModule.InheritPermissions
                };

                var languages = context.Languages
                                .Where(x => x.SiteId == siteId && x.Status != LanguageStatus.Deleted)
                                .OrderBy(x => x.SortOrder)
                                .ToList();

                foreach (var language in languages)
                {
                    var title = string.Empty;

                    var existingLocalisation = pageModule
                                               .PageModuleLocalisations
                                               .FirstOrDefault(x => x.LanguageId == language.Id);

                    if (existingLocalisation != null)
                    {
                        title = existingLocalisation.Title;
                    }

                    result.PageModuleLocalisations.Add(new PageModuleLocalisationAdminModel
                    {
                        PageModuleId   = pageModule.Id,
                        LanguageId     = language.Id,
                        LanguageName   = language.Name,
                        LanguageStatus = language.Status,
                        Title          = title
                    });
                }

                foreach (var role in _roleService.GetAllRoles())
                {
                    var pageModulePermission = new PageModulePermissionModel
                    {
                        RoleId   = role.Id,
                        RoleName = role.Name,
                        Disabled = role.Name == DefaultRoleNames.Administrator
                    };

                    foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType)))
                    {
                        bool selected = pageModule.PageModulePermissions
                                        .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null;

                        pageModulePermission.PageModulePermissionTypes.Add(new PageModulePermissionTypeModel
                        {
                            Type     = permisisonType,
                            Selected = selected
                        });
                    }

                    result.PageModulePermissions.Add(pageModulePermission);
                }

                return(result);
            }
        }
Esempio n. 4
0
        public async Task <PageModuleAdminModel> GetModuleAdminModelAsync(Guid siteId, Guid pageId, Guid pageModuleId)
        {
            var page = _pageRepository.GetById(siteId, pageId);

            if (page == null || page.Status == PageStatus.Deleted)
            {
                return(null);
            }

            var pageModule = page.PageModules.FirstOrDefault(x => x.Id == pageModuleId);

            if (pageModule == null || pageModule.Status == PageModuleStatus.Deleted)
            {
                return(null);
            }

            var result = new PageModuleAdminModel
            {
                PageId             = page.Id,
                ModuleId           = pageModule.ModuleId,
                PageModuleId       = pageModule.Id,
                Title              = pageModule.Title,
                InheritPermissions = pageModule.InheritPermissions
            };

            var languages = _languageRepository.GetAll(siteId).Where(x => x.Status != LanguageStatus.Deleted);

            foreach (var language in languages)
            {
                var title = string.Empty;

                var existingLocalisation = pageModule
                                           .PageModuleLocalisations
                                           .FirstOrDefault(x => x.LanguageId == language.Id);

                if (existingLocalisation != null)
                {
                    title = existingLocalisation.Title;
                }

                result.PageModuleLocalisations.Add(new PageModuleLocalisationAdminModel
                {
                    PageModuleId = pageModule.Id,
                    LanguageId   = language.Id,
                    LanguageName = language.Name,
                    Title        = title
                });
            }

            foreach (var role in _roleService.GetAllRoles())
            {
                bool selected = pageModule.PageModulePermissions.FirstOrDefault(x => x.RoleId == role.Id) != null;

                result.PageModulePermissions.Add(new PageModulePermissionModel
                {
                    RoleId   = role.Id,
                    RoleName = role.Name,
                    Type     = PermissionType.View,
                    Selected = selected
                });
            }

            return(result);
        }
Esempio n. 5
0
        public PageModuleAdminModel GetModuleAdminModel(Guid siteId, Guid pageId, Guid pageModuleId)
        {
            var page = _pageRepository.GetById(siteId, pageId);

            if (page == null)
            {
                return(null);
            }

            var pageModule = page.PageModules.FirstOrDefault(x => x.Id == pageModuleId);

            if (pageModule == null)
            {
                return(null);
            }

            var result = new PageModuleAdminModel
            {
                PageId             = page.Id,
                ModuleId           = pageModule.ModuleId,
                PageModuleId       = pageModule.Id,
                Title              = pageModule.Title,
                InheritPermissions = pageModule.InheritPermissions
            };

            var languages = _languageRepository.GetAll(siteId);

            foreach (var language in languages)
            {
                var title = string.Empty;

                var existingLocalisation = pageModule
                                           .PageModuleLocalisations
                                           .FirstOrDefault(x => x.LanguageId == language.Id);

                if (existingLocalisation != null)
                {
                    title = existingLocalisation.Title;
                }

                result.PageModuleLocalisations.Add(new PageModuleLocalisationAdminModel
                {
                    PageModuleId   = pageModule.Id,
                    LanguageId     = language.Id,
                    LanguageName   = language.Name,
                    LanguageStatus = language.Status,
                    Title          = title
                });
            }

            foreach (var role in _roleService.GetAllRoles())
            {
                var pageModulePermission = new PageModulePermissionModel
                {
                    RoleId   = role.Id,
                    RoleName = role.Name
                };

                foreach (PermissionType permisisonType in Enum.GetValues(typeof(PermissionType)))
                {
                    bool selected = pageModule.PageModulePermissions
                                    .FirstOrDefault(x => x.RoleId == role.Id && x.Type == permisisonType) != null;

                    pageModulePermission.PageModulePermissionTypes.Add(new PageModulePermissionTypeModel
                    {
                        Type     = permisisonType,
                        Selected = selected
                    });
                }

                result.PageModulePermissions.Add(pageModulePermission);
            }

            return(result);
        }