コード例 #1
0
        /// <summary>
        /// Zoekt een afdelingsjaar uit het gegeven <paramref name="groepsWerkJaar"/>, waarin een persoon
        /// met gegeven <paramref name="geslacht"/> en <paramref name="geboorteDatum"/> lid zou kunnen worden,
        /// of <c>null</c> als er zo geen bestaat.
        /// </summary>
        /// <param name="geboorteDatum">een geboortedatum</param>
        /// <param name="geslacht">een geslacht</param>
        /// <param name="groepsWerkJaar">een groepswerkjaar waarin we naar een afdeling zoeken</param>
        /// <returns>Afdelingsjaar uit het gegeven <paramref name="groepsWerkJaar"/>, waarin een persoon
        /// met gegeven <paramref name="geslacht"/> en <paramref name="geboorteDatum"/> lid zou kunnen worden,
        /// of <c>null</c> als er zo geen bestaat.</returns>
        public AfdelingsJaar AfdelingsJaarVoorstellen(DateTime geboorteDatum, GeslachtsType geslacht, GroepsWerkJaar groepsWerkJaar)
        {
            var geboortejaar = geboorteDatum.Year;

            // Bestaat er een afdeling waar de gelieerde persoon als kind in zou passen?
            // (Als er meerdere mogelijkheden zijn zullen we gewoon de eerste kiezen, maar we sorteren op
            // overenkomst geslacht)

            var mogelijkeAfdelingsJaren =
                groepsWerkJaar.AfdelingsJaar.Where(a => a.OfficieleAfdeling.ID != (int)NationaleAfdeling.Speciaal &&
                                                   geboortejaar <= a.GeboorteJaarTot &&
                                                   a.GeboorteJaarVan <= geboortejaar).OrderByDescending(
                    a => (geslacht & a.Geslacht)).ToArray();

            return(mogelijkeAfdelingsJaren.FirstOrDefault());
        }
コード例 #2
0
        /// <summary>
        /// Maakt een afdelingsjaar voor een groep en een afdeling, persisteert niet.
        /// </summary>
        /// <param name="a">
        /// Afdeling voor nieuw afdelingsjaar
        /// </param>
        /// <param name="oa">
        /// Te koppelen officiële afdeling
        /// </param>
        /// <param name="gwj">
        /// Groepswerkjaar (koppelt de afdeling aan een groep en een werkJaar)
        /// </param>
        /// <param name="geboorteJaarBegin">
        /// Geboortejaar van
        /// </param>
        /// <param name="geboorteJaarEind">
        /// Geboortejaar tot
        /// </param>
        /// <param name="geslacht">
        /// Bepaalt of de afdeling een jongensafdeling, meisjesafdeling of
        /// gemengde afdeling is.
        /// </param>
        /// <returns>
        /// Het aangemaakte afdelingsjaar
        /// </returns>
        public AfdelingsJaar Aanmaken(
            Afdeling a,
            OfficieleAfdeling oa,
            GroepsWerkJaar gwj,
            int geboorteJaarBegin,
            int geboorteJaarEind,
            GeslachtsType geslacht)
        {
            var afdelingsJaar = new AfdelingsJaar
            {
                OfficieleAfdeling = oa,
                Afdeling          = a,
                GroepsWerkJaar    = gwj,
                GeboorteJaarVan   = geboorteJaarBegin,
                GeboorteJaarTot   = geboorteJaarEind,
                Geslacht          = geslacht
            };

            // TODO check if no conflicts with existing afdelingsjaar
            a.AfdelingsJaar.Add(afdelingsJaar);
            oa.AfdelingsJaar.Add(afdelingsJaar);
            gwj.AfdelingsJaar.Add(afdelingsJaar);

            FoutNummer?afdelingsJaarFout = new AfdelingsJaarValidator().FoutNummer(afdelingsJaar);

            if (afdelingsJaarFout == FoutNummer.OngeldigeGeboorteJarenVoorAfdeling)
            {
                throw new FoutNummerException(afdelingsJaarFout.Value, Resources.OngeldigeGeboorteJarenVoorAfdeling);
            }
            if (afdelingsJaarFout != null)
            {
                throw new FoutNummerException(afdelingsJaarFout.Value, Resources.AfdelingsJaarOngeldig);
            }

            return(afdelingsJaar);
        }
コード例 #3
0
 public static string Geslacht(this HtmlHelper htmlHelper, GeslachtsType g)
 {
     return(g == GeslachtsType.Man ? "&#9794;" : g == GeslachtsType.Vrouw ? "&#9792;" : g == GeslachtsType.X ? "X" : "??");
 }