Exemplo n.º 1
0
        private StrassenabschnittGISModel ValidateStrassenabschnittGisModelGeometry(StrassenabschnittGISModel strassenabschnittGisModel)
        {
            if (ModelState.IsValid)
            {
                strassenabschnittGisModel =
                    (StrassenabschnittGISModel)geoJSONParseService.GenerateModelFromGeoJsonString(strassenabschnittGisModel);

                if (!abschnittGisValidationService.ValidateOverlap(strassenabschnittGisModel))
                {
                    ModelState.AddModelError(
                        ExpressionHelper.GetPropertyName <IAbschnittGISModelBase, string>(m => m.FeatureGeoJSONString),
                        localizationService.GetLocalizedError(ValidationError.GeometryOverlaps));
                }

                if (!strassenabschnittGISService.ZustandsabschnittWithinStrassenabschnitt(strassenabschnittGisModel))
                {
                    ModelState.AddModelError(
                        ExpressionHelper.GetPropertyName <IAbschnittGISModelBase, string>(m => m.FeatureGeoJSONString),
                        localizationService.GetLocalizedError(ValidationError.ZustandAbschnittNotWithin));
                }
                if (!strassenabschnittGISService.IsStrassenabschnittOnAchsensegment(strassenabschnittGisModel))
                {
                    ModelState.AddModelError(
                        ExpressionHelper.GetPropertyName <IAbschnittGISModelBase, string>(m => m.FeatureGeoJSONString),
                        localizationService.GetLocalizedError(ValidationError.GeometryNotOnAchsenSegment));
                }
            }
            return(strassenabschnittGisModel);
        }
        private ZustandsabschnittGISModel ValidateZustandsabschnittGISModel(ZustandsabschnittGISModel zustandsabschnittGISModel)
        {
            if (ModelState.IsValid)
            {
                zustandsabschnittGISModel =
                    (ZustandsabschnittGISModel)geoJSONParseService.GenerateModelFromGeoJsonString(zustandsabschnittGISModel);

                Expression <Func <ZustandsabschnittGISMonsterModel, string> > expression = m => m.Stammdaten.FeatureGeoJSONString;
                if (!abschnittGisValidationService.ValidateOverlap(zustandsabschnittGISModel))
                {
                    ModelState.AddModelError(
                        System.Web.Mvc.ExpressionHelper.GetExpressionText(expression),
                        localizationService.GetLocalizedError(ValidationError.GeometryOverlaps));
                }

                if (!zustandsabschnittGISService.IsZustandsabschnittWithinStrassenabschnitt(zustandsabschnittGISModel))
                {
                    ModelState.AddModelError(
                        System.Web.Mvc.ExpressionHelper.GetExpressionText(expression),
                        localizationService.GetLocalizedError(ValidationError.ZustandAbschnittNotWithin));
                }
            }
            return(zustandsabschnittGISModel);
        }