Esempio n. 1
0
        public async Task <ActionResultResponse> AddNewRolePage(string tenantId, string roleId, List <RolePagePermissionMeta> rolePagePermissionMeta)
        {
            var roleInfo = await _roleRepository.FindByIdAsync(roleId, new CancellationToken());

            if (roleInfo == null)
            {
                return(new ActionResultResponse(-1, _resourceService.GetString("Role does not exists.")));
            }

            if (roleInfo.TenantId != tenantId)
            {
                return(new ActionResultResponse(-2, _sharedResourceService.GetString("You do not have permission to do this action.")));
            }

            var rolePages = new List <RolesPages>();

            foreach (var rolePage in rolePagePermissionMeta)
            {
                var rolePageInfo = await _rolePageRepository.GetInfo(roleId, rolePage.PageId);

                if (rolePageInfo == null)
                {
                    rolePages.Add(new RolesPages
                    {
                        PageId      = rolePage.PageId,
                        RoleId      = roleId,
                        Permissions = rolePage.Permissions
                    });
                }
            }

            var result = await _rolePageRepository.Inserts(rolePages);

            return(new ActionResultResponse(result, result <= 0 ? _sharedResourceService.GetString("Something went wrong. Please contact with administrator.")
                : _resourceService.GetString("Add new role permission successful.")));
        }