private async void cmdSaveUser_Click(object sender, RoutedEventArgs e) { ApplyNewLayout(); List <WMSProviderSelectedMaps> Maps = (List <WMSProviderSelectedMaps>)dataGridLayerName.ItemsSource; UserMaps usermaps = new UserMaps(); List <UserMapPreference> MapPreferenceList = new List <UserMapPreference>(); foreach (WMSProviderSelectedMaps SelectedMap in Maps) { if (SelectedMap.isSelected) { UserMapPreference userMapInfo = new UserMapPreference(); userMapInfo.MapName = SelectedMap.MapName; userMapInfo.MaxZoom = SelectedMap.UserMaxZoom; userMapInfo.MinZoom = SelectedMap.UserMinZoom; MapPreferenceList.Add(userMapInfo); } } usermaps.maps = MapPreferenceList.ToArray <UserMapPreference>(); usermaps.User = VMMainViewModel.Instance.UserName; // usermaps = await SAGSignalR.GetUserMaps(VMMainViewModel.Instance.SimulationHubProxy, UserName); try { if (VMMainViewModel.Instance.SimulationHubProxy != null) { await SAGSignalR.SaveUserMaps(VMMainViewModel.Instance.SimulationHubProxy, usermaps); } } catch (Exception ex) { } //MapInfo.UserMapList = usermapDictionary.Values.ToArray<UserMapLayerInfo>(); //MapList.Add(MapInfo); //if (UserSession.ClientSideObject.m_GameManagerProxy != null) //{ // UserSession.ClientSideObject.m_GameManagerProxy.SetUserMapInfoCustomProvider(MapList.ToArray<UserMapInfo>()); //} }
public static UserMaps GetUserMaps(string userName) { try { UserMaps maps = new UserMaps(); maps.User = userName; List<UserMapPreference> MapPreferenceList = new List<UserMapPreference>(); string sql = "select * from user_maps where user_guid= '" + userName + "' Order By layer_order "; using (NpgsqlConnection connection = new NpgsqlConnection(strPostGISConnection)) using (NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, connection)) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); ds.Reset(); da.Fill(ds); dt = ds.Tables[0]; foreach (DataRow row in dt.Rows) { UserMapPreference MapPreference = new UserMapPreference(); MapPreference.MapName = row["map_name"].ToString(); MapPreference.MinZoom = System.Convert.ToInt32(row["min_zoom"]); MapPreference.MaxZoom = System.Convert.ToInt32(row["max_zoom"]); MapPreferenceList.Add(MapPreference); } maps.maps = MapPreferenceList.ToArray<UserMapPreference>(); return maps; } } catch (Exception ex) { } return null; }
public static UserMaps GetUserMaps(string userName) { try { UserMaps maps = new UserMaps(); maps.User = userName; List <UserMapPreference> MapPreferenceList = new List <UserMapPreference>(); string sql = "select * from user_maps where user_guid= '" + userName + "' Order By layer_order "; using (NpgsqlConnection connection = new NpgsqlConnection(strPostGISConnection)) using (NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, connection)) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); ds.Reset(); da.Fill(ds); dt = ds.Tables[0]; foreach (DataRow row in dt.Rows) { UserMapPreference MapPreference = new UserMapPreference(); MapPreference.MapName = row["map_name"].ToString(); MapPreference.MinZoom = System.Convert.ToInt32(row["min_zoom"]); MapPreference.MaxZoom = System.Convert.ToInt32(row["max_zoom"]); MapPreferenceList.Add(MapPreference); } maps.maps = MapPreferenceList.ToArray <UserMapPreference>(); return(maps); } } catch (Exception ex) { } return(null); }
public async void SetData() { string strWMSGeoserverUrl = ConfigurationManager.AppSettings["WMSGeoserver"]; if (string.IsNullOrEmpty(strWMSGeoserverUrl)) { return; } WMSCapabilities Capabilities = await WMSProviderBase.WMSCapabilitiesRetrieve(strWMSGeoserverUrl); List <WMSProviderSelectedMaps> HelperList = new List <WMSProviderSelectedMaps>(); if (Capabilities != null) { //List<GMap.NET.MapProviders.GMapProvider> Layers = null; // Layers = UserSession.ClientSideObject.GetGMapLayers(); UserMaps Layers = await SAGSignalR.GetUserMaps(VMMainViewModel.Instance.SimulationHubProxy, VMMainViewModel.Instance.UserName); int n = 1000; foreach (CustomImageInfo Info in Capabilities.Layers) { n++; WMSProviderSelectedMaps map = new WMSProviderSelectedMaps(); map.MapName = Info.MapName; map.isSelected = false; map.SeqNumber = n; map.UserMinZoom = 0; map.UserMaxZoom = 24; HelperList.Add(map); } if (Layers != null) { for (int i = 0; i < Layers.maps.Length; i++) { UserMapPreference layer = Layers.maps[i]; WMSProviderSelectedMaps map = HelperList.Where(l => l.MapName == layer.MapName).SingleOrDefault(); if (map != null) { map.SeqNumber = i; map.isSelected = true; map.UserMinZoom = layer.MinZoom; map.UserMaxZoom = (int)layer.MaxZoom; } } } HelperList.Sort(delegate(WMSProviderSelectedMaps Struct1, WMSProviderSelectedMaps Struct2) { int Compare = 0; if (Struct2.SeqNumber < Struct1.SeqNumber) { Compare = 1; } else if (Struct2.SeqNumber == Struct1.SeqNumber) { Compare = 0; } else { Compare = -1; } return(Compare); }); } dataGridLayerName.ItemsSource = null; dataGridLayerName.ItemsSource = HelperList; }