Example #1
0
        private void SaveElevTilstedes()
        {
            if (ElevTilstedes.Count == 0)
            {
                AddElevTilstede();
            }

            if (ElevTilstedes.Any(elevTilstede => elevTilstede.IsChanged))
            {
                foreach (var elevTilstede in ElevTilstedes)
                {
                    if (elevTilstede.IsChanged)
                    {
                        elevTilstede.Save();
                    }
                }
            }

            var elevTilstedesOld = ElevTilstede.GetAll().Where(elevTilstede => elevTilstede.Elev.Id == Id);

            foreach (var elevTilstede in elevTilstedesOld)
            {
                if (ElevTilstedes.Any(t => t.Id == elevTilstede.Id) == false)
                {
                    elevTilstede.Delete();
                }
            }
        }
Example #2
0
        public void DeleteElevTilstede(int id)
        {
            if (ElevTilstedes.Count > 0)
            {
                var existingElevTilstede = ElevTilstedes.Where(elevTilstede => elevTilstede.Id == id).First();
                ElevTilstedes.Remove(existingElevTilstede);

                IsChanged = true;
            }
        }
Example #3
0
        private ElevTilstede SetDefaultElevTilstede()
        {
            ElevTilstede defaultElevTilstede = null;

            var foundLikUke = false;

            if (Sfo == null)
            {
                foreach (ElevTilstede elevTilstede in ElevTilstedes.ToList())
                {
                    if (foundLikUke == false && elevTilstede.UkeType.Id == (int)UkeTypeEnum.LikUke)
                    {
                        foundLikUke = true;

                        if (Trinn.ElevTilstedeIsDefault(elevTilstede) == false)
                        {
                            defaultElevTilstede           = Trinn.GetDefaultElevTilstede(elevTilstede);
                            defaultElevTilstede.IsChanged = true;
                        }
                        else
                        {
                            defaultElevTilstede = elevTilstede;
                        }
                    }
                    else
                    {
                        ElevTilstedes.Remove(elevTilstede);
                    }
                }

                if (defaultElevTilstede == null)
                {
                    defaultElevTilstede = new ElevTilstede
                    {
                        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,
                        Elev         = this,
                        UkeType      = UkeType.GetById((int)UkeTypeEnum.LikUke),
                        IsChanged    = true
                    };

                    ElevTilstedes.Add(defaultElevTilstede);
                }
            }

            return(defaultElevTilstede);
        }
Example #4
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 #5
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);
        }