Пример #1
0
        public void CreateCopy(Strassenabschnitt strassenabschnittToCopy)
        {
            var copiedStrassenabschnitt = entityServiceMappingEngine.Translate <Strassenabschnitt, Strassenabschnitt>(strassenabschnittToCopy);

            foreach (var zustandsabschnittToCopy in strassenabschnittToCopy.Zustandsabschnitten)
            {
                var copiedZustandsabschnitt = entityServiceMappingEngine.Translate <Zustandsabschnitt, Zustandsabschnitt>(zustandsabschnittToCopy);

                massnahmenvorschlagCopyService.CopyMassnahmenvorschlagen(copiedZustandsabschnitt, zustandsabschnittToCopy);

                copiedStrassenabschnitt.Zustandsabschnitten.Add(copiedZustandsabschnitt);

                foreach (var schadengruppe in zustandsabschnittToCopy.Schadengruppen)
                {
                    copiedZustandsabschnitt.AddSchadengruppe(entityServiceMappingEngine.Translate <Schadengruppe, Schadengruppe>(schadengruppe));
                }

                foreach (var schadendetail in zustandsabschnittToCopy.Schadendetails)
                {
                    copiedZustandsabschnitt.AddSchadendetail(entityServiceMappingEngine.Translate <Schadendetail, Schadendetail>(schadendetail));
                }
            }

            CreateEntity(copiedStrassenabschnitt);
        }
        private int updateZustandsabschnitteGis(ErfassungsPeriod closedPeriod)
        {
            var newZabs = zustandsabschnittGISService.GetCurrentEntities();

            foreach (var zab in newZabs)
            {
                massnahmenvorschlagCopyService.CopyMassnahmenvorschlagen(zab, zab.CopiedFrom);

                foreach (Schadengruppe schadengruppe in zab.CopiedFrom.Schadengruppen)
                {
                    zab.AddSchadengruppe(entityServiceMappingEngine.Translate <Schadengruppe, Schadengruppe>(schadengruppe));
                }

                foreach (Schadendetail schadendetail in zab.CopiedFrom.Schadendetails)
                {
                    zab.AddSchadendetail(entityServiceMappingEngine.Translate <Schadendetail, Schadendetail>(schadendetail));
                }

                Update(zab);
            }
            return(newZabs.Count());
        }