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; }
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); }