public void JaarOvergangUitvoerenTest()
        {
            // ARRANGE

            // Vrij veel voorbereiding voor een vrij flauwe test.

            var ribbeloff = new OfficieleAfdeling {
                ID = 1, LeefTijdTot = 7, LeefTijdVan = 6, Naam = "Ribbel"
            };

            var groep = new ChiroGroep {
                ID = 10, GroepsWerkJaar = new List <GroepsWerkJaar>()
            };
            var gwj = new GroepsWerkJaar {
                WerkJaar = 2010, Groep = groep
            };

            groep.GroepsWerkJaar.Add(gwj);
            var afdjaar1 = new AfdelingsJaar {
                ID = 1, GeboorteJaarVan = 2003, GeboorteJaarTot = 2004, OfficieleAfdeling = ribbeloff
            };
            var afd1 = new Afdeling {
                ID = 2, AfdelingsJaar = new List <AfdelingsJaar> {
                    afdjaar1
                }, ChiroGroep = groep
            };

            afdjaar1.Afdeling = afd1;
            groep.Afdeling.Add(afd1);
            gwj.AfdelingsJaar.Add(afdjaar1);

            var newafdjaar = new AfdelingDetail {
                AfdelingID = afd1.ID, AfdelingsJaarID = afdjaar1.ID, GeboorteJaarVan = DateTime.Today.Year - 10, GeboorteJaarTot = DateTime.Today.Year - 8, OfficieleAfdelingID = ribbeloff.ID, Geslacht = GeslachtsType.Gemengd
            };

            var officieleAfdelingenRepo = new DummyRepo <OfficieleAfdeling>(new[] { ribbeloff });

            // ACT

            var target      = Factory.Maak <JaarOvergangManager>();
            var teActiveren = new List <AfdelingsJaarDetail> {
                newafdjaar
            };

            target.JaarOvergangUitvoeren(teActiveren, groep, officieleAfdelingenRepo);

            // ASSERT

            Assert.AreEqual(groep.GroepsWerkJaar.Count, 2);
            Assert.AreEqual(groep.GroepsWerkJaar.OrderByDescending(gwjr => gwjr.WerkJaar).First().AfdelingsJaar.Count, 1);
        }
        public ActionResult AfdJaarBewerken(int groepID, int id)
        {
            var model = new AfdelingsJaarModel();

            BaseModelInit(model, groepID);

            AfdelingDetail detail = ServiceHelper.CallService <IGroepenService, AfdelingDetail>(svc => svc.AfdelingDetailOphalen(id));

            model.Afdeling = new AfdelingInfo
            {
                ID        = detail.AfdelingID,
                Naam      = detail.AfdelingNaam,
                Afkorting = detail.AfdelingAfkorting
            };

            model.AfdelingsJaar       = detail;       // inheritance :)
            model.OfficieleAfdelingen = ServiceHelper.CallService <IGroepenService, IEnumerable <OfficieleAfdelingDetail> >(groep => groep.OfficieleAfdelingenOphalen());

            model.Titel = "Afdeling bewerken";
            return(View("AfdelingsJaar", model));
        }