示例#1
0
        private Task RoleEdited(SocketRole prevSocketRole, SocketRole socketRole)
        {
            // Get roleContainers and check if role exists.
            List <RoleContainer> roleContainers = Data.GetContainers <RoleContainer>(Data.FILE_PATH + Data.ROLE_FILE);
            RoleContainer        roleContainer  = roleContainers.FirstOrDefault(rc => rc.name.ToLower() == prevSocketRole.Name.ToLower());

            if (roleContainer != null)
            {
                roleContainer.name = socketRole.Name;

                // Check if administrative permissions have changed. If so make unjoinable.
                if (Data.ReceivedAdministrativePermission(prevSocketRole, socketRole))
                {
                    roleContainer.joinable = false;
                    roleContainer.roleType = RoleType.Admin;
                }
                Data.SaveContainers(roleContainers, Data.FILE_PATH + Data.ROLE_FILE);
            }

            return(Task.CompletedTask);
        }