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));
            }
        }
Beispiel #2
0
        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;
            //}
        }