Exemple #1
0
        public void AddFach(Fach fach)
        {
            var xmlNodes = _dataNode.Elements();

            var faecherNode = _dataNode.Elements().FirstOrDefault(element => element.Name == "Faecher");

            XElement fachNode = new XElement("Fach", new XAttribute("Name", fach.Name));

            faecherNode.Add(fachNode);

            this.Save();
        }
Exemple #2
0
        private Fach NodeToFach(XElement fachNode)
        {
            if (fachNode.Name != "Fach")
            {
                throw new ArgumentException("Der Knoten enthält kein Fach.");
            }

            Fach fach = new Fach();

            fach.Name = fachNode.Attribute("Name").Value;


            return(fach);
        }
Exemple #3
0
        public void RemoveFach(Fach fach)
        {
            var xmlNodes = _dataNode.Elements();

            var faecherNode = _dataNode.Elements().FirstOrDefault(element => element.Name == "Faecher");

            var fachNode = faecherNode.Elements().FirstOrDefault(node => node.Attribute("Name").Value == fach.Name);

            if (fachNode != null)
            {
                fachNode.Remove();
            }

            this.Save();
        }
Exemple #4
0
        private Dictionary <string, Fach> NodeToPlan(XElement planNode)
        {
            var plan = new Dictionary <string, Fach>();

            if (planNode.Descendants().Count() <= 0)
            {
                return(plan);
            }

            foreach (var fachNode in planNode.Elements())
            {
                Fach fach = new Fach();
                fach.Name = fachNode.Attribute("Name").Value;

                fach.Info     = fachNode.Attribute("Info").Value;
                fach.Raum     = fachNode.Attribute("Raum").Value;
                fach.Length   = Convert.ToInt32(fachNode.Attribute("Laenge").Value);
                fach.FälltAus = Convert.ToBoolean(fachNode.Attribute("Fälltaus").Value);
                if (fachNode.Attribute("Startzeit").Value == "")
                {
                    fach.Startzeit = Fach.StartZeit.None;
                }
                else
                {
                    fach.Startzeit = (Fach.StartZeit)Enum.Parse(typeof(Fach.StartZeit), fachNode.Attribute("Startzeit").Value);
                }
                if (fachNode.Attribute("Wochentag").Value == "")
                {
                    fach.Wochentag = Fach.WochenTag.None;
                }
                else
                {
                    fach.Wochentag = (Fach.WochenTag)Enum.Parse(typeof(Fach.WochenTag), fachNode.Attribute("Wochentag").Value);
                }

                plan.Add(fachNode.Attribute("Key").Value, fach);
            }

            return(plan);
        }
Exemple #5
0
        public void AddStundenplan(string planName, Dictionary <string, Fach> stundenPlan)
        {
            if (stundenPlan == null)
            {
                return;
            }
            if (stundenPlan.Count <= 0)
            {
                return;
            }

            var xmlNodes = _dataNode.Elements();

            var stundenPlaeneNode = _dataNode.Elements().FirstOrDefault(element => element.Name == "Stundenplaene");

            var newPlan = new XElement("Plan", new XAttribute("Name", planName));

            foreach (var pair in stundenPlan)
            {
                Fach   fach = pair.Value;
                string key  = pair.Key;

                XElement fachNode = new XElement("Fach",
                                                 new XAttribute("Key", key),
                                                 new XAttribute("Name", fach.Name ?? ""),
                                                 new XAttribute("Raum", fach.Raum ?? ""),
                                                 new XAttribute("Info", fach.Info ?? ""),
                                                 new XAttribute("Startzeit", fach.Startzeit == Fach.StartZeit.None ? "" : fach.Startzeit.ToString()),
                                                 new XAttribute("Wochentag", fach.Wochentag == Fach.WochenTag.None ? "" : fach.Wochentag.ToString()),
                                                 new XAttribute("Laenge", fach.Length.ToString()),
                                                 new XAttribute("Fälltaus", fach.FälltAus));
                newPlan.Add(fachNode);
            }
            stundenPlaeneNode.Add(newPlan);

            this.Save();
        }
Exemple #6
0
 public void AddFach(Fach fach)
 {
     faecherListe.Add(fach);
 }