From 5f40bab9c58d1aab450f16714fb82aa4076c1902 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Fri, 30 Sep 2016 15:31:46 -0600 Subject: [PATCH] Enforce column data types --- .../Config/Serializers/DataTableSerializer.cs | 326 +++++++++--------- 1 file changed, 163 insertions(+), 163 deletions(-) diff --git a/mRemoteV1/Config/Serializers/DataTableSerializer.cs b/mRemoteV1/Config/Serializers/DataTableSerializer.cs index 189c5f950..407556783 100644 --- a/mRemoteV1/Config/Serializers/DataTableSerializer.cs +++ b/mRemoteV1/Config/Serializers/DataTableSerializer.cs @@ -40,117 +40,117 @@ namespace mRemoteNG.Config.Serializers private void CreateSchema() { - _dataTable.Columns.Add("Name"); - _dataTable.Columns.Add("Type"); - _dataTable.Columns.Add("ConstantID"); - _dataTable.Columns.Add("ParentID"); - _dataTable.Columns.Add("PositionID"); - _dataTable.Columns.Add("LastChange"); - _dataTable.Columns.Add("Expanded"); - _dataTable.Columns.Add("Description"); - _dataTable.Columns.Add("Icon"); - _dataTable.Columns.Add("Panel"); - _dataTable.Columns.Add("Username"); - _dataTable.Columns.Add("Domain"); - _dataTable.Columns.Add("Password"); - _dataTable.Columns.Add("Hostname"); - _dataTable.Columns.Add("Protocol"); - _dataTable.Columns.Add("PuttySession"); - _dataTable.Columns.Add("Port"); - _dataTable.Columns.Add("ConnectToConsole"); - _dataTable.Columns.Add("UseCredSsp"); - _dataTable.Columns.Add("RenderingEngine"); - _dataTable.Columns.Add("ICAEncryptionStrength"); - _dataTable.Columns.Add("RDPAuthenticationLevel"); - _dataTable.Columns.Add("LoadBalanceInfo"); - _dataTable.Columns.Add("Colors"); - _dataTable.Columns.Add("Resolution"); - _dataTable.Columns.Add("AutomaticResize"); - _dataTable.Columns.Add("DisplayWallpaper"); - _dataTable.Columns.Add("DisplayThemes"); - _dataTable.Columns.Add("EnableFontSmoothing"); - _dataTable.Columns.Add("EnableDesktopComposition"); - _dataTable.Columns.Add("CacheBitmaps"); - _dataTable.Columns.Add("RedirectDiskDrives"); - _dataTable.Columns.Add("RedirectPorts"); - _dataTable.Columns.Add("RedirectPrinters"); - _dataTable.Columns.Add("RedirectSmartCards"); - _dataTable.Columns.Add("RedirectSound"); - _dataTable.Columns.Add("RedirectKeys"); - _dataTable.Columns.Add("Connected"); - _dataTable.Columns.Add("PreExtApp"); - _dataTable.Columns.Add("PostExtApp"); - _dataTable.Columns.Add("MacAddress"); - _dataTable.Columns.Add("UserField"); - _dataTable.Columns.Add("ExtApp"); - _dataTable.Columns.Add("VNCCompression"); - _dataTable.Columns.Add("VNCEncoding"); - _dataTable.Columns.Add("VNCAuthMode"); - _dataTable.Columns.Add("VNCProxyType"); - _dataTable.Columns.Add("VNCProxyIP"); - _dataTable.Columns.Add("VNCProxyPort"); - _dataTable.Columns.Add("VNCProxyUsername"); - _dataTable.Columns.Add("VNCProxyPassword"); - _dataTable.Columns.Add("VNCColors"); - _dataTable.Columns.Add("VNCSmartSizeMode"); - _dataTable.Columns.Add("VNCViewOnly"); - _dataTable.Columns.Add("RDGatewayUsageMethod"); - _dataTable.Columns.Add("RDGatewayHostname"); + _dataTable.Columns.Add("Name", typeof(string)); + _dataTable.Columns.Add("Type", typeof(string)); + _dataTable.Columns.Add("ConstantID", typeof(string)); + _dataTable.Columns.Add("ParentID", typeof(string)); + _dataTable.Columns.Add("PositionID", typeof(int)); + _dataTable.Columns.Add("LastChange", typeof(DateTime)); + _dataTable.Columns.Add("Expanded", typeof(int)); + _dataTable.Columns.Add("Description", typeof(string)); + _dataTable.Columns.Add("Icon", typeof(string)); + _dataTable.Columns.Add("Panel", typeof(string)); + _dataTable.Columns.Add("Username", typeof(string)); + _dataTable.Columns.Add("Domain", typeof(string)); + _dataTable.Columns.Add("Password", typeof(string)); + _dataTable.Columns.Add("Hostname", typeof(string)); + _dataTable.Columns.Add("Protocol", typeof(string)); + _dataTable.Columns.Add("PuttySession", typeof(string)); + _dataTable.Columns.Add("Port", typeof(int)); + _dataTable.Columns.Add("ConnectToConsole", typeof(int)); + _dataTable.Columns.Add("UseCredSsp", typeof(int)); + _dataTable.Columns.Add("RenderingEngine", typeof(string)); + _dataTable.Columns.Add("ICAEncryptionStrength", typeof(string)); + _dataTable.Columns.Add("RDPAuthenticationLevel", typeof(string)); + _dataTable.Columns.Add("LoadBalanceInfo", typeof(string)); + _dataTable.Columns.Add("Colors", typeof(string)); + _dataTable.Columns.Add("Resolution", typeof(string)); + _dataTable.Columns.Add("AutomaticResize", typeof(int)); + _dataTable.Columns.Add("DisplayWallpaper", typeof(int)); + _dataTable.Columns.Add("DisplayThemes", typeof(int)); + _dataTable.Columns.Add("EnableFontSmoothing", typeof(int)); + _dataTable.Columns.Add("EnableDesktopComposition", typeof(int)); + _dataTable.Columns.Add("CacheBitmaps", typeof(int)); + _dataTable.Columns.Add("RedirectDiskDrives", typeof(int)); + _dataTable.Columns.Add("RedirectPorts", typeof(int)); + _dataTable.Columns.Add("RedirectPrinters", typeof(int)); + _dataTable.Columns.Add("RedirectSmartCards", typeof(int)); + _dataTable.Columns.Add("RedirectSound", typeof(int)); + _dataTable.Columns.Add("RedirectKeys", typeof(int)); + _dataTable.Columns.Add("Connected", typeof(int)); + _dataTable.Columns.Add("PreExtApp", typeof(string)); + _dataTable.Columns.Add("PostExtApp", typeof(string)); + _dataTable.Columns.Add("MacAddress", typeof(string)); + _dataTable.Columns.Add("UserField", typeof(string)); + _dataTable.Columns.Add("ExtApp", typeof(string)); + _dataTable.Columns.Add("VNCCompression", typeof(string)); + _dataTable.Columns.Add("VNCEncoding", typeof(string)); + _dataTable.Columns.Add("VNCAuthMode", typeof(string)); + _dataTable.Columns.Add("VNCProxyType", typeof(string)); + _dataTable.Columns.Add("VNCProxyIP", typeof(string)); + _dataTable.Columns.Add("VNCProxyPort", typeof(int)); + _dataTable.Columns.Add("VNCProxyUsername", typeof(string)); + _dataTable.Columns.Add("VNCProxyPassword", typeof(string)); + _dataTable.Columns.Add("VNCColors", typeof(string)); + _dataTable.Columns.Add("VNCSmartSizeMode", typeof(string)); + _dataTable.Columns.Add("VNCViewOnly", typeof(int)); + _dataTable.Columns.Add("RDGatewayUsageMethod", typeof(string)); + _dataTable.Columns.Add("RDGatewayHostname", typeof(string)); _dataTable.Columns.Add("RDGatewayUseConnectionCredentials"); - _dataTable.Columns.Add("RDGatewayUsername"); - _dataTable.Columns.Add("RDGatewayPassword"); - _dataTable.Columns.Add("RDGatewayDomain"); - _dataTable.Columns.Add("InheritCacheBitmaps"); - _dataTable.Columns.Add("InheritColors"); - _dataTable.Columns.Add("InheritDescription"); - _dataTable.Columns.Add("InheritDisplayThemes"); - _dataTable.Columns.Add("InheritDisplayWallpaper"); - _dataTable.Columns.Add("InheritEnableFontSmoothing"); - _dataTable.Columns.Add("InheritEnableDesktopComposition"); - _dataTable.Columns.Add("InheritDomain"); - _dataTable.Columns.Add("InheritIcon"); - _dataTable.Columns.Add("InheritPanel"); - _dataTable.Columns.Add("InheritPassword"); - _dataTable.Columns.Add("InheritPort"); - _dataTable.Columns.Add("InheritProtocol"); - _dataTable.Columns.Add("InheritPuttySession"); - _dataTable.Columns.Add("InheritRedirectDiskDrives"); - _dataTable.Columns.Add("InheritRedirectKeys"); - _dataTable.Columns.Add("InheritRedirectPorts"); - _dataTable.Columns.Add("InheritRedirectPrinters"); - _dataTable.Columns.Add("InheritRedirectSmartCards"); - _dataTable.Columns.Add("InheritRedirectSound"); - _dataTable.Columns.Add("InheritResolution"); - _dataTable.Columns.Add("InheritAutomaticResize"); - _dataTable.Columns.Add("InheritUseConsoleSession"); - _dataTable.Columns.Add("InheritUseCredSsp"); - _dataTable.Columns.Add("InheritRenderingEngine"); - _dataTable.Columns.Add("InheritUsername"); - _dataTable.Columns.Add("InheritICAEncryptionStrength"); - _dataTable.Columns.Add("InheritRDPAuthenticationLevel"); - _dataTable.Columns.Add("InheritLoadBalanceInfo"); - _dataTable.Columns.Add("InheritPreExtApp"); - _dataTable.Columns.Add("InheritPostExtApp"); - _dataTable.Columns.Add("InheritMacAddress"); - _dataTable.Columns.Add("InheritUserField"); - _dataTable.Columns.Add("InheritExtApp"); - _dataTable.Columns.Add("InheritVNCCompression"); - _dataTable.Columns.Add("InheritVNCEncoding"); - _dataTable.Columns.Add("InheritVNCAuthMode"); - _dataTable.Columns.Add("InheritVNCProxyType"); - _dataTable.Columns.Add("InheritVNCProxyIP"); - _dataTable.Columns.Add("InheritVNCProxyPort"); - _dataTable.Columns.Add("InheritVNCProxyUsername"); - _dataTable.Columns.Add("InheritVNCProxyPassword"); - _dataTable.Columns.Add("InheritVNCColors"); - _dataTable.Columns.Add("InheritVNCSmartSizeMode"); - _dataTable.Columns.Add("InheritVNCViewOnly"); - _dataTable.Columns.Add("InheritRDGatewayUsageMethod"); - _dataTable.Columns.Add("InheritRDGatewayHostname"); - _dataTable.Columns.Add("InheritRDGatewayUseConnectionCredentials"); - _dataTable.Columns.Add("InheritRDGatewayUsername"); - _dataTable.Columns.Add("InheritRDGatewayPassword"); - _dataTable.Columns.Add("InheritRDGatewayDomain"); + _dataTable.Columns.Add("RDGatewayUsername", typeof(string)); + _dataTable.Columns.Add("RDGatewayPassword", typeof(string)); + _dataTable.Columns.Add("RDGatewayDomain", typeof(string)); + _dataTable.Columns.Add("InheritCacheBitmaps", typeof(int)); + _dataTable.Columns.Add("InheritColors", typeof(int)); + _dataTable.Columns.Add("InheritDescription", typeof(int)); + _dataTable.Columns.Add("InheritDisplayThemes", typeof(int)); + _dataTable.Columns.Add("InheritDisplayWallpaper", typeof(int)); + _dataTable.Columns.Add("InheritEnableFontSmoothing", typeof(int)); + _dataTable.Columns.Add("InheritEnableDesktopComposition", typeof(int)); + _dataTable.Columns.Add("InheritDomain", typeof(int)); + _dataTable.Columns.Add("InheritIcon", typeof(int)); + _dataTable.Columns.Add("InheritPanel", typeof(int)); + _dataTable.Columns.Add("InheritPassword", typeof(int)); + _dataTable.Columns.Add("InheritPort", typeof(int)); + _dataTable.Columns.Add("InheritProtocol", typeof(int)); + _dataTable.Columns.Add("InheritPuttySession", typeof(int)); + _dataTable.Columns.Add("InheritRedirectDiskDrives", typeof(int)); + _dataTable.Columns.Add("InheritRedirectKeys", typeof(int)); + _dataTable.Columns.Add("InheritRedirectPorts", typeof(int)); + _dataTable.Columns.Add("InheritRedirectPrinters", typeof(int)); + _dataTable.Columns.Add("InheritRedirectSmartCards", typeof(int)); + _dataTable.Columns.Add("InheritRedirectSound", typeof(int)); + _dataTable.Columns.Add("InheritResolution", typeof(int)); + _dataTable.Columns.Add("InheritAutomaticResize", typeof(int)); + _dataTable.Columns.Add("InheritUseConsoleSession", typeof(int)); + _dataTable.Columns.Add("InheritUseCredSsp", typeof(int)); + _dataTable.Columns.Add("InheritRenderingEngine", typeof(int)); + _dataTable.Columns.Add("InheritUsername", typeof(int)); + _dataTable.Columns.Add("InheritICAEncryptionStrength", typeof(int)); + _dataTable.Columns.Add("InheritRDPAuthenticationLevel", typeof(int)); + _dataTable.Columns.Add("InheritLoadBalanceInfo", typeof(int)); + _dataTable.Columns.Add("InheritPreExtApp", typeof(int)); + _dataTable.Columns.Add("InheritPostExtApp", typeof(int)); + _dataTable.Columns.Add("InheritMacAddress", typeof(int)); + _dataTable.Columns.Add("InheritUserField", typeof(int)); + _dataTable.Columns.Add("InheritExtApp", typeof(int)); + _dataTable.Columns.Add("InheritVNCCompression", typeof(int)); + _dataTable.Columns.Add("InheritVNCEncoding", typeof(int)); + _dataTable.Columns.Add("InheritVNCAuthMode", typeof(int)); + _dataTable.Columns.Add("InheritVNCProxyType", typeof(int)); + _dataTable.Columns.Add("InheritVNCProxyIP", typeof(int)); + _dataTable.Columns.Add("InheritVNCProxyPort", typeof(int)); + _dataTable.Columns.Add("InheritVNCProxyUsername", typeof(int)); + _dataTable.Columns.Add("InheritVNCProxyPassword", typeof(int)); + _dataTable.Columns.Add("InheritVNCColors", typeof(int)); + _dataTable.Columns.Add("InheritVNCSmartSizeMode", typeof(int)); + _dataTable.Columns.Add("InheritVNCViewOnly", typeof(int)); + _dataTable.Columns.Add("InheritRDGatewayUsageMethod", typeof(int)); + _dataTable.Columns.Add("InheritRDGatewayHostname", typeof(int)); + _dataTable.Columns.Add("InheritRDGatewayUseConnectionCredentials", typeof(int)); + _dataTable.Columns.Add("InheritRDGatewayUsername", typeof(int)); + _dataTable.Columns.Add("InheritRDGatewayPassword", typeof(int)); + _dataTable.Columns.Add("InheritRDGatewayDomain", typeof(int)); } private void SetPrimaryKey() @@ -178,7 +178,7 @@ namespace mRemoteNG.Config.Serializers dataRow["ParentID"] = connectionInfo.Parent.ConstantID; dataRow["PositionID"] = _currentNodeIndex; dataRow["LastChange"] = FormateDateForDatabase(DateTime.Now); - dataRow["Expanded"] = connectionInfo is ContainerInfo ? ((ContainerInfo)connectionInfo).IsExpanded.ToString() : ""; + dataRow["Expanded"] = connectionInfo is ContainerInfo ? ((ContainerInfo)connectionInfo).IsExpanded : false; dataRow["Description"] = connectionInfo.Description; dataRow["Icon"] = connectionInfo.Icon; dataRow["Panel"] = connectionInfo.Panel; @@ -209,7 +209,7 @@ namespace mRemoteNG.Config.Serializers dataRow["RedirectSmartCards"] = connectionInfo.RedirectSmartCards; dataRow["RedirectSound"] = connectionInfo.RedirectSound; dataRow["RedirectKeys"] = connectionInfo.RedirectKeys; - dataRow["Connected"] = connectionInfo.OpenConnections.Count > 0 ? "true" : "false"; + dataRow["Connected"] = connectionInfo.OpenConnections.Count > 0; dataRow["PreExtApp"] = connectionInfo.PreExtApp; dataRow["PostExtApp"] = connectionInfo.PostExtApp; dataRow["MacAddress"] = connectionInfo.MacAddress; @@ -288,57 +288,57 @@ namespace mRemoteNG.Config.Serializers } else { - dataRow["InheritCacheBitmaps"] = ""; - dataRow["InheritColors"] = ""; - dataRow["InheritDescription"] = ""; - dataRow["InheritDisplayThemes"] = ""; - dataRow["InheritDisplayWallpaper"] = ""; - dataRow["InheritEnableFontSmoothing"] = ""; - dataRow["InheritEnableDesktopComposition"] = ""; - dataRow["InheritDomain"] = ""; - dataRow["InheritIcon"] = ""; - dataRow["InheritPanel"] = ""; - dataRow["InheritPassword"] = ""; - dataRow["InheritPort"] = ""; - dataRow["InheritProtocol"] = ""; - dataRow["InheritPuttySession"] = ""; - dataRow["InheritRedirectDiskDrives"] = ""; - dataRow["InheritRedirectKeys"] = ""; - dataRow["InheritRedirectPorts"] = ""; - dataRow["InheritRedirectPrinters"] = ""; - dataRow["InheritRedirectSmartCards"] = ""; - dataRow["InheritRedirectSound"] = ""; - dataRow["InheritResolution"] = ""; - dataRow["InheritAutomaticResize"] = ""; - dataRow["InheritUseConsoleSession"] = ""; - dataRow["InheritUseCredSsp"] = ""; - dataRow["InheritRenderingEngine"] = ""; - dataRow["InheritUsername"] = ""; - dataRow["InheritICAEncryptionStrength"] = ""; - dataRow["InheritRDPAuthenticationLevel"] = ""; - dataRow["InheritLoadBalanceInfo"] = ""; - dataRow["InheritPreExtApp"] = ""; - dataRow["InheritPostExtApp"] = ""; - dataRow["InheritMacAddress"] = ""; - dataRow["InheritUserField"] = ""; - dataRow["InheritExtApp"] = ""; - dataRow["InheritVNCCompression"] = ""; - dataRow["InheritVNCEncoding"] = ""; - dataRow["InheritVNCAuthMode"] = ""; - dataRow["InheritVNCProxyType"] = ""; - dataRow["InheritVNCProxyIP"] = ""; - dataRow["InheritVNCProxyPort"] = ""; - dataRow["InheritVNCProxyUsername"] = ""; - dataRow["InheritVNCProxyPassword"] = ""; - dataRow["InheritVNCColors"] = ""; - dataRow["InheritVNCSmartSizeMode"] = ""; - dataRow["InheritVNCViewOnly"] = ""; - dataRow["InheritRDGatewayUsageMethod"] = ""; - dataRow["InheritRDGatewayHostname"] = ""; - dataRow["InheritRDGatewayUseConnectionCredentials"] = ""; - dataRow["InheritRDGatewayUsername"] = ""; - dataRow["InheritRDGatewayPassword"] = ""; - dataRow["InheritRDGatewayDomain"] = ""; + dataRow["InheritCacheBitmaps"] = false; + dataRow["InheritColors"] = false; + dataRow["InheritDescription"] = false; + dataRow["InheritDisplayThemes"] = false; + dataRow["InheritDisplayWallpaper"] = false; + dataRow["InheritEnableFontSmoothing"] = false; + dataRow["InheritEnableDesktopComposition"] = false; + dataRow["InheritDomain"] = false; + dataRow["InheritIcon"] = false; + dataRow["InheritPanel"] = false; + dataRow["InheritPassword"] = false; + dataRow["InheritPort"] = false; + dataRow["InheritProtocol"] = false; + dataRow["InheritPuttySession"] = false; + dataRow["InheritRedirectDiskDrives"] = false; + dataRow["InheritRedirectKeys"] = false; + dataRow["InheritRedirectPorts"] = false; + dataRow["InheritRedirectPrinters"] = false; + dataRow["InheritRedirectSmartCards"] = false; + dataRow["InheritRedirectSound"] = false; + dataRow["InheritResolution"] = false; + dataRow["InheritAutomaticResize"] = false; + dataRow["InheritUseConsoleSession"] = false; + dataRow["InheritUseCredSsp"] = false; + dataRow["InheritRenderingEngine"] = false; + dataRow["InheritUsername"] = false; + dataRow["InheritICAEncryptionStrength"] = false; + dataRow["InheritRDPAuthenticationLevel"] = false; + dataRow["InheritLoadBalanceInfo"] = false; + dataRow["InheritPreExtApp"] = false; + dataRow["InheritPostExtApp"] = false; + dataRow["InheritMacAddress"] = false; + dataRow["InheritUserField"] = false; + dataRow["InheritExtApp"] = false; + dataRow["InheritVNCCompression"] = false; + dataRow["InheritVNCEncoding"] = false; + dataRow["InheritVNCAuthMode"] = false; + dataRow["InheritVNCProxyType"] = false; + dataRow["InheritVNCProxyIP"] = false; + dataRow["InheritVNCProxyPort"] = false; + dataRow["InheritVNCProxyUsername"] = false; + dataRow["InheritVNCProxyPassword"] = false; + dataRow["InheritVNCColors"] = false; + dataRow["InheritVNCSmartSizeMode"] = false; + dataRow["InheritVNCViewOnly"] = false; + dataRow["InheritRDGatewayUsageMethod"] = false; + dataRow["InheritRDGatewayHostname"] = false; + dataRow["InheritRDGatewayUseConnectionCredentials"] = false; + dataRow["InheritRDGatewayUsername"] = false; + dataRow["InheritRDGatewayPassword"] = false; + dataRow["InheritRDGatewayDomain"] = false; } _dataTable.Rows.Add(dataRow); }