{"action":"created","issue":{"url":"https://api.github.com/repos/iigorr/pgn.net/issues/13","labels_url":"https://api.github.com/repos/iigorr/pgn.net/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/iigorr/pgn.net/issues/13/comments","events_url":"https://api.github.com/repos/iigorr/pgn.net/issues/13/events","html_url":"https://github.com/iigorr/pgn.net/issues/13","id":87587597,"number":13,"title":"Accessing Header Fields","user":{"login":"iigorr","id":696765,"avatar_url":"https://avatars.githubusercontent.com/u/696765?v=3","gravatar_id":"","url":"https://api.github.com/users/iigorr","html_url":"https://github.com/iigorr","followers_url":"https://api.github.com/users/iigorr/followers","following_url":"https://api.github.com/users/iigorr/following{/other_user}","gists_url":"https://api.github.com/users/iigorr/gists{/gist_id}","starred_url":"https://api.github.com/users/iigorr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iigorr/subscriptions","organizations_url":"https://api.github.com/users/iigorr/orgs","repos_url":"https://api.github.com/users/iigorr/repos","events_url":"https://api.github.com/users/iigorr/events{/privacy}","received_events_url":"https://api.github.com/users/iigorr/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/iigorr/pgn.net/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-12T03:10:56Z","updated_at":"2015-06-12T03:28:23Z","closed_at":null,"body":"@Dodgero wrote:\r\n> I don't know if what I am going to point out can be\r\ncalled that way, but I have noticed the library does not support some of\r\nthe pgn header fields. I think it would be great if it would be possible to\r\naccess them via properties and to get on the output the same what was on\r\nthe input, so that no fields would be lost in the process. In other words,\r\nafter operation pgn->reader->writer->pgn, the pgn should be the same on\r\nboth sides. To make this happen, all headers would have to be processed,\r\nnow they are cut off. Namely, header fields \"WhiteElo\", \"BlackElo\" I find\r\nas quite important.\r\n\r\n>Would you kindly consider adding support for other pgn header fields ? ;)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/iigorr/pgn.net/issues/comments/111341396","html_url":"https://github.com/iigorr/pgn.net/issues/13#issuecomment-111341396","issue_url":"https://api.github.com/repos/iigorr/pgn.net/issues/13","id":111341396,"user":{"login":"iigorr","id":696765,"avatar_url":"https://avatars.githubusercontent.com/u/696765?v=3","gravatar_id":"","url":"https://api.github.com/users/iigorr","html_url":"https://github.com/iigorr","followers_url":"https://api.github.com/users/iigorr/followers","following_url":"https://api.github.com/users/iigorr/following{/other_user}","gists_url":"https://api.github.com/users/iigorr/gists{/gist_id}","starred_url":"https://api.github.com/users/iigorr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iigorr/subscriptions","organizations_url":"https://api.github.com/users/iigorr/orgs","repos_url":"https://api.github.com/users/iigorr/repos","events_url":"https://api.github.com/users/iigorr/events{/privacy}","received_events_url":"https://api.github.com/users/iigorr/received_events","type":"User","site_admin":false},"created_at":"2015-06-12T03:28:22Z","updated_at":"2015-06-12T03:28:22Z","body":"As there are quite many fields (tags) and also people and chess platforms do introduce custom fields, only the fields defined by the spec as the [STR (Seven Tag Roster)](http://www.saremba.de/chessgml/standards/pgn/pgn-complete.htm#c8.1.1) are available as properties in the `Game` class. All the other ones are stored in `Game.AdditionalInfo` as `GameInfo` objects, so no information should be lost and pgn->reader->writer->pgn should yield the same result (except for formatting).\r\n\r\nI do agree, that WhiteElo and BlackElo are also very frequently used tags. And now looking at the interface of the `Game` class I find it quite awkward to access the fields as they are in a list. How about we change that `List<GameInfo> AdditionalInfo` to `Dictionary<string, string> Tags` so it can be accessed as `game.Tags['WhiteElo']`. What do you think?\r\n\r\n"}}