public bool IsAvailableForUser(UserBase user, ScenarioStartupSource source, ScenarioAction action) { if (action > DenyAction) { return(true); } if (user is SystemUser) { return(true); } return(!GroupsIds.Any(x => Repository.Groups.First(g => g.Name.Equals(x)) .UsersIds.Any(z => z.Equals(user.Id)))); }
public override void ParseFromNetworkMessage(NetworkMessage message) { PlayerId = message.ReadUInt32(); PlayerName = message.ReadString(); Description = message.ReadString(); Icon = message.ReadUInt32(); NotifyOnLogin = message.ReadBool(); ConnectionStatus = message.ReadByte(); GroupsIds.Capacity = message.ReadByte(); for (var i = 0; i < GroupsIds.Capacity; ++i) { GroupsIds.Add(message.ReadByte()); } }