using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.IO; namespace Aktywator { class RRBTournament : Tournament { private XmlDocument _xml; private string p; public RRBTournament(string name) { this._name = name; this._type = Tournament.TYPE_RRB; } override internal void setup() { this._xml = new XmlDocument(); this._xml.Load(this._name); } override internal string getName() { return this._xml.SelectSingleNode("//ustawienia/nazwa").InnerText; } override public string getSectionsNum() { List sections = new List(); foreach (XmlNode table in this._xml.SelectNodes("//monitor/stoly/stol")) { string section = table.SelectSingleNode("sektor").InnerText; if (!sections.Contains(section)) { sections.Add(section); } } return sections.Count.ToString(); } override public string getTablesNum() { return this._xml.SelectNodes("//monitor/stoly/stol").Count.ToString(); } override internal string getTypeLabel() { return "RRBridge"; } override internal Dictionary> getNameList() { Dictionary> names = new Dictionary>(); foreach (XmlNode pair in this._xml.SelectNodes("//lista/para")) { int pairNo = Int32.Parse(pair.SelectSingleNode("numer").InnerText); names.Add(pairNo, new List()); foreach (XmlNode player in pair.SelectNodes("gracz/nazwisko")) { if ("pauza".Equals(player.InnerText.Trim())) { names[pairNo].Add(""); } else { string[] name = player.InnerText.Trim().Split(' '); if (name.Length > 0) { name[0] = (name[0].Length > 0) ? name[0][0].ToString() : ""; } names[pairNo].Add(String.Join(" ", name)); } } } foreach (KeyValuePair> pair in names) { while (pair.Value.Count < 2) { pair.Value.Add(""); } } return names; } } }