private void SaveAnsattTilstedes() { if (AnsattTilstedes.Count == 0) { var newAnsattTilstede = new AnsattTilstede { IsChanged = true, Ansatt = this, UkeType = UkeType.GetById((int)UkeTypeEnum.LikUke) }; AnsattTilstedes.Add(newAnsattTilstede); } if (AnsattTilstedes.Any(ansattTilstede => ansattTilstede.IsChanged)) { foreach (var ansattTilstede in AnsattTilstedes) { if (ansattTilstede.IsChanged) { ansattTilstede.Save(); } } } var ansattTilstedesOld = AnsattTilstede.GetAll().Where(ansattTilstede => ansattTilstede.Ansatt.Id == Id); foreach (var ansattTilstede in ansattTilstedesOld) { if (AnsattTilstedes.Any(t => t.Id == ansattTilstede.Id) == false) { ansattTilstede.Delete(); } } }
public void Update(string navn, decimal stillingsStørrelse, string tlfNr, int avdelingId, int stillingsTypeId, IList <int> jobberIKlasserIds, IList <int> jobberISfosIds, ICollection <AnsattTilstede> ansattTilstedes) { Update(navn, stillingsStørrelse, tlfNr, avdelingId, stillingsTypeId, jobberIKlasserIds, jobberISfosIds); foreach (var ansattTilstede in ansattTilstedes) { var existingAnsattTilstede = AnsattTilstedes.First(e => e.Id == ansattTilstede.Id); existingAnsattTilstede.Update( ansattTilstede.MandagStart, ansattTilstede.MandagSlutt, ansattTilstede.MandagFri, ansattTilstede.TirsdagStart, ansattTilstede.TirsdagSlutt, ansattTilstede.TirsdagFri, ansattTilstede.OnsdagStart, ansattTilstede.OnsdagSlutt, ansattTilstede.OnsdagFri, ansattTilstede.TorsdagStart, ansattTilstede.TorsdagSlutt, ansattTilstede.TorsdagFri, ansattTilstede.FredagStart, ansattTilstede.FredagSlutt, ansattTilstede.FredagFri, ansattTilstede.Skole, ansattTilstede.Ansatt.Id, ansattTilstede.UkeType.Id ); } if (AnsattTilstedes.Any(ansattTilstede => ansattTilstede.IsChanged)) { IsChanged = true; } }
public void DeleteAnsattTilstede(int id) { if (AnsattTilstedes.Count > 0) { var existingAnsattTilstede = AnsattTilstedes.Where(ansattTilstede => ansattTilstede.Id == id).First(); AnsattTilstedes.Remove(existingAnsattTilstede); IsChanged = true; } }
public void AddAnsattTilstede() { AnsattTilstede newAnsattTilstede; var existingAnsattTilstede = AnsattTilstedes.Count > 0 ? AnsattTilstedes.First() : null; if (existingAnsattTilstede != null) { newAnsattTilstede = new AnsattTilstede { Id = AnsattTilstedeDummyId--, IsChanged = true, Ansatt = this, UkeType = UkeType.GetById((int)UkeTypeEnum.UlikUke), MandagStart = existingAnsattTilstede.MandagStart, MandagSlutt = existingAnsattTilstede.MandagSlutt, MandagFri = existingAnsattTilstede.MandagFri, TirsdagStart = existingAnsattTilstede.TirsdagStart, TirsdagSlutt = existingAnsattTilstede.TirsdagSlutt, TirsdagFri = existingAnsattTilstede.TirsdagFri, OnsdagStart = existingAnsattTilstede.OnsdagStart, OnsdagSlutt = existingAnsattTilstede.OnsdagSlutt, OnsdagFri = existingAnsattTilstede.OnsdagFri, TorsdagStart = existingAnsattTilstede.TorsdagStart, TorsdagSlutt = existingAnsattTilstede.TorsdagSlutt, TorsdagFri = existingAnsattTilstede.TorsdagFri, FredagStart = existingAnsattTilstede.FredagStart, FredagSlutt = existingAnsattTilstede.FredagSlutt, FredagFri = existingAnsattTilstede.FredagFri }; } else { newAnsattTilstede = new AnsattTilstede { Id = AnsattTilstedeDummyId--, IsChanged = true, Ansatt = this, UkeType = UkeType.GetById((int)UkeTypeEnum.LikUke) }; } AnsattTilstedes.Add(newAnsattTilstede); IsChanged = true; }
public double DiffTimer() { var timerPrUke = TimerPrUke(); return(AnsattTilstedes.Count > 0 ? (AnsattTilstedes.Average(a => a.TotalHours()) - Convert.ToDouble(timerPrUke)) : Convert.ToDouble(-timerPrUke)); }