Enforce column data types

This commit is contained in:
David Sparer
2016-09-30 15:31:46 -06:00
parent 4b90b259a8
commit 5f40bab9c5

View File

@@ -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);
}