public PartialViewResult EditInteractionEventLocation(InteractionEventPrimaryKey interactionEventPrimaryKey)
        {
            var interactionEvent = interactionEventPrimaryKey.EntityObject;
            var viewModel        = new EditInteractionEventLocationSimpleViewModel(interactionEvent.InteractionEventLocationSimple);

            return(ViewEditInteractionEventLocationSimple(viewModel, interactionEvent));
        }
        private PartialViewResult ViewEditInteractionEventLocationSimple(EditInteractionEventLocationSimpleViewModel viewModel, InteractionEvent interactionEvent)
        {
            var layerGeoJsons = MapInitJson.GetAllGeospatialAreaMapLayers(LayerInitialVisibility.Hide);
            var mapInitJson   = new MapInitJson($"interactionEvent_{interactionEvent.InteractionEventID}_EditMap", 10, layerGeoJsons, BoundingBox.MakeNewDefaultBoundingBox(), false)
            {
                AllowFullScreen = false, DisablePopups = true
            };

            var mapPostUrl = SitkaRoute <InteractionEventController> .BuildUrlFromExpression(c => c.EditInteractionEventLocation(interactionEvent.PrimaryKey, null));

            var mapFormID     = GetMapLocationFormID(interactionEvent.PrimaryKey);
            var wmsLayerNames = FirmaWebConfiguration.GetWmsLayerNames();
            var mapServiceUrl = FirmaWebConfiguration.WebMapServiceUrl;

            var viewData = new EditInteractionEventLocationSimpleViewData(CurrentPerson, mapInitJson, wmsLayerNames, null, mapPostUrl, mapFormID, mapServiceUrl);

            return(RazorPartialView <EditInteractionEventLocationSimple, EditInteractionEventLocationSimpleViewData, EditInteractionEventLocationSimpleViewModel>(viewData, viewModel));
        }
        public ActionResult EditInteractionEventLocation(InteractionEventPrimaryKey interactionEventPrimaryKey, EditInteractionEventLocationSimpleViewModel viewModel)
        {
            var interactionEvent = interactionEventPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEditInteractionEventLocationSimple(viewModel, interactionEvent));
            }

            viewModel.UpdateModel(interactionEvent);

            HttpRequestStorage.DatabaseEntities.SaveChanges();

            return(new ModalDialogFormJsonResult());
        }