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 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); }
public static void AddModelError <T, TProperty>(this ModelStateDictionary modelStateDictionary, Expression <Func <T, TProperty> > property, string errorMessage) { modelStateDictionary.AddModelError(ExpressionHelper.GetPropertyName(property), errorMessage); }