private void Browser_OnLoadPage_InjectEnums() { _browserAPIManager.ExecuteGobchatJavascript(builder => { builder.Append("Gobchat.MessageSegmentEnum = "); builder.AppendLine(typeof(MessageSegmentType).EnumToJson(s => s.ToUpperInvariant())); }); _browserAPIManager.ExecuteGobchatJavascript(builder => { builder.Append("Gobchat.ChannelEnum = "); builder.AppendLine(typeof(ChatChannel).EnumToJson(s => s.ToUpperInvariant())); }); _browserAPIManager.ExecuteGobchatJavascript(builder => { var channels = GobchatChannelMapping.GetAllChannels(); var settings = new Newtonsoft.Json.JsonSerializerSettings(); settings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); builder.AppendLine("Gobchat.Channels = {"); for (var i = 0; i < channels.Count; ++i) { var channel = channels[i]; var name = channel.ChatChannel.ToString().ToUpperInvariant(); var jsonObject = Newtonsoft.Json.JsonConvert.SerializeObject(channel, settings); builder.Append("\"").Append(name).Append("\": ").Append(jsonObject); if (i + 1 < channels.Count) { builder.AppendLine(","); } else { builder.AppendLine(); } } builder.AppendLine("}"); }); }