Ejemplo n.º 1
0
        private void Copy(Ansatt copyFrom, TimeplanEntities db)
        {
            Navn = copyFrom.Navn;
            Stillingsstørrelse = copyFrom.Stillingsstørrelse;
            Tlfnr              = copyFrom.Tlfnr;
            fk_AvdelingId      = copyFrom.Avdeling.Id;
            fk_StillingsTypeId = copyFrom.StillingsType.Id;

            JobberIKlasser.Clear();
            foreach (var klasse in copyFrom.JobberIKlasser)
            {
                JobberIKlasser.Add(Klasse.GetById(klasse.Id, db));
            }

            JobberISfos.Clear();
            foreach (var sfo in copyFrom.JobberISfos)
            {
                JobberISfos.Add(Sfo.GetById(sfo.Id, db));
            }

            //AvdelingsLederIAvdelinger.Clear();
            //foreach (var avdeling in copyFrom.AvdelingsLederIAvdelinger)
            //{
            //    AvdelingsLederIAvdelinger.Add(Avdeling.GetById(avdeling.Id, db));
            //}

            //fk_VarslesAvAnsattId = copyFrom.fk_VarslesAvAnsattId;
            //VarslerTilAnsatte.Clear();
            //foreach (var ansatt in copyFrom.VarslerTilAnsatte)
            //{
            //    VarslerTilAnsatte.Add(GetById(ansatt.Id, db));
            //}

            //AvdelingsLederIAvdelinger = copyFrom.AvdelingsLederIAvdelinger; // TODO:
            //Sfoes = copyFrom.Sfoes; // TODO:
        }
Ejemplo n.º 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;
            //}
        }