Example #1
0
        public void AddElevTilstede()
        {
            ElevTilstede newElevTilstede;

            var existingElevTilstede = ElevTilstedes.Count > 0 ? ElevTilstedes.First() : null;

            if (existingElevTilstede != null)
            {
                newElevTilstede = new ElevTilstede
                {
                    Id           = ElevTilstedeDummyId--,
                    IsChanged    = true,
                    Elev         = this,
                    MandagStart  = existingElevTilstede.MandagStart,
                    MandagSlutt  = existingElevTilstede.MandagSlutt,
                    TirsdagStart = existingElevTilstede.TirsdagStart,
                    TirsdagSlutt = existingElevTilstede.TirsdagSlutt,
                    OnsdagStart  = existingElevTilstede.OnsdagStart,
                    OnsdagSlutt  = existingElevTilstede.OnsdagSlutt,
                    TorsdagStart = existingElevTilstede.TorsdagStart,
                    TorsdagSlutt = existingElevTilstede.TorsdagSlutt,
                    FredagStart  = existingElevTilstede.FredagStart,
                    FredagSlutt  = existingElevTilstede.FredagSlutt,
                    UkeType      = UkeType.GetById((int)UkeTypeEnum.UlikUke)
                };
            }
            else
            {
                newElevTilstede = new ElevTilstede
                {
                    Id           = ElevTilstedeDummyId--,
                    IsChanged    = true,
                    Elev         = this,
                    MandagStart  = Trinn.MandagStart,
                    MandagSlutt  = Trinn.MandagSlutt,
                    TirsdagStart = Trinn.TirsdagStart,
                    TirsdagSlutt = Trinn.TirsdagSlutt,
                    OnsdagStart  = Trinn.OnsdagStart,
                    OnsdagSlutt  = Trinn.OnsdagSlutt,
                    TorsdagStart = Trinn.TorsdagStart,
                    TorsdagSlutt = Trinn.TorsdagSlutt,
                    FredagStart  = Trinn.FredagStart,
                    FredagSlutt  = Trinn.FredagSlutt,
                    UkeType      = UkeType.GetById((int)UkeTypeEnum.LikUke)
                };
            }

            ElevTilstedes.Add(newElevTilstede);

            IsChanged = true;
        }
Example #2
0
        public bool Update(
            string navn,
            decimal sfoProsent,
            int klasseId,
            int sfoId,
            int trinnId,
            int hovedPedagogId,
            int bemanningsNormSkoleId,
            int bemanningsNormSfoId,
            string tlfNr,
            ICollection <ElevTilstede> elevTilstedes
            )
        //ICollection<ElevTilstede> elevTilstedes
        //IList<int> elevTilstedeIds
        {
            if ((TlfNr ?? string.Empty) != (tlfNr ?? string.Empty))
            {
                TlfNr     = tlfNr;
                IsChanged = true;
            }

            foreach (var elevTilstede in elevTilstedes)
            {
                var existingElevTilstede = ElevTilstedes.First(e => e.Id == elevTilstede.Id);

                existingElevTilstede.Update(
                    elevTilstede.MandagStart,
                    elevTilstede.MandagSlutt,
                    elevTilstede.TirsdagStart,
                    elevTilstede.TirsdagSlutt,
                    elevTilstede.OnsdagStart,
                    elevTilstede.OnsdagSlutt,
                    elevTilstede.TorsdagStart,
                    elevTilstede.TorsdagSlutt,
                    elevTilstede.FredagStart,
                    elevTilstede.FredagSlutt,
                    elevTilstede.Elev.Id,
                    elevTilstede.UkeType.Id
                    );
            }

            if (ElevTilstedes.Any(elevTilstede => elevTilstede.IsChanged))
            {
                IsChanged = true;
            }

            Update(navn, sfoProsent, klasseId, sfoId, trinnId, hovedPedagogId, bemanningsNormSkoleId, bemanningsNormSfoId);

            //var elevTilstedeIdsOld = ElevTilstedes.OrderBy(elevTilstede => elevTilstede.Id).Select(elevTilstede => elevTilstede.Id).ToList();

            //if (elevTilstedeIdsOld.Count != elevTilstedeIds.Count
            //    || elevTilstedeIdsOld.SequenceEqual(elevTilstedeIds.OrderBy(i => i)) == false)
            //{
            //    ElevTilstedes.Clear();
            //    foreach (var elevTilstede in elevTilstedeIds)
            //    {
            //        ElevTilstedes.Add(ElevTilstede.GetById(elevTilstede));
            //    }
            //    IsChanged = true;
            //}

            return(IsChanged);
        }