Ejemplo n.º 1
0
        public KLEMostRecent ConvertToTaskRefs(XDocument document)
        {
            var now        = _operationClock.Now;
            var result     = new KLEMostRecent();
            var mainGroups = document.Descendants("Hovedgruppe").Select(mainGroup =>
                                                                        new TaskRef
            {
                Uuid        = ParseUUID(mainGroup),
                TaskKey     = mainGroup.Elements("HovedgruppeNr").First().Value,
                Description = mainGroup.Elements("HovedgruppeTitel").First().Value,
                Type        = "KLE-Hovedgruppe",
                ActiveFrom  = ParseActiveFrom(mainGroup, "HovedgruppeAdministrativInfo"),
                ActiveTo    = ParseActiveTo(mainGroup, "HovedgruppeAdministrativInfo")
            });

            var subGroups = document.Descendants("Gruppe").Select(@group =>
                                                                  new TaskRef
            {
                Uuid        = ParseUUID(@group),
                TaskKey     = @group.Elements("GruppeNr").First().Value,
                Description = @group.Elements("GruppeTitel").First().Value,
                Type        = "KLE-Gruppe",
                ActiveFrom  = ParseActiveFrom(@group, "GruppeAdministrativInfo"),
                ActiveTo    = ParseActiveTo(@group, "GruppeAdministrativInfo")
            });

            var subjects = document.Descendants("Emne").Select(item =>
                                                               new TaskRef
            {
                Uuid        = ParseUUID(item),
                TaskKey     = item.Elements("EmneNr").First().Value,
                Description = item.Elements("EmneTitel").First().Value,
                Type        = "KLE-Emne",
                ActiveFrom  = ParseActiveFrom(item, "EmneAdministrativInfo"),
                ActiveTo    = ParseActiveTo(item, "EmneAdministrativInfo")
            });

            result.AddRange(ApplyFiltering(mainGroups, now));
            result.AddRange(ApplyFiltering(subGroups, now));
            result.AddRange(ApplyFiltering(subjects, now));

            return(result);
        }
Ejemplo n.º 2
0
 public MostRecentKLETest()
 {
     _sut = new KLEMostRecent();
 }