private void Copy(StillingsType copyFrom, TimeplanEntities db) { Navn = copyFrom.Navn; TimerElevarbeid = copyFrom.TimerElevarbeid; TimerSamarbeid = copyFrom.TimerSamarbeid; Ansatts.Clear(); foreach (var ansatt in copyFrom.Ansatts) { Ansatts.Add(Ansatt.GetById(ansatt.Id, db)); } }
public void Update(string navn, decimal stillingsStørrelse, string tlfNr, int avdelingId, int stillingsTypeId, IList <int> jobberIKlasserIds, IList <int> jobberISfosIds /*, IList<int> avdelingsLederIAvdelingIds , int varslesAvAnsattId, IList<int> varslerTilAnsatteIds*/) { if (Navn != navn) { Navn = navn; IsChanged = true; } if (Stillingsstørrelse != stillingsStørrelse) { Stillingsstørrelse = stillingsStørrelse; IsChanged = true; } if (Tlfnr != tlfNr) { Tlfnr = tlfNr; IsChanged = true; } if (Avdeling == null || Avdeling.Id != avdelingId) { Avdeling = Avdeling.GetById(avdelingId); IsChanged = true; } if (StillingsType == null || StillingsType.Id != stillingsTypeId) { StillingsType = StillingsType.GetById(stillingsTypeId); IsChanged = true; } var jobberIKlasserIdsOld = JobberIKlasser.OrderBy(klasse => klasse.Id).Select(klasse => klasse.Id).ToList(); if (jobberIKlasserIdsOld.Count != jobberIKlasserIds.Count || jobberIKlasserIdsOld.SequenceEqual(jobberIKlasserIds.OrderBy(i => i)) == false) { JobberIKlasser.Clear(); foreach (var klasseId in jobberIKlasserIds) { JobberIKlasser.Add(Klasse.GetById(klasseId)); } IsChanged = true; } var jobberISfosIdsOld = JobberISfos.OrderBy(sfo => sfo.Id).Select(sfo => sfo.Id).ToList(); if (jobberISfosIdsOld.Count != jobberISfosIds.Count || jobberISfosIdsOld.SequenceEqual(jobberISfosIds.OrderBy(i => i)) == false) { JobberISfos.Clear(); foreach (var sfoId in jobberISfosIds) { JobberISfos.Add(Sfo.GetById(sfoId)); } IsChanged = true; } //var avdelingsLederIAvdelingsIdsOld = AvdelingsLederIAvdelinger.OrderBy(avdeling => avdeling.Id).Select(avdeling => avdeling.Id).ToList(); //if (avdelingsLederIAvdelingsIdsOld.Count != avdelingsLederIAvdelingIds.Count // || avdelingsLederIAvdelingsIdsOld.SequenceEqual(avdelingsLederIAvdelingIds.OrderBy(i => i)) == false) //{ // AvdelingsLederIAvdelinger.Clear(); // foreach (var id in avdelingsLederIAvdelingIds) // { // AvdelingsLederIAvdelinger.Add(Avdeling.GetById(id)); // } // IsChanged = true; //} //if ((fk_VarslesAvAnsattId != null && fk_VarslesAvAnsattId != varslesAvAnsattId) // || (fk_VarslesAvAnsattId == null && varslesAvAnsattId != 0)) //{ // VarslesAvAnsatt = varslesAvAnsattId > 0 ? GetById(varslesAvAnsattId) : null; // IsChanged = true; //} //var varslerTilAnsatteIdsOld = VarslerTilAnsatte.Select(ansatt => ansatt.Id).ToList(); //if (varslerTilAnsatteIdsOld.Count != varslerTilAnsatteIds.Count // || varslerTilAnsatteIdsOld.SequenceEqual(varslerTilAnsatteIds) == false) //{ // VarslerTilAnsatte.Clear(); // foreach (var ansattId in varslerTilAnsatteIds) // { // VarslerTilAnsatte.Add(GetById(ansattId)); // } // IsChanged = true; //} }