Пример #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);
        }
Пример #2
0
        private static string GetNetzSummarischModelPropertyName(string fieldName)
        {
            string propertyName;

            switch (fieldName.ToLower())
            {
            case "mittlerer zustand":
                propertyName = ExpressionHelper.GetPropertyName <NetzSummarischDetailModel, decimal?>(m => m.MittlererZustand);
                break;

            case "gesamtlänge menge":
                propertyName = ExpressionHelper.GetPropertyName <NetzSummarischDetailModel, decimal>(m => m.Fahrbahnlaenge);
                break;

            case "gesamtfläche menge":
                propertyName = ExpressionHelper.GetPropertyName <NetzSummarischDetailModel, int>(m => m.Fahrbahnflaeche);
                break;

            default:
                throw new ArgumentOutOfRangeException(fieldName);
            }
            return(propertyName);
        }
Пример #3
0
 public static void AddModelError <T, TProperty>(this ModelStateDictionary modelStateDictionary, Expression <Func <T, TProperty> > property, string errorMessage)
 {
     modelStateDictionary.AddModelError(ExpressionHelper.GetPropertyName(property), errorMessage);
 }