/* * Parameters: * 0: channel id * 1: page number * 2: page size * 3: include non-published? 1 or 0 */ private void GetItemsByChannel(HydraRequest request) { int channelId = int.Parse(request.Parameters[0]); Channel channel = Channel.ChannelGetById(channelId); List <ChannelMessage> messages = ChannelMessage.GetMessagesForChannel(channel); HydraArray array = new HydraArray(); foreach (ChannelMessage message in messages) { HydraHashMap map = new HydraHashMap(); foreach (var str in message.Strings) { map.Items.Add(str.Key, new HydraUtf8String(str.Value)); } array.Items.Add(new HydraHashMap(new Dictionary <string, IHydraItem>() { { "input", map } })); } HydraResponse response = new HydraResponse(Connection, array); response.Send(); }
/* * Parameters: * 0: channel owner */ private void GetChannelsByOwner(HydraRequest request) { ChannelOwner owner = (ChannelOwner)int.Parse(request.Parameters[0]); Game game = Game.GetFromApiKey(request.ApiKey); Channel channel = Channel.ChannelGetByOwner(game, owner); HydraArray array = new HydraArray(new List <IHydraItem>() { new HydraInt64(channel.ID), }); HydraResponse response = new HydraResponse(Connection, array); response.Send(); }
private void ListSelectedForOwner(HydraRequest request) { int userId = int.Parse(request.Parameters[0]); int pageNo = int.Parse(request.Parameters[1]); int maxItems = int.Parse(request.Parameters[2]); string itemType = request.Parameters[3]; var characters = Character.GetCharacters(pageNo, maxItems); Console.WriteLine("Sending characters to game (max {0}):", maxItems); HydraArray array = new HydraArray(); foreach (Character character in characters) { Console.WriteLine("{0} - {1}", character.ID, character.Name); HydraHashMap map = new HydraHashMap(new Dictionary <string, IHydraItem>() { { "meta_data", new HydraHashMap(new Dictionary <string, IHydraItem>() { { "Name", new HydraUtf8String(character.Name) }, { "Avatar", new HydraBinary(character.AvatarData) }, { "Avatar Version", new HydraInt32(character.AvatarVersion) } } ) } }); array.Items.Add(map); } Console.WriteLine(); HydraResponse response = new HydraResponse(Connection, array); response.Send(); }