private void cleanUpAndSaveFile() { EntryListObject nEntryList = (EntryListObject)entriesTreeView.Nodes[0].Tag; if (nEntryList.entries == null) { nEntryList.entries = new List <Entry>(); } nEntryList.entries.Clear(); foreach (TreeNode node in entriesTreeView.Nodes[0].Nodes) { Entry entry = (Entry)node.Tag; if (entry.drivers == null) { entry.drivers = new List <Driver>(); } entry.drivers.Clear(); foreach (TreeNode dNode in node.Nodes) { Driver driver = (Driver)dNode.Tag; entry.drivers.Add(driver); } nEntryList.entries.Add(entry); } nEntryList.entries.Sort(delegate(Entry x, Entry y) { return(x.raceNumber.CompareTo(y.raceNumber)); }); File.WriteAllText(@"cfg\entrylist.json", JsonConvert.SerializeObject(nEntryList, Formatting.Indented), Encoding.Unicode); }
private void LoadTreeView(EntryListObject entrylist) { foreach (Entry entry in entrylist.entries) { TreeNode carTreeNode = new TreeNode(); //Font regularFont = new Font(entriesTreeView.Font, FontStyle.Regular); //Font boldFont = new Font(entriesTreeView.Font, FontStyle.Bold); //carTreeNode.NodeFont = entry.isServerAdmin == 1 ? boldFont : regularFont; carTreeNode.Text = entry.raceNumber.ToString(); if (entry.isServerAdmin == 1) { carTreeNode.Text = carTreeNode.Text + " ★"; } carTreeNode.Tag = entry; entriesTreeView.Nodes[0].Nodes.Add(carTreeNode); foreach (Driver driver in entry.drivers) { TreeNode driverTreeNode = new TreeNode(); if (driver.firstName != null && driver.firstName.Length > 0) { driverTreeNode.Text = driver.firstName + " " + driver.lastName; } else { driverTreeNode.Text = driver.playerID; } driverTreeNode.Tag = driver; carTreeNode.Nodes.Add(driverTreeNode); } } entriesTreeView.Nodes[0].Expand(); }
private void EntriesForm_Load(object sender, EventArgs e) { foreach (Car car in carList) { car.model = car.model.Replace(" ", ""); } forcedCarModelComboBox.Items.Add(new Car("", -1)); forcedCarModelComboBox.Items.AddRange(carList.ToArray()); TreeNode entriesTreeNode = new TreeNode(); entriesTreeNode.Text = "Entries"; entriesTreeNode.Tag = entrylist; entriesTreeView.Nodes.Add(entriesTreeNode); string file = @"cfg\entrylist.json"; if (File.Exists(file)) { Encoding encoding = GetEncoding(file); string rawJSON = File.ReadAllText(file, encoding); entrylist = JsonConvert.DeserializeObject <EntryListObject>(rawJSON); entrylist.entries.Sort(delegate(Entry x, Entry y) { return(x.raceNumber.CompareTo(y.raceNumber)); }); LoadTreeView(entrylist); forceEntryListCheckBox.Checked = entrylist.forceEntryList == 1 ? true : false; } if (Directory.Exists(@"cfg\cars\")) { var fileNames = Directory.GetFiles(@"cfg\cars\", "*.json").Select(f => Path.GetFileName(f)); foreach (string filen in fileNames) { customCarComboBox.Items.Add(filen); } } }