public ActionResult Update(KoordinierteMassnahmeGISModel koordinierteMassnahmeGISModel)
 {
     koordinierteMassnahmeGISModel = UpdateAndValidateGeometry(koordinierteMassnahmeGISModel);
     if (ModelState.IsValid)
     {
         koordinierteMassnahmeGISModelService.UpdateEntity(koordinierteMassnahmeGISModel);
         return(new EmsgEmptyResult());
     }
     PrepareViewBag(false, koordinierteMassnahmeGISModel.MassnahmenvorschlagFahrbahn);
     return(PartialView("EditKoordinierteMassnahmen", koordinierteMassnahmeGISModel));
 }
 public ActionResult GetKoordinierteMassnahmeAt(double x, double y, double tolerance)
 {
     try
     {
         KoordinierteMassnahmeGISModel koordinierteMassnahme = koordinierteMassnahmeGISModelService.GetKoordinierteMassnahmeAt(x, y, tolerance);
         return(Content(koordinierteMassnahme.FeatureGeoJSONString, "application/json"));
     }
     catch (Exception exc)
     {
         return(Content(GeoJSONStrings.GeoJSONFailure(exc.Message), "application/json"));
     }
 }
 public ActionResult GetKoordinierteMassnahmeByID(string id)
 {
     try
     {
         KoordinierteMassnahmeGISModel koordinierteMassnahme = koordinierteMassnahmeGISModelService.GetById(Guid.Parse(id));
         return(Content(koordinierteMassnahme.FeatureGeoJSONString, "application/json"));
     }
     catch (Exception exc)
     {
         return(Content(GeoJSONStrings.GeoJSONFailure(exc.Message), "application/json"));
     }
 }
        public ActionResult ApplyInsert(KoordinierteMassnahmeGISModel koordinierteMassnahmeGISModel)
        {
            koordinierteMassnahmeGISModel = UpdateAndValidateGeometry(koordinierteMassnahmeGISModel);
            var isInNewMode = true;

            if (ModelState.IsValid)
            {
                koordinierteMassnahmeGISModel = koordinierteMassnahmeGISModelService.CreateEntity(koordinierteMassnahmeGISModel);
                ModelState.Clear();
                isInNewMode = false;
            }

            PrepareViewBag(isInNewMode, koordinierteMassnahmeGISModel.MassnahmenvorschlagFahrbahn);
            return(PartialView("EditKoordinierteMassnahmen", koordinierteMassnahmeGISModel));
        }
        private KoordinierteMassnahmeGISModel UpdateAndValidateGeometry(KoordinierteMassnahmeGISModel model)
        {
            if (ModelState.IsValid)
            {
                model = (KoordinierteMassnahmeGISModel)geoJSONParseService.GenerateModelFromGeoJsonString(model);

                if (!koordinierteMassnahmeGISModelService.Validate(model))
                {
                    ModelState.AddModelError(
                        ASTRA.EMSG.Common.ExpressionHelper.GetPropertyName <IAbschnittGISModelBase, string>(m => m.FeatureGeoJSONString),
                        localizationService.GetLocalizedError(ValidationError.GeometryNotOnAchsenSegment));
                }
            }
            return(model);
        }