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