Beispiel #1
0
        public WmsLayerSetting CreateNewWmsLayer(WmsLayerViewModel wmsLayerViewModel)
        {
            var wmsLayer = new WmsLayerSetting();

            wmsLayer.Name = wmsLayerViewModel.Name.Trim();

            var    uriBuilder = new UriBuilder(wmsLayerViewModel.ServerUrl);
            string baseUrl    = uriBuilder.Uri.GetLeftPart(UriPartial.Path);

            wmsLayer.ServerUrl = baseUrl;

            if (wmsLayerViewModel.Layers != null)
            {
                wmsLayer.Layers = wmsLayerViewModel.Layers;
            }
            else
            {
                wmsLayer.Layers = new List <string>();
            }

            if (wmsLayerViewModel.SupportedCoordinateSystems != null)
            {
                wmsLayer.SupportedCoordinateSystems = wmsLayerViewModel.SupportedCoordinateSystems;
            }
            else
            {
                wmsLayer.SupportedCoordinateSystems = new List <string>();
            }

            wmsLayer.IsBaseLayer = wmsLayerViewModel.IsBaseLayer;
            MapLayersSetting.AddWmsLayer(wmsLayer);
            return(wmsLayer);
        }
Beispiel #2
0
        public RedirectToRouteResult WmsLayerEditorSaveChanges(int id, string data)
        {
            var javascriptSerializer            = new JavaScriptSerializer();
            WmsLayerViewModel wmsLayerViewModel = javascriptSerializer.Deserialize <WmsLayerViewModel>(data);
            var viewManager = new WmsLayersViewManager(GetCurrentUser(), SessionHandler.MySettings);

            viewManager.UpdateWmsLayer(id, wmsLayerViewModel);
            return(RedirectToAction("WmsLayers"));
        }
Beispiel #3
0
        public void UpdateWmsLayer(int id, WmsLayerViewModel wmsLayerViewModel)
        {
            WmsLayerSetting wmsLayerSetting = MapLayersSetting.GetWmsLayer(id);

            wmsLayerSetting.Name        = wmsLayerViewModel.Name;
            wmsLayerSetting.IsBaseLayer = wmsLayerViewModel.IsBaseLayer;
            wmsLayerSetting.ServerUrl   = wmsLayerViewModel.ServerUrl;
            wmsLayerSetting.Layers      = wmsLayerViewModel.Layers;
            wmsLayerSetting.SupportedCoordinateSystems = wmsLayerViewModel.SupportedCoordinateSystems;
        }
Beispiel #4
0
        //public void AddWmsLayer(WmsLayerSetting wmsLayer)
        //{
        //    MapLayersSetting.AddWmsLayer(wmsLayer);
        //}

        public List <WmsLayerViewModel> GetWmsLayers()
        {
            var layers = new List <WmsLayerViewModel>();

            foreach (WmsLayerSetting wmsLayerSetting in MapLayersSetting.WmsLayers)
            {
                WmsLayerViewModel layer = WmsLayerViewModel.Create(wmsLayerSetting);
                layers.Add(layer);
            }
            return(layers);
        }
Beispiel #5
0
        public WmsLayerEditorViewModel CreateWmsLayerEditorViewModel(WmsLayerEditorMode?mode, int?id)
        {
            var model = new WmsLayerEditorViewModel
            {
                Id   = id,
                Mode = mode ?? WmsLayerEditorMode.New
            };

            if (model.Mode == WmsLayerEditorMode.Edit && id.HasValue)
            {
                model.WmsLayerViewModel = WmsLayerViewModel.Create(MapLayersSetting.GetWmsLayer(id.Value));
            }

            return(model);
        }
Beispiel #6
0
        public JsonNetResult RemoveWmsLayer(string data)
        {
            JsonModel jsonModel;

            try
            {
                var javascriptSerializer            = new JavaScriptSerializer();
                WmsLayerViewModel wmsLayerViewModel = javascriptSerializer.Deserialize <WmsLayerViewModel>(data);
                var viewManager = new WmsLayersViewManager(GetCurrentUser(), SessionHandler.MySettings);
                viewManager.RemoveWmsLayer(wmsLayerViewModel.Id);
                jsonModel = JsonModel.CreateSuccess("");
            }
            catch (Exception ex)
            {
                jsonModel = JsonModel.CreateFailure(ex.Message);
            }
            return(new JsonNetResult(jsonModel));
        }
Beispiel #7
0
        /// <summary>
        /// Handle AddWmsLayer and EditWmsLayer Post.
        /// </summary>
        private ActionResult WmsLayerEditorPost(WmsLayerEditorMode mode, int?id, string data)
        {
            var viewManager                     = new WmsLayersViewManager(GetCurrentUser(), SessionHandler.MySettings);
            var javascriptSerializer            = new JavaScriptSerializer();
            WmsLayerViewModel wmsLayerViewModel = javascriptSerializer.Deserialize <WmsLayerViewModel>(data);

            if (ModelState.IsValid)
            {
                if (mode == WmsLayerEditorMode.Edit)
                {
                    viewManager.UpdateWmsLayer(id.Value, wmsLayerViewModel);
                }
                else
                {
                    viewManager.CreateNewWmsLayer(wmsLayerViewModel);
                }

                return(RedirectToAction("WmsLayers"));
            }
            WmsLayerEditorViewModel model = viewManager.CreateWmsLayerEditorViewModel(mode, id);

            return(View("WmsLayerEditor", model));
        }