private void MapServiceOnZustandsabschnittSelected(object sender, SelectZustandsabschnittDataTransferEventArgs dataTransferEventArgs) { var zustandsabschnittGisdto = dtoService.GetDTOByID <ZustandsabschnittGISDTO>(dataTransferEventArgs.Id); var strassenabschnittGisdto = dtoService.Get <StrassenabschnittGISDTO>().Single(s => s.Id == zustandsabschnittGisdto.StrassenabschnittGIS); ZustandsabschnittViewModel = new ZustandsabschnittViewModel(zustandsabschnittGisdto, strassenabschnittGisdto, dtoService, windowService, schadenMetadatenService, formService, messageBoxService, geoJsonService); IsVisible = true; }
public IDTOGeometryHolder GenerateModelFromGeoJsonString(IReferenzGruppeDTOHolder model, string geoJSONString) { List <FeatureWithID> childs = GeoJSONReader.ReadFeatureWithID(new StringReader(geoJSONString)).Attributes[geoJSONAttribute_childs] as List <FeatureWithID>; ReferenzGruppeDTO referenzGruppeModel = new ReferenzGruppeDTO(); foreach (FeatureWithID child in childs) { AchsenReferenzDTO newAchsenref = new AchsenReferenzDTO(); newAchsenref.AchsenSegmentDTO = dtoService.GetDTOByID <AchsenSegmentDTO>(Guid.Parse(child.Attributes[geoJSONAttribute_AchsenSegmentId].ToString())); newAchsenref.Shape = child.Geometry; newAchsenref.Shape.SRID = GisConstants.SRID; referenzGruppeModel.AddAchsenReferenz(newAchsenref); } model.Shape = GeoJSONReader.ReadFeatureWithID(new StringReader(geoJSONString)).Geometry; model.Shape.SRID = GisConstants.SRID; model.ReferenzGruppeDTO = referenzGruppeModel; return(model); }
private void Load(ZustandsabschnittGISDTO za) { var strassenabschnitt = dtoService.GetDTOByID <StrassenabschnittGISDTO>(za.StrassenabschnittGIS); var massnahmenvorschlagKatalogDtos = dtoService .Get <MassnahmenvorschlagKatalogDTO>() .Where(mvk => mvk.KatalogTyp == MassnahmenvorschlagKatalogTyp.Trottoir && mvk.Belastungskategorie == strassenabschnitt.Belastungskategorie); MassnahmenvorschlagList = new List <NameValueItemViewModel <Guid?> > { new NameValueItemViewModel <Guid?>(string.Empty, null) } .Concat(massnahmenvorschlagKatalogDtos .Select(mvk => new NameValueItemViewModel <Guid?>(MobileLocalization.GetLocalizedMassnahmenvorschlag(mvk.Typ), mvk.Id))) .ToList(); if (string.IsNullOrEmpty(za.BezeichnungVon) && string.IsNullOrEmpty(za.BezeichnungBis)) { WindowTitle = string.Format(MobileLocalization.ZustandTrottoirShortWindowTitle, strassenabschnittGisdto.Strassenname); } else { WindowTitle = string.Format(MobileLocalization.ZustandTrottoirtWindowTitle, strassenabschnittGisdto.Strassenname, za.BezeichnungVon, za.BezeichnungBis); } HasTrottoirBeideSeiten = strassenabschnittGisdto.Trottoir == TrottoirTyp.BeideSeiten; HasTrottoirLinks = strassenabschnittGisdto.Trottoir == TrottoirTyp.Links || strassenabschnittGisdto.Trottoir == TrottoirTyp.BeideSeiten; HasTrottoirRechts = strassenabschnittGisdto.Trottoir == TrottoirTyp.Rechts || strassenabschnittGisdto.Trottoir == TrottoirTyp.BeideSeiten; ZustandsindexTrottoirLinks = za.ZustandsindexTrottoirLinks; ZustandsindexTrottoirRechts = za.ZustandsindexTrottoirRechts; DringlichkeitTrottoirLinks = za.MassnahmenvorschlagLinks == null ? DringlichkeitTyp.Unbekannt : za.MassnahmenvorschlagLinks.Dringlichkeit; DringlichkeitTrottoirRechts = za.MassnahmenvorschlagRechts == null ? DringlichkeitTyp.Unbekannt : za.MassnahmenvorschlagRechts.Dringlichkeit; MassnahmenvorschlagTrottoirLinks = za.MassnahmenvorschlagLinks == null ? null : za.MassnahmenvorschlagLinks.Typ; MassnahmenvorschlagTrottoirRechts = za.MassnahmenvorschlagRechts == null ? null : za.MassnahmenvorschlagRechts.Typ; }
private void UpdateKosten() { if (Massnahmenvorschlag.HasValue) { var massnahmenvorschlagKatalogDto = dtoService.GetDTOByID <MassnahmenvorschlagKatalogDTO>(Massnahmenvorschlag.Value); Kosten = massnahmenvorschlagKatalogDto.DefaultKosten; Gesamtkosten = Math.Round((zustandsabschnittGisDto.Laenge ?? 0) * (strassenabschnittGisdto.BreiteFahrbahn ?? 0) * (Kosten ?? 0), 2); } else { Kosten = null; Gesamtkosten = null; } }
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); } }