public static string SerializeDivisionsResultat(DivisionsResultat.DivisionsResultat gemDivisionsResultat, Staevne staevne) { XmlAttributeOverrides xOver = new XmlAttributeOverrides(); XmlAttributes attrs = new XmlAttributes(); /* Setting XmlIgnore to false overrides the XmlIgnoreAttribute applied to the Comment field. Thus it will be serialized.*/ attrs.XmlIgnore = false; xOver.Add(typeof(DivisionsResultat.DivisionsResultat), "DivisionsStilling", attrs); return(Util.SerializeObject(gemDivisionsResultat.TotalDivisionsResultat(staevne), xOver)); }
public static DivisionsResultat.DivisionsResultat OpenDivisionsResultat(string stillingsFil) { XmlAttributeOverrides xmlAttributeOverrides = new XmlAttributeOverrides(); XmlAttributes attrs = new XmlAttributes(); attrs.XmlIgnore = true; xmlAttributeOverrides.Add(typeof(DivisionsResultat.DivisionsResultat), "DivisionsStilling", attrs); string fil = File.Exists(stillingsFil) ? stillingsFil : Path.GetFileName(stillingsFil); try { DivisionsResultat.DivisionsResultat mitDivisionsResultat = DeSerializeObject <DivisionsResultat.DivisionsResultat>(fil, xmlAttributeOverrides); mitDivisionsResultat.FixMatcher(); return(mitDivisionsResultat); } catch (Exception e) { throw new Exception("Stillingsfilen '" + stillingsFil + "' kunne ikke findes. Ret evt divifilen eller læg filen fra o-service sammen med divi-filen", e); } }
private void buttonGem_Click(object sender, EventArgs e) { if (txtXMLFile.Text != string.Empty) { DivisionsResultat.DivisionsResultat gemDivisionsResultat = DivisionsResultat != null?DivisionsResultat.Clone() as DivisionsResultat.DivisionsResultat : new DivisionsResultat.DivisionsResultat(); if (DivisionsResultat == null) { gemDivisionsResultat.År = Convert.ToInt32(this.textBoxÅr.Text); gemDivisionsResultat.Division = Convert.ToInt32(this.textBoxDivision.Text); gemDivisionsResultat.Kreds = new DivisionsResultat.KredsId(this.textBoxKreds.Text, this.textBoxKredsId.Text); gemDivisionsResultat.DivisionsMatchResultater = new List <Divisionsmatch.DivisionsResultat.DivisionsMatchResultat>(); } Util.SaveDivisionsResultat(gemDivisionsResultat, Staevne, txtXMLFile.Text); this.DialogResult = System.Windows.Forms.DialogResult.OK; } else { MessageBox.Show("Vælg en fil først", "Fejl!"); } }
private void btnOpenFileXML_Click(object sender, EventArgs e) { OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "O-service Divisionsresultat (*.xml)|*.xml"; openFile.CheckPathExists = true; openFile.AddExtension = true; openFile.DefaultExt = ".xml"; openFile.SupportMultiDottedExtensions = true; openFile.Title = "Åbn divisionsresultat"; openFile.Multiselect = false; if (InitialDirectory != string.Empty) { openFile.InitialDirectory = InitialDirectory; } if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK) { // load file try { DivisionsResultat = null; buttonOK.Enabled = false; txtXMLFile.Text = openFile.FileName; DivisionsResultat.DivisionsResultat mitDivisionsResultat = Util.OpenDivisionsResultat(openFile.FileName); if (mitDivisionsResultat != null) { // fyld dialogen this.textBoxÅr.Text = mitDivisionsResultat.År.ToString(); if (mitDivisionsResultat.Division < 7) { this.textBoxDivision.Text = mitDivisionsResultat.Division.ToString(); } this.textBoxKreds.Text = mitDivisionsResultat.Kreds.Navn.ToString(); this.textBoxKredsId.Text = mitDivisionsResultat.Kreds.Id.ToString(); this.listBoxMatcher.Items.Clear(); foreach (var m in mitDivisionsResultat.DivisionsMatchResultater.OrderBy(item => item.Runde).Where(item => item.Runde < mitDivisionsResultat.DivisionsMatchResultater.Count)) { this.listBoxMatcher.Items.Add(string.Format("{0} - {1} - {2}", m.Runde, m.Dato, m.Skov)); } if (mitDivisionsResultat.DivisionsMatchResultater.Count > 1) { foreach (var k in mitDivisionsResultat.DivisionsMatchResultater[0].Klubber) { this.listBoxDiviKlubber.Items.Add(k.Navn); } } buttonOK.Enabled = true; DivisionsResultat.DivisionsMatchResultat denneMatch = mitDivisionsResultat.DivisionsMatchResultater.OrderBy(item => item.Runde).Last(); // fyld data for denne match this.dateTimePicker1.Value = DateTime.Parse(denneMatch.Dato); if (mitDivisionsResultat.Division < 7) { this.textBoxStaevneDivision.Text = mitDivisionsResultat.Division.ToString(); } this.textBoxStaevneKreds.Text = mitDivisionsResultat.Kreds.Navn.ToString(); this.textBoxStaevneKredsId.Text = mitDivisionsResultat.Kreds.Id.ToString(); this.textBoxStaevneSkov.Text = denneMatch.Skov; this.textBoxStaevneType.Text = mitDivisionsResultat.Division == 8 ? "Op/Ned" : mitDivisionsResultat.Division == 9 ? "Finale" : "Divisionsmatch"; this.textBoxStaevneRunde.Text = denneMatch.Runde.ToString(); this.textBoxBeskrivelse.Text = denneMatch.Beskriv; foreach (var k in denneMatch.Klubber) { listBoxMatchKlubber.Items.Add(k); } DivisionsResultat = mitDivisionsResultat; //MessageBox.Show("Tidligere resultater er indlæst. Tryk OK for at benytte dem \n"); } else { MessageBox.Show("Tidligere resultater kunnne ikke åbnes \n"); } } catch (Exception ex) { MessageBox.Show("Tidligere resultater kunnne ikke åbnes \n" + ex.Message + "\n" + ex.StackTrace, "Fejl"); } } }