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);
            }
        }
예제 #3
0
        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");
                }
            }
        }