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 void DeleteElevTilstede(int id) { if (ElevTilstedes.Count > 0) { var existingElevTilstede = ElevTilstedes.Where(elevTilstede => elevTilstede.Id == id).First(); ElevTilstedes.Remove(existingElevTilstede); IsChanged = true; } }
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); }
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); }