public void Save()
        {
            zustandsabschnittGisdto.Zustandsindex   = Zustandsindex ?? 0;
            zustandsabschnittGisdto.Erfassungsmodus = ZustandsErfassungsmodus;

            switch (ZustandsErfassungsmodus)
            {
            case ZustandsErfassungsmodus.Manuel:
                SaveManualMode();
                break;

            case ZustandsErfassungsmodus.Grob:
                SaveGrobMode();
                break;

            case ZustandsErfassungsmodus.Detail:
                SaveDetailMode();
                break;

            default:
                throw new ArgumentOutOfRangeException("ZustandsErfassungsmodus");
            }

            dtoService.CreateOrReplaceDTO(zustandsabschnittGisdto);

            schadengruppeDtos = dtoService.Get <SchadengruppeDTO>().Where(sg => sg.ZustandsabschnittId == zustandsabschnittGisdto.Id).ToList();
            schadendetailDtos = dtoService.Get <SchadendetailDTO>().Where(sg => sg.ZustandsabschnittId == zustandsabschnittGisdto.Id).ToList();

            OnSaved();
        }
예제 #2
0
        private void SaveInternal(bool closeWindow)
        {
            foreach (var tabViewModel in TabViewModels)
            {
                tabViewModel.RefreshValidation();
            }

            if (IsValid)
            {
                foreach (var tabViewModel in TabViewModels)
                {
                    tabViewModel.Save();
                }

                zustandsabschnittGisDto.Shape             = Shape;
                zustandsabschnittGisDto.BezeichnungVon    = BezeichnungVon;
                zustandsabschnittGisDto.BezeichnungBis    = BezeichnungBis;
                zustandsabschnittGisDto.ReferenzGruppeDTO = ReferenzGruppe;

                if (closeWindow)
                {
                    formService.OnZustandsabschnittSaved(new SaveZustandsabschnittDataTransferEventArgs(zustandsabschnittGisDto.Id, zustandsabschnittGisDto.Zustandsindex, geoJsonService.GenerateGeoJsonStringFromEntity(zustandsabschnittGisDto)));
                }
                else
                {
                    formService.OnZustandsabschnittApplySave(new SaveZustandsabschnittDataTransferEventArgs(zustandsabschnittGisDto.Id, zustandsabschnittGisDto.Zustandsindex, geoJsonService.GenerateGeoJsonStringFromEntity(zustandsabschnittGisDto)));
                    IsNew = false;
                }
                dtoService.CreateOrReplaceDTO(zustandsabschnittGisDto);

                OnSaved(closeWindow);

                HasChanges = false;
            }
        }
예제 #3
0
 public void Save()
 {
     if (IsValid)
     {
         zustandsabschnittGisdto.Laenge                = Laenge;
         zustandsabschnittGisdto.Aufnahmedatum         = Aufnahmedatum;
         zustandsabschnittGisdto.Aufnahmeteam          = Aufnahmeteam;
         zustandsabschnittGisdto.Abschnittsnummer      = Abschnittsnummer;
         zustandsabschnittGisdto.Wetter                = Wetter;
         zustandsabschnittGisdto.Bemerkung             = Bemerkung;
         zustandsabschnittGisdto.FlaecheFahrbahn       = FlaecheFahrbahn;
         zustandsabschnittGisdto.FlaceheTrottoirLinks  = FlaecheTrottoirLinks;
         zustandsabschnittGisdto.FlaceheTrottoirRechts = FlaecheTrottoirRechts;
         var strab = dtoService.GetDTOByID <StrassenabschnittGISDTO>(zustandsabschnittGisdto.StrassenabschnittGIS);
         if (!strab.ZustandsabschnittenId.Any(s => s.Equals(zustandsabschnittGisdto.Id)))
         {
             strab.ZustandsabschnittenId.Add(zustandsabschnittGisdto.Id);
         }
         dtoService.CreateOrReplaceDTO(zustandsabschnittGisdto);
         dtoService.CreateOrReplaceDTO(strab);
     }
 }
예제 #4
0
        public void Save()
        {
            if (zustandsabschnittGisDto.MassnahmenvorschlagFahrbahnDTO == null)
            {
                zustandsabschnittGisDto.MassnahmenvorschlagFahrbahnDTO = new MassnahmenvorschlagDTO();
            }

            zustandsabschnittGisDto.MassnahmenvorschlagFahrbahnDTO.Dringlichkeit = Dringlichkeit;
            zustandsabschnittGisDto.MassnahmenvorschlagFahrbahnDTO.Typ           = Massnahmenvorschlag;

            if (IsManuel)
            {
                zustandsabschnittGisDto.Zustandsindex   = Zustandsindex ?? 0;
                zustandsabschnittGisDto.Erfassungsmodus = ZustandsErfassungsmodus;

                dtoService.CreateOrReplaceDTO(zustandsabschnittGisDto);

                //Clear Schadendetails
                var schadengruppeDtos = dtoService.Get <SchadengruppeDTO>().Where(sg => sg.ZustandsabschnittId == zustandsabschnittGisDto.Id).ToList();
                foreach (var schadengruppeDto in schadengruppeDtos)
                {
                    dtoService.DeleteDTO(schadengruppeDto);
                }

                var schadendetailDtos = dtoService.Get <SchadendetailDTO>().Where(sd => sd.ZustandsabschnittId == zustandsabschnittGisDto.Id).ToList();
                foreach (var schadendetailDto in schadendetailDtos)
                {
                    dtoService.DeleteDTO(schadendetailDto);
                }
            }
            else
            {
                zustandFahrbahnWindowViewModel.Save();
            }

            HasNoChanges = true;
        }