private void PrepareViewBag(bool isCreateMode, RealisierteMassnahmeGISModel model)
 {
     ViewBag.MassnahmenvorschlagFahrbahnKatalogen = GetMassnamenKatalogDropDownItems(model.MassnahmenvorschlagFahrbahn, MassnahmenvorschlagKatalogTyp.Fahrbahn);
     ViewBag.MassnahmenvorschlagTrottoirKatalogen = GetMassnamenKatalogDropDownItems(model.MassnahmenvorschlagTrottoir, MassnahmenvorschlagKatalogTyp.Trottoir);
     ViewBag.Belastungskategorien = belastungskategorieService.AllBelastungskategorieModel.ToDropDownItemList(tvp => localizationService.GetLocalizedBelastungskategorieTyp(tvp.Typ), bk => bk.Id, model.Belastungskategorie, TextLocalization.EmptyMessage);
     ViewBag.Strasseneigentuemer  = belastungskategorieService.AllBelastungskategorieModel.ToDropDownItemList(tvp => localizationService.GetLocalizedBelastungskategorieTyp(tvp.Typ), bk => bk.Id, model.Belastungskategorie, TextLocalization.EmptyMessage);
     ViewBag.IsNew = isCreateMode;
 }
 public ActionResult Insert(RealisierteMassnahmeGISModel realisierteMassnahmeGISModel)
 {
     realisierteMassnahmeGISModel = UpdateAndValidateGeometry(realisierteMassnahmeGISModel);
     if (ModelState.IsValid)
     {
         realisierteMassnahmeGISModelService.CreateEntity(realisierteMassnahmeGISModel);
         return(new EmsgEmptyResult());
     }
     PrepareViewBag(true, realisierteMassnahmeGISModel);
     return(PartialView("EditRealisierteMassnahmen", realisierteMassnahmeGISModel));
 }
 public ActionResult GetRealisierteMassnahmeByID(string id)
 {
     try
     {
         RealisierteMassnahmeGISModel realisierteMassnahme = realisierteMassnahmeGISModelService.GetById(Guid.Parse(id));
         return(Content(realisierteMassnahme.FeatureGeoJSONString, "application/json"));
     }
     catch (Exception exc)
     {
         return(Content(GeoJSONStrings.GeoJSONFailure(exc.Message), "application/json"));
     }
 }
 public ActionResult GetRealisierteMassnahmeAt(double x, double y, double tolerance)
 {
     try
     {
         RealisierteMassnahmeGISModel realisierteMassnahme = realisierteMassnahmeGISModelService.GetRealisierteMassnahmeAt(x, y, tolerance);
         return(Content(realisierteMassnahme.FeatureGeoJSONString, "application/json"));
     }
     catch (Exception exc)
     {
         return(Content(GeoJSONStrings.GeoJSONFailure(exc.Message), "application/json"));
     }
 }
        public ActionResult ApplyUpdate(RealisierteMassnahmeGISModel realisierteMassnahmeGISModel)
        {
            realisierteMassnahmeGISModel = UpdateAndValidateGeometry(realisierteMassnahmeGISModel);
            if (ModelState.IsValid)
            {
                realisierteMassnahmeGISModel = realisierteMassnahmeGISModelService.UpdateEntity(realisierteMassnahmeGISModel);
                ModelState.Clear();
            }

            PrepareViewBag(false, realisierteMassnahmeGISModel);

            return(PartialView("EditRealisierteMassnahmen", realisierteMassnahmeGISModel));
        }
        public ActionResult ApplyInsert(RealisierteMassnahmeGISModel realisierteMassnahmeGISModel)
        {
            realisierteMassnahmeGISModel = UpdateAndValidateGeometry(realisierteMassnahmeGISModel);
            var isInNewMode = true;

            if (ModelState.IsValid)
            {
                realisierteMassnahmeGISModel = realisierteMassnahmeGISModelService.CreateEntity(realisierteMassnahmeGISModel);
                ModelState.Clear();
                isInNewMode = false;
            }

            PrepareViewBag(isInNewMode, realisierteMassnahmeGISModel);
            return(PartialView("EditRealisierteMassnahmen", realisierteMassnahmeGISModel));
        }
        private RealisierteMassnahmeGISModel UpdateAndValidateGeometry(RealisierteMassnahmeGISModel model)
        {
            if (ModelState.IsValid)
            {
                model = (RealisierteMassnahmeGISModel)geoJSONParseService.GenerateModelFromGeoJsonString(model);

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