Files
DP44/Common/DTS.Common.Storage/TableCreation.cs
2026-04-17 14:55:32 -04:00

4106 lines
190 KiB
C#

using System;
using System.Data;
using System.Linq;
using System.Text;
namespace DTS.Common.Storage
{
public partial class DbOperations
{
// private void CreateDASTable()
// {
// var sb = new StringBuilder();
// sb.Append("CREATE TABLE [tblDAS](");
// var fields = Enum.GetValues(typeof(DAS.Fields)).Cast<DAS.Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.AppendLine(","); } else { bNeedComma = true; }
// sb.AppendFormat("[{0}] ", field.ToString());
// switch (field)
// {
// case DAS.Fields.CalDate:
// sb.Append("[datetime] NULL");
// break;
// case DAS.Fields.Channels:
// sb.Append("[int] NULL");
// break;
// case DAS.Fields.Connection:
// sb.Append("[nvarchar](50) NULL");
// break;
// case DAS.Fields.FirmwareVersion:
// sb.Append("[nvarchar](50) NULL");
// break;
// case DAS.Fields.LastModified:
// sb.Append("[datetime] NULL");
// break;
// case DAS.Fields.LastModifiedBy:
// sb.Append("[nvarchar](50) NULL");
// break;
// case DAS.Fields.LastUsed:
// sb.Append("[datetime] NULL");
// break;
// case DAS.Fields.LastUsedBy:
// sb.Append("[nvarchar](50) NULL");
// break;
// case DAS.Fields.LocalOnly:
// sb.Append("[bit] NULL");
// break;
// case DAS.Fields.MaxMemory:
// sb.Append("[bigint] NULL");
// break;
// case DAS.Fields.MaxModules:
// sb.Append("[int] NULL");
// break;
// case DAS.Fields.MaxSampleRate:
// sb.Append("[decimal](18,0) NULL");
// break;
// case DAS.Fields.MinSampleRate:
// sb.Append("[decimal](18,0) NULL");
// break;
// case DAS.Fields.Position:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case DAS.Fields.Reconfigurable:
// sb.Append("[bit] NOT NULL");
// break;
// case DAS.Fields.Reprogramable:
// sb.Append("[bit] NOT NULL");
// break;
// case DAS.Fields.ProtocolVersion:
// sb.Append("[int] NULL");
// break;
// case DAS.Fields.SerialNumber:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case DAS.Fields.Type:
// sb.Append("[int] NOT NULL");
// break;
// case DAS.Fields.ChannelTypes:
// sb.Append("[nvarchar](255)");
// break;
// case DAS.Fields.Version:
// sb.Append("[int] NOT NULL");
// break;
// case DAS.Fields.IsModule:
// sb.Append("[BIT]");
// break;
// default:
// throw new NotSupportedException("unkown field: " + field.ToString());
// }
// }
// sb.Append(", DbTimeStamp [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateDASChannelsTable()
// {
// var sb = new StringBuilder();
// sb.Append("CREATE TABLE [tblDASChannels](");
// var fields = Enum.GetValues(typeof(DAS.DASChannelFields)).Cast<DAS.DASChannelFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.AppendLine(","); } else { bNeedComma = true; }
// sb.AppendFormat("[{0}] ", field.ToString());
// switch (field)
// {
// case DAS.DASChannelFields.HardwareId:
// sb.Append("[nvarchar](50) NULL");
// break;
// case DAS.DASChannelFields.ChannelIdx:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.SupportedBridges:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.SupportedExcitations:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.SupportedDigitalInputModes:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.SupportedDigitalOutputModes:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.SupportedSquibFireModes:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.DASDisplayOrder:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.LocalOnly:
// sb.Append("[bit] NULL");
// break;
// case DAS.DASChannelFields.ModuleArrayIndex:
// sb.Append("[int] NULL");
// break;
// case DAS.DASChannelFields.ModuleSerialNumber:
// sb.Append("[nvarchar](16) NULL");
// break;
// default:
// throw new NotSupportedException("unkown field: " + field.ToString());
// }
// }
// sb.Append(", DbTimeStamp [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateCustomerTable()
// {
// var sql = @"CREATE TABLE [tblCustomerDetails](
// [Name] [nvarchar](255) NOT NULL PRIMARY KEY,
// [CustomerName] [nvarchar](255) NULL,
// [CustomerTestRefNumber] [nvarchar](255) NULL,
// [ProjectRefNumber] [nvarchar](255) NULL,
// [CustomerOrderNumber] [nvarchar](255) NULL,
// [CustomerCostUnit] [nvarchar](255) NULL,
// [LocalOnly] [bit] NULL,
// [LastModified] [datetime] NULL,
// [LastModifiedBy] [nvarchar](50) NULL,
// [Version] [int] NULL,
// [DBTimeStamp] [TimeStamp] NULL
//)";
// using (IDbCommand cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
private void CreateTestEngineerDetailsTable()
{
var sql = @"CREATE TABLE [tblTestEngineerDetails](
[Name] [nvarchar](255) NOT NULL PRIMARY KEY,
[TestEngineerName] [nvarchar](255) NULL,
[TestEngineerPhone] [nvarchar](255) NULL,
[TestEngineerFax] [nvarchar](255) NULL,
[TestEngineerEmail] [nvarchar](255) NULL,
[LocalOnly] [bit] NULL,
[LastModified] [datetime] NULL,
[LastModifiedBy] [nvarchar](50) NULL,
[Version] [int] NULL,
[DBTimeStamp] [TimeStamp] NULL
)";
using (IDbCommand cmd = GetSQLCommand())
{
cmd.CommandText = sql;
ExecuteCommand(cmd);
}
}
// private void CreateLabDetailsTable()
// {
// var sql = @"CREATE TABLE [tblLabratoryDetails](
// [Name] [nvarchar](255) NOT NULL PRIMARY KEY,
// [LabratoryName] [nvarchar](255) NULL,
// [LabratoryContactName] [nvarchar](255) NULL,
// [LabratoryContactPhone] [nvarchar](255) NULL,
// [LabratoryContactFax] [nvarchar](255) NULL,
// [LabratoryContactEmail] [nvarchar](255) NULL,
// [LabratoryTestRefNumber] [nvarchar](255) NULL,
// [LabratoryProjectRefNumber] [nvarchar](255) NULL,
// [LastModified] [datetime] NOT NULL,
// [LastModifiedBy] [nvarchar](50) NULL,
// [LocalOnly] [bit] NULL,
// [Version] [int] NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateVersionTable()
// {
// try
// {
// var sql = @"CREATE TABLE [tblDataPRODbVersion] ([Version] [int] NOT NULL, [Step] [int] NOT NULL, [Date] [DATETIME] NOT NULL , [Remarks] [TEXT], [UserField] [TEXT],
// PRIMARY KEY ([Version], [Step]))";
// using (var cmd = GetSQLCommand())
// {
// try
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// finally
// {
// cmd.Connection.Dispose();
// }
// }
// }
// catch (Exception ex)
// {
// APILogger.Log("Failed to create version table, ", ex);
// throw new NoDBAccessException(ex);
// }
// try
// {
// using (var cmd = GetSQLCommand())
// {
// try
// {
// var sb = new StringBuilder();
// sb.AppendFormat("INSERT INTO {0} (", VersionTable.TableName);
// var sb2 = new StringBuilder();
// sb2.Append(" VALUES(");
// var fields = Enum.GetValues(typeof(VersionTable.Fields))
// .Cast<VersionTable.Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma)
// {
// sb.Append(",");
// sb2.Append(",");
// }
// else
// {
// bNeedComma = true;
// }
// sb.Append(field.ToString());
// var key = string.Format("@{0}", field.ToString());
// sb2.Append(key);
// switch (field)
// {
// case VersionTable.Fields.Date:
// CreateParam(cmd, key, SqlDbType.DateTime, DateTime.Now);
// break;
// case VersionTable.Fields.Remarks:
// CreateParam(cmd, key, SqlDbType.Text,
// "Initial Db Upgrade");
// break;
// case VersionTable.Fields.UserField:
// CreateParam(cmd, key, SqlDbType.Text, "DataPRO System");
// break;
// case VersionTable.Fields.Version:
// CreateParam(cmd, key, SqlDbType.Int, 0);
// break;
// case VersionTable.Fields.Step:
// CreateParam(cmd, key, SqlDbType.Int, 0);
// break;
// default:
// throw new NotSupportedException("DbOperations::CreateVersionTable unknown field: " +
// field.ToString());
// }
// }
// sb.Append(")");
// sb2.Append(")");
// sb.Append(sb2);
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// finally
// {
// cmd.Connection.Dispose();
// }
// }
// }
// catch (Exception ex) { APILogger.Log(ex); }
// }
// private void CreateTableVersionsTable()
// {
// var sql = @"CREATE TABLE [tblDbTableVersions](
// [DatabaseTable] [varchar](50) NOT NULL PRIMARY KEY,
// [ProtocolVersion] [int] NOT NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateSquibsTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", Squib.Table);
// var fields = Enum.GetValues(typeof(Squib.Fields)).Cast<Squib.Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.AppendLine(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}] ", field.ToString());
// switch (field)
// {
// case Squib.Fields.ArticleId:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case Squib.Fields.BypassCurrentFilter:
// sb.Append("[bit] NOT NULL");
// break;
// case Squib.Fields.BypassVoltageFilter:
// sb.Append("[bit] NOT NULL");
// break;
// case Squib.Fields.DelayMS:
// sb.Append("[float] NOT NULL");
// break;
// case Squib.Fields.DurationMS:
// sb.Append("[float] NOT NULL");
// break;
// case Squib.Fields.FireMode:
// sb.Append("[smallint] NOT NULL");
// break;
// case Squib.Fields.ISOCode:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case Squib.Fields.LastModified:
// sb.Append("[datetime] NOT NULL");
// break;
// case Squib.Fields.LastModifiedBy:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case Squib.Fields.LimitDuration:
// sb.Append("[bit] NOT NULL");
// break;
// case Squib.Fields.LocalOnly:
// sb.Append("[bit] NOT NULL");
// break;
// case Squib.Fields.MeasurementType:
// sb.Append("[smallint] NOT NULL");
// break;
// case Squib.Fields.SquibDescription:
// sb.Append("[nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case Squib.Fields.SquibOutputCurrent:
// sb.Append("[float] NOT NULL");
// break;
// case Squib.Fields.SquibToleranceHigh:
// sb.Append("[float] NOT NULL");
// break;
// case Squib.Fields.SquibToleranceLow:
// sb.Append("[float] NOT NULL");
// break;
// case Squib.Fields.Version:
// sb.Append("[int] NOT NULL");
// break;
// case Squib.Fields.UserValue1:
// sb.Append("[nvarchar](200)");
// break;
// case Squib.Fields.UserValue2:
// sb.Append("[nvarchar](200)");
// break;
// case Squib.Fields.UserValue3:
// sb.Append("[nvarchar](200)");
// break;
// case Squib.Fields.UserTags:
// sb.Append("[BLOB]");
// break;
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.AppendFormat(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateTOMSTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", DigitalOutputSettings.Table);
// var fields = Enum.GetValues(typeof(DigitalOutputSettings.Fields)).Cast<DigitalOutputSettings.Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.AppendLine(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}] ", field.ToString());
// switch (field)
// {
// case DigitalOutputSettings.Fields.ChannelDescription:
// sb.Append("[nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case DigitalOutputSettings.Fields.DelayMS:
// sb.Append("[float] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.DurationMS:
// sb.Append("[smallint] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.DurationMSFloat:
// sb.Append("[float] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.LastModified:
// sb.Append("[datetime] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.LastModifiedBy:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case DigitalOutputSettings.Fields.LimitDuration:
// sb.Append("[bit] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.LocalOnly:
// sb.Append("[bit] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.OutputMode:
// sb.Append("[smallint] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.Version:
// sb.Append("[int] NOT NULL");
// break;
// case DigitalOutputSettings.Fields.UserTags:
// sb.Append("[BLOB] NULL");
// break;
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestObjectTemplatesTable()
// {
// var sql = @"CREATE TABLE [tblTestObjectTemplates](
// [TemplateName] [nvarchar](255) NOT NULL,
// [Icon] [nvarchar](50) NULL,
// [Description] [nvarchar](50) NULL,
// [LocalOnly] [bit] NULL,
// [Version] [int] NULL,
// [LastModifiedBy] [nvarchar](50) NULL,
// [CRC32] [int] NULL,
// [TestObject] [nvarchar](255) NOT NULL,
// [TestObjectType] [nvarchar](255) NULL,
// [LastModified] [datetime] NULL,
// [ParentTemplate] [nvarchar](50) NULL,
// [SysBuilt] [bit] NULL,
// [OrigTemplateName] [nvarchar](255) NULL,
// [Embedded] [BIT] NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestSensorsTable()
// {
// var sql = @"CREATE TABLE [tblTestObjectSensors](
// [TestObjectId] [nvarchar](255) NOT NULL,
// [UIChannelID] [nvarchar](255) NOT NULL,
// [SensorId] [nvarchar](50) NOT NULL,
// [ZoneId] [nvarchar](50) NULL,
// [LocalOnly] [bit] NULL,
// [HardwareId] [nvarchar](255) NULL,
// [ChannelIdx] [int] NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestObjectsTable()
// {
// var sql = @"CREATE TABLE [tblTestObjects](
// [SerialNumber] [nvarchar](255) NOT NULL PRIMARY KEY,
// [LastModifiedBy] [nvarchar](50) NOT NULL,
// [LastModified] [datetime] NOT NULL,
// [Template] [nvarchar](255) NULL,
// [LocalOnly] [bit] NULL,
// [ParentObject] [nvarchar] (255) NULL,
// [SysBuilt] [bit] NULL,
// [OrigSerialNumber] [nvarchar] (255) NULL,
// [OrigTemplate] [nvarchar] (255) NULL,
// [Embedded] [BIT] NULL,
// [DbTimeStamp] [TimeStamp] NULL)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestObjectHardwareTable()
// {
// var sql = @"CREATE TABLE [tblTestObjectHardware](
// [TestObject] [nvarchar](255) NOT NULL,
// [HardwareId] [nvarchar](255) NOT NULL,
// [LocalOnly] [bit] NULL,
// [DbTimeStamp] [TimeStamp] NULL
//) ";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateZonesTable()
// {
// var sql = @"CREATE TABLE [tblTemplateZones](
// [TemplateName] [nvarchar](255) NULL,
// [ZoneName] [nvarchar](50) NULL,
// [ZoneDescription] [nvarchar](50) NULL,
// [Picture] [nvarchar](50) NULL,
// [DbTimeStamp] [TimeStamp] NULL
//) ";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateTemplateRegionsTable()
// {
// var sql = @"CREATE TABLE [tblTemplateRegions](
// [TemplateName] [nvarchar](255) NULL,
// [RegionNumber] [int] NULL,
// [RegionName] [nvarchar](50) NULL,
// [RegionDescription] [nvarchar](50) NULL,
// [TestObject] [nvarchar](50) NULL,
// [Position] [nvarchar](50) NULL,
// [MainLocation] [nvarchar](50) NULL,
// [FineLocation1] [nvarchar](50) NULL,
// [FineLocation2] [nvarchar](50) NULL,
// [FineLocation3] [nvarchar](50) NULL,
// [PhysicalDimension] [nvarchar](50) NULL,
// [Direction] [nvarchar](50) NULL,
// [FilterClass] [nvarchar](50) NULL,
// [LocalOnly] [bit] NULL,
// [UpperLeftX] [nvarchar](50) NULL,
// [UpperLeftY] [nvarchar](50) NULL,
// [LowerRightX] [nvarchar](50) NULL,
// [LowerRightY] [nvarchar](50) NULL,
// [ZoneName] [nvarchar](50) NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateChannelsTable()
// {
// var sql = @"CREATE TABLE [tblTemplateChannels](
// [TestObjectNumber] [nvarchar](50) NULL,
// [NameOfTheChannel] [nvarchar](50) NULL,
// [LaboratoryChannelCode] [nvarchar](50) NULL,
// [CustomerChannelCode] [nvarchar](50) NULL,
// [Comments1] [nvarchar](50) NULL,
// [Location] [nvarchar](50) NULL,
// [Dimension] [nvarchar](50) NULL,
// [Direction] [nvarchar](50) NULL,
// [ChannelFrequencyClass] [nvarchar](50) NULL,
// [Unit] [nvarchar](50) NULL,
// [ReferenceSystem] [nvarchar](50) NULL,
// [TransducerType] [nvarchar](50) NULL,
// [TransducerId] [nvarchar](50) NULL,
// [PreFilterType] [nvarchar](50) NULL,
// [CutOffFrequency] [nvarchar](50) NULL,
// [ChannelAmplitudeClass] [nvarchar](50) NULL,
// [ReferenceChannel] [nvarchar](50) NULL,
// [ReferenceChannelName] [nvarchar](50) NULL,
// [DataSource] [nvarchar](50) NULL,
// [DataStatus] [nvarchar](50) NULL,
// [SamplingInterval] [nvarchar](50) NULL,
// [BitResolution] [nvarchar](50) NULL,
// [TimeOfFirstSample] [nvarchar](50) NULL,
// [NumberOfSamples] [nvarchar](50) NULL,
// [OffsetPostTest] [nvarchar](50) NULL,
// [TransducerNaturalFrequency] [nvarchar](50) NULL,
// [TransducerDampingRatio] [nvarchar](50) NULL,
// [Comments] [nvarchar](50) NULL,
// [FirstGlobalMaximumValue] [nvarchar](50) NULL,
// [TimeOfMaximumValue] [nvarchar](50) NULL,
// [FirstGlobalMinimumValue] [nvarchar](50) NULL,
// [TimeOfMinimumValue] [nvarchar](50) NULL,
// [StartOffsetInterval] [nvarchar](50) NULL,
// [EndOffsetInterval] [nvarchar](50) NULL,
// [Required] [bit] NULL,
// [LocalOnly] [bit] NULL,
// [MMEChannelId] [bigint] NULL,
// [MMEChannelType] [int] NULL,
// [TemplateName] [nvarchar](50) NULL,
// [DisplayOrder] [int] NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateSMTable()
// {
// var sb = new StringBuilder(1000);
// sb.AppendFormat("CREATE TABLE [{0}](", SensorDB.SensorModelsTable);
// var bNeedComma = false;
// var fields = Enum.GetValues(typeof(SensorDB.SensorModelFields)).Cast<SensorDB.SensorModelFields>().ToArray();
// foreach (var field in fields)
// {
// switch (field)
// {
// case SensorDB.SensorModelFields.Bridge:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [smallint] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.BridgeResistance:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.CalInterval:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [int] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Capacity:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.CouplingMode:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [smallint] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.FilterClass:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// //sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.IgnoreRange:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// /*case SensorDB.SensorModelFields.InitialEU:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;*/
// case SensorDB.SensorModelFields.CheckOffset:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Invert:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.LastModified:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [datetime] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.LocalOnly:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Manufacturer:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.MeasurementUnit:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Model:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.ModifiedBy:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.NumberOfAxes:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [smallint] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Polarity:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](10) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.AxisNumber:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [smallint] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.OffsetToleranceHigh:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.OffsetToleranceLow:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.RangeAve:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.RangeHigh:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.RangeLow:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Shunt:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [smallint] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.UniPolar:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.UserPartNumber:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.Version:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [int] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.ISOCode:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](20) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.CalibrationRecord:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](255) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorModelFields.SupportedExcitation:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](255) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// default:
// throw new NotSupportedException("Unknown field for sensor model: " + field.ToString());
// }
// }
// if (bNeedComma) { sb.Append(",\n"); }
// sb.Append(" [InitialEU] [float]");
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateCalTable()
// {
// var sb = new StringBuilder(1000);
// sb.AppendFormat("CREATE TABLE [{0}] (\n", SensorDB.SensorCalibrationTable);
// var fields = Enum.GetValues(typeof(SensorDB.SensorCalibrationFields)).Cast<SensorDB.SensorCalibrationFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// switch (field)
// {
// case SensorDB.SensorCalibrationFields.CalibrationDate:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [datetime] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// /** moved to calibration records field
// case SensorDB.SensorCalibrationFields.Excitation:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// */
// case SensorDB.SensorCalibrationFields.LocalOnly:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// /** moved to calibration fields
// case SensorDB.SensorCalibrationFields.MeasurementUnit:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// */
// /** moved to calibration fields
// case SensorDB.SensorCalibrationFields.Poly:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// */
// /** moved to calibration fields
// case SensorDB.SensorCalibrationFields.Sensitivity:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// */
// case SensorDB.SensorCalibrationFields.SerialNumber:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.Username:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.CalibrationRecords:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](255) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.ModifyDate:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [datetime] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.NonLinear:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.CertificationDocuments:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](2048) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.RemoveOffset:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.IsProportional:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [bit] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.ZeroMethod:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](255) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// case SensorDB.SensorCalibrationFields.InitialOffset:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [nvarchar](50) NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// default:
// throw new NotSupportedException("DbOperations::CreateCalTable unknown field " + field.ToString());
// /** eliminated, not used
// case SensorDB.SensorCalibrationFields.ZMO:
// if (bNeedComma) { sb.Append(",\n"); }
// sb.AppendFormat(" [{0}] [float] NOT NULL", field.ToString());
// bNeedComma = true;
// break;
// */
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
//private void CreateMMEPossibleChannelsTable()
//{
// StringBuilder sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEPossibleChannelsTable);
// MMETables.MMEPossibleChannelsFields[] fields = Enum.GetValues(typeof(MMETables.MMEPossibleChannelsFields)).Cast<
// MMETables.MMEPossibleChannelsFields>().ToArray();
// bool bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEPossibleChannelsFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.DEFAULT_FILTER_CLASS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.DIRECTION:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.FINE_LOC_1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.FINE_LOC_2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.FINE_LOC_3:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.ID:
// sb.Append(" [integer] NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEPossibleChannelsFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.PHYSICAL_DIMENSION:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.PICTURE_SHORTNAME:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.POSITION:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.TEST_OBJECT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.TEXT_L1:
// sb.Append(" [nvarchar](100) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.TEXT_L2:
// sb.Append(" [nvarchar](100) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.TRANS_MAIN_LOC:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.TYPE:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPossibleChannelsFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
//}
// private void CreateMMEDirectionTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEDirectionsTable);
// var fields = Enum.GetValues(typeof(MMETables.MMEDirectionsFields)).Cast<
// MMETables.MMEDirectionsFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEDirectionsFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEDirectionsFields.DIRECTION:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEDirectionsFields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEDirectionsFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEDirectionsFields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEDirectionsFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEFilterClassesTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEFilterClassesTable);
// var fields = Enum.GetValues(typeof(MMETables.MMEFilterClassesFields)).Cast<
// MMETables.MMEFilterClassesFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEFilterClassesFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFilterClassesFields.FILTER_CLASS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEFilterClassesFields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFilterClassesFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEFilterClassesFields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFilterClassesFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEFineLocations1Table()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEFineLocations1Table);
// var fields = Enum.GetValues(typeof(MMETables.MMEFineLocations1Fields)).Cast<
// MMETables.MMEFineLocations1Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEFineLocations1Fields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFineLocations1Fields.FINE_LOC_1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEFineLocations1Fields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFineLocations1Fields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEFineLocations1Fields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations1Fields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEFineLocations2Table()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEFineLocations2Table);
// var fields = Enum.GetValues(typeof(MMETables.MMEFineLocations2Fields)).Cast<
// MMETables.MMEFineLocations2Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEFineLocations2Fields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFineLocations2Fields.FINE_LOC_2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEFineLocations2Fields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFineLocations2Fields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEFineLocations2Fields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations2Fields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEFineLocations3Table()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEFineLocations3Table);
// var fields = Enum.GetValues(typeof(MMETables.MMEFineLocations3Fields)).Cast<
// MMETables.MMEFineLocations3Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEFineLocations3Fields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFineLocations3Fields.FINE_LOC_3:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEFineLocations3Fields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEFineLocations3Fields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.PICTURE_SHORTNAME:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEFineLocations3Fields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEFineLocations3Fields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEPhysicalDimensionsTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEPhysicalDimensions);
// var fields = Enum.GetValues(typeof(MMETables.MMEPhysicalDimensionFields)).Cast<
// MMETables.MMEPhysicalDimensionFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEPhysicalDimensionFields.AMOUNT_OFSUBSTANCE_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.DEFAULT_UNIT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.ELECTRIC_CURRENT_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.LENGTH_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.LUMINOUS_INTENSITY_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.MASS_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.PHYSICAL_DIMENSION:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEPhysicalDimensionFields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.TEMPERATURE_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.TEXT_L1:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.TEXT_L2:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.TIME_EXP:
// sb.Append(" [int] NULL");
// break;
// case MMETables.MMEPhysicalDimensionFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEPositionsTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEPositionsTable);
// var fields = Enum.GetValues(typeof(MMETables.MMEPositionsFields)).Cast<
// MMETables.MMEPositionsFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEPositionsFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEPositionsFields.POSITION:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEPositionsFields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEPositionsFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEPositionsFields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMEPositionsFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMETestObjectsTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMETestObjectsTable);
// var fields = Enum.GetValues(typeof(MMETables.MMETestObjectsFields)).Cast<
// MMETables.MMETestObjectsFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMETestObjectsFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMETestObjectsFields.TEST_OBJECT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMETestObjectsFields.HISTORY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMETestObjectsFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.REMARKS:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMETestObjectsFields.SORTKEY:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.TEXT_L1:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.TEXT_L2:
// sb.Append(" [nvarchar](50) NULL");
// break;
// case MMETables.MMETestObjectsFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateMMEMainLocationsTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", MMETables.MMEMainLocationTable);
// var fields = Enum.GetValues(typeof(MMETables.MMEMainLocationsFields)).Cast<
// MMETables.MMEMainLocationsFields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.Append(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}]", field.ToString());
// switch (field)
// {
// case MMETables.MMEMainLocationsFields.DATE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEMainLocationsFields.EXPIRED:
// sb.Append(" [bit] NULL");
// break;
// case MMETables.MMEMainLocationsFields.HISTORY:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.LAST_CHANGE:
// sb.Append(" [datetime] NULL");
// break;
// case MMETables.MMEMainLocationsFields.LAST_CHANGE_TEXT:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.PICTURE_SHORTNAME:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.REMARKS:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.s_GUID:
// sb.Append(" [nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case MMETables.MMEMainLocationsFields.SORTKEY:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.TEXT_L1:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.TEXT_L2:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.TRANS_MAIN_LOC:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.TYPE:
// sb.Append(" [nvarchar] (50) NULL");
// break;
// case MMETables.MMEMainLocationsFields.VERSION:
// sb.Append(" [int] NULL");
// break;
// default:
// throw new NotSupportedException("unknown field: " + field.ToString());
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestSetupsTable()
// {
// var sb = new StringBuilder();
// sb.AppendFormat("CREATE TABLE [{0}](", TestSetups.TestSetupsTable);
// var fields = Enum.GetValues(typeof(TestSetups.Fields)).Cast<TestSetups.Fields>().ToArray();
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.AppendFormat(",\r\n"); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}] ", field.ToString());
// switch (field)
// {
// case TestSetups.Fields.AllowMissingSensors:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.AllowSensorIdToBlankChannel:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.AutomaticProgressionDelayMS:
// sb.Append("[int] NOT NULL");
// break;
// case TestSetups.Fields.AutomaticTestProgression:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.AutoVerifyChannels:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.CommonStatusLine:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.UploadData:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.UploadDataFolder:
// sb.Append("[nvarchar](150) NOT NULL");
// break;
// case TestSetups.Fields.CustomerDetails:
// sb.Append("[nvarchar](50)");
// break;
// case TestSetups.Fields.DownloadAll:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.DownloadFolder:
// sb.Append("[nvarchar](150) NOT NULL");
// break;
// case TestSetups.Fields.Export:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ExportFolder:
// sb.Append("[nvarchar](150) NOT NULL");
// break;
// case TestSetups.Fields.ExportFormat:
// sb.Append("[bigint] NOT NULL");
// break;
// case TestSetups.Fields.InvertStart:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.TriggerCheckRealtime:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.TriggerCheckStep:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.PostTestDiagnostics:
// sb.Append("[int] NOT NULL");
// break;
// case TestSetups.Fields.InvertTrigger:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.LabDetails:
// sb.Append("[nvarchar](50)");
// break;
// case TestSetups.Fields.LastModified:
// sb.Append("[datetime] NOT NULL");
// break;
// case TestSetups.Fields.LastModifiedBy:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case TestSetups.Fields.LocalOnly:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.PostTriggerSeconds:
// sb.Append("[float] NOT NULL");
// break;
// case TestSetups.Fields.PreTriggerSeconds:
// sb.Append("[float] NOT NULL");
// break;
// case TestSetups.Fields.RealtimePlotCount:
// sb.Append("[smallint] NOT NULL");
// break;
// case TestSetups.Fields.RecordingMode:
// sb.Append("[smallint] NOT NULL");
// break;
// case TestSetups.Fields.RequireConfirmationOnErrors:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ROIDownload:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ROIEnd:
// sb.Append("[float] NOT NULL");
// break;
// case TestSetups.Fields.ROIStart:
// sb.Append("[float] NOT NULL");
// break;
// case TestSetups.Fields.SameAsDownloadFolder:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.SamplesPerSecond:
// sb.Append("[float] NOT NULL");
// break;
// case TestSetups.Fields.SetupDescription:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case TestSetups.Fields.SetupName:
// sb.Append("[nvarchar](50) NOT NULL PRIMARY KEY");
// break;
// case TestSetups.Fields.Settings:
// sb.Append("[nvarchar](255) NOT NULL");
// break;
// case TestSetups.Fields.StrictDiagnostics:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.UseCustomerDetails:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.TurnOffExcitation:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.UseLabDetails:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.VerifyChannels:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.VerifyChannelsDelayMS:
// sb.Append("[int] NOT NULL");
// break;
// case TestSetups.Fields.ViewDiagnostics:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ViewDownloadAll:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ViewRealtime:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ViewROIDownload:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.WarnOnBatteryFail:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.Dirty:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.Complete:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.ErrorMessage:
// sb.Append("[nvarchar](255)");
// break;
// case TestSetups.Fields.TestEngineerDetails:
// sb.Append("[nvarchar](50)");
// break;
// case TestSetups.Fields.UseTestEngineerDetails:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.UserTags:
// sb.AppendFormat("[blob] NULL");
// break;
// case TestSetups.Fields.DoAutoArm:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.Fields.CheckoutMode:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.QuitTestWithoutWarning:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.NotAllChannelsViewer:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.NotAllChannelsRealTime:
// sb.Append("[bit] NULL");
// break;
// case TestSetups.Fields.ISFFile:
// sb.Append("[NVARCHAR](4000) NULL");
// break;
// case TestSetups.Fields.SuppressMissingSensorsWarning:
// sb.Append("[bit] NULL");
// break;
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.Append(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestObjectChannelSettings()
// {
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [tblTestObjectChannelSettings](
// [TestObjectSerial] [nvarchar](255) NOT NULL,
// [ChannelId] [nvarchar](255) NOT NULL,
// [Setting] [nvarchar](255) NULL,
// [SensorSerial] [nvarchar](255) NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// Connection.ExecuteCommand(cmd);
// }
// }
// private void CreateTestChannelSettings()
// {
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [tblTestChannelSettings](
// [TestName] [nvarchar](255) NOT NULL,
// [TestObjectName] [nvarchar](255) NOT NULL,
// [ChannelId] [nvarchar](255) NOT NULL,
// [Setting] [nvarchar](255) NULL,
// [SensorSerial] [nvarchar](255) NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// Connection.ExecuteCommand(cmd);
// }
// }
// private void CreateTestObjectMetaDataTable()
// {
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [tblTestSetupObjectMetaData](
// [SetupName] [nvarchar](255) NOT NULL,
// [TestObject] [char](1) NOT NULL,
// [PropName] [nvarchar](255) NOT NULL,
// [PropValue] [nvarchar](255) NOT NULL,
// [Optional] [bit] NOT NULL,
// [Version] [float] NOT NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// Connection.ExecuteCommand(cmd);
// }
// }
// private void CreateTestTestObjectsTable()
// {
// var sb = new StringBuilder();
// var fields = Enum.GetValues(typeof(TestSetups.TestSetupObjectFields)).Cast<TestSetups.TestSetupObjectFields>().ToArray();
// sb.AppendFormat("create TABLE [{0}](", TestSetups.TestSetupObjectsTable);
// var bNeedComma = false;
// foreach (var field in fields)
// {
// if (bNeedComma) { sb.AppendLine(","); }
// else { bNeedComma = true; }
// sb.AppendFormat("[{0}] ", field.ToString());
// switch (field)
// {
// case TestSetups.TestSetupObjectFields.ExcitationWarmupTimeMS:
// sb.Append("[int] NOT NULL");
// break;
// case TestSetups.TestSetupObjectFields.LocalOnly:
// sb.Append("[bit] NOT NULL");
// break;
// case TestSetups.TestSetupObjectFields.TargetSampleRate:
// sb.AppendFormat("[float] NOT NULL");
// break;
// case TestSetups.TestSetupObjectFields.TestObjectPosition:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// /*case TestSetups.TestSetupObjectFields.TestObjectFilterClass:
// sb.Append("[nvarchar](50) NOT NULL");
// break;*/
// case TestSetups.TestSetupObjectFields.TestObjectName:
// sb.Append("[nvarchar](255) NOT NULL");
// break;
// case TestSetups.TestSetupObjectFields.TestObjectType:
// sb.Append("[nvarchar](50) NOT NULL");
// break;
// case TestSetups.TestSetupObjectFields.TestSetupName:
// sb.Append("[nvarchar](255) NOT NULL");
// break;
// }
// }
// sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
// sb.AppendFormat(")");
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sb.ToString();
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestSetupDASSettingsTable()
// {
// var sql = @"create TABLE [tblTestSetupDASSettings](
// [DASSerialNumber] [nvarchar](50) NOT NULL,
// [TestSetupName] [nvarchar](50) NOT NULL,
// [TargetSampleRate] [float] NOT NULL,
// [ExcitationWarmupTimeMS] [int] NOT NULL,
// [AAFilterRate] [float] NOT NULL,
// [PreTriggerSeconds] [float] NOT NULL,
// [PostTriggerSeconds] [float] NOT NULL,
// [StatusLineCheck] [bit] NOT NULL,
// [BatteryCheck] [bit] NOT NULL,
// [InputVoltageMin] [float] NOT NULL,
// [InputVoltageMax] [float] NOT NULL,
// [BatteryVoltageMin] [float] NOT NULL,
// [BatteryVoltageMax] [float] NOT NULL,
// [LocalOnly] [bit] NOT NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateTestSetupGraphsTable()
// {
// var sql = @"create TABLE [tblTestGraphs](
// [GraphName] [nvarchar](50) NOT NULL,
// [GraphDescription] [nvarchar](50) NOT NULL,
// [TemplateName] [nvarchar](255) NOT NULL,
// [Channels] [nvarchar](2048) NOT NULL,
// [UseDomainMin] [bit] NOT NULL,
// [DomainMin] [float] NOT NULL,
// [UseDomainMax] [bit] NOT NULL,
// [DomainMax] [float] NOT NULL,
// [UseRangeMin] [bit] NOT NULL,
// [RangeMin] [float] NOT NULL,
// [UseRangeMax] [bit] NOT NULL,
// [RangeMax] [float] NOT NULL,
// [Thresholds] [nvarchar](2048) NOT NULL,
// [LocalOnly] [bit] NOT NULL,
// [DbTimeStamp] [TimeStamp] NULL
//)";
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = sql;
// ExecuteCommand(cmd);
// }
// }
// private void CreateUsersTable()
// {
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [DataPROUsers] (
// [ID] integer PRIMARY KEY AUTOINCREMENT NOT NULL,
// [UserName] nvarchar(50) NOT NULL COLLATE NOCASE,
// [DisplayName] nvarchar(50) NOT NULL COLLATE NOCASE,
// [Password] nvarchar(2048) NOT NULL COLLATE NOCASE,
// [Role] smallint NOT NULL,
// [LastModified] datetime NOT NULL,
// [LastModifiedBy] nvarchar(50) NOT NULL COLLATE NOCASE,
// [LocalOnly] bit NOT NULL
//)";
// Connection.ExecuteCommand(cmd);
// }
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [UIItems] (
// [ID] integer PRIMARY KEY AUTOINCREMENT NOT NULL,
// [NAME] nvarchar NOT NULL COLLATE NOCASE
//)";
// Connection.ExecuteCommand(cmd);
// }
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [UserUIItemSettings] (
// [UserID] integer NOT NULL,
// [UIItemID] integer NOT NULL,
// [Permission] smallint NOT NULL,
// [Visible] bit NOT NULL
//)";
// Connection.ExecuteCommand(cmd);
// }
// using (var cmd = GetSQLCommand())
// {
// cmd.CommandText = @"CREATE TABLE [LastUsedHardware] (
// [UserID] integer NOT NULL,
// [HardwareID] nvarchar NOT NULL COLLATE NOCASE
//)";
// Connection.ExecuteCommand(cmd);
// }
// }
public void CreateTagsTable()
{
if (_usingMSSQL)
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [dbo].[tblTags](
[TagId] [int] IDENTITY(1,1) NOT NULL,
[TagText] [nvarchar](255) NOT NULL,
[Obsolete] [bit] NOT NULL,
[DbTimeStamp] [timestamp] NULL,
CONSTRAINT [PK_tblTags] PRIMARY KEY CLUSTERED
(
[TagId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]";
ExecuteCommand(cmd);
}
finally
{
cmd.Connection.Dispose();
}
}
}
else
{
using (var cmd = GetCommand())
{
try
{
var sb = new StringBuilder();
sb.Append("CREATE TABLE ");
sb.Append(Tags.Table);
sb.Append(" (\"");
sb.Append(Tags.TagFields.TagId.ToString());
sb.Append("\" INTEGER PRIMARY KEY, \"");
sb.Append(Tags.TagFields.TagText.ToString());
sb.Append("\" NVCHAR(255) NOT NULL, \"");
sb.Append(Tags.TagFields.Obsolete.ToString());
sb.Append("\" BIT NOT NULL DEFAULT 0 ,");
sb.Append("[DbTimeStamp] [TimeStamp] NULL");
sb.Append(")");
cmd.CommandText = sb.ToString();
ExecuteCommand(cmd);
}
finally
{
cmd.Connection.Dispose();
}
}
}
using (var cmd = GetSQLCommand())
{
cmd.CommandText = @"CREATE TABLE [TagAssignments] (
[ObjectID] integer NOT NULL,Creat
[ObjectType] smallint NOT NULL,
[TagID] integer NOT NULL
,
FOREIGN KEY ([TagID])
REFERENCES [tblTags]([TagId])
)";
Connection.ExecuteCommand(cmd);
}
}
/// <summary>
/// creates a test setup hardware table for overriding the hardware in a test.
/// by default the test setup will contain hardware from all groups in the test,
/// however this table lets you remove or add hardware from what would be in that list ...
/// WARNING, IF YOU MODIFY THIS TABLE, GO BACK AND CHANGE MigrateVersion24, which should migrate
/// the db to be that table as it is right now (before your changes)
/// </summary>
public void CreateTestSetupHardwareTable()
{
using (var cmd = GetSQLCommand())
{
var sb = new StringBuilder();
var fields = Enum.GetValues(typeof(TestSetups.HardwareFields)).Cast<TestSetups.HardwareFields>().ToArray();
sb.AppendFormat("CREATE TABLE {0} (", TestSetups.HardwareTable);
var bNeedComma = false;
foreach (var field in fields)
{
if (bNeedComma) { sb.Append(","); }
else { bNeedComma = true; }
sb.Append(field.ToString());
switch (field)
{
case TestSetups.HardwareFields.AddOrRemove:
sb.Append(" BIT NOT NULL");
break;
case TestSetups.HardwareFields.HardwareId:
sb.Append(" NVARCHAR(255) NOT NULL");
break;
case TestSetups.HardwareFields.TestSetupName:
sb.Append(" NVARCHAR(255) NOT NULL");
break;
}
}
sb.Append(", [DbTimeStamp] [TimeStamp] NULL");
sb.Append(")");
cmd.CommandText = sb.ToString();
Connection.ExecuteCommand(cmd);
}
}
public void CreateDigitalInputsTable()
{
using (var cmd = GetSQLCommand())
{
cmd.CommandText = "CREATE TABLE tblDigitalInputSetting (\"SettingName\" NVARCHAR(50) PRIMARY KEY NOT NULL , \"SettingMode\" INTEGER NOT NULL , \"ScaleMultiplier\" NVARCHAR(50) NOT NULL, \"LastModified\" DateTime NOT NULL, \"LastModifiedBy\" NVARCHAR(50) NOT NULL, \"SensorId\" NVARCHAR(50) NOT NULL, \"UserValue1\" NVARCHAR(255) NULL, \"UserValue2\" NVARCHAR(255) NULL, \"UserValue3\" NVARCHAR(255) NULL, \"UserTags\" [blob] NULL, [DbTimeStamp] [TimeStamp] NULL)";
ExecuteCommand(cmd);
}
}
private void CreateSG5_PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 18;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "A1J4";
var maxMemory = 16106127360;
var maxModules = 6;
var maxSampleRate = 120000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var serialNumber = DAS.SG5_PROTOTYPE;
var type = 28;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
false,
false,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var supportedBridges = 12;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 16;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
false,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
public void CreateDigitalInputsTableV1()
{
using (var cmd = GetSQLCommand())
{
cmd.CommandText = "CREATE TABLE tblDigitalInputSetting (\"SettingName\" NVARCHAR(50) PRIMARY KEY NOT NULL , \"SettingMode\" INTEGER NOT NULL , \"ScaleMultiplier\" NVARCHAR(50) NOT NULL )";
ExecuteCommand(cmd);
}
}
public void CreateSettingsTable()
{
using (var cmd = GetSQLCommand())
{
var sb = new StringBuilder();
sb.Append("CREATE TABLE ");
sb.Append(Settings.Table);
sb.Append(" (\"");
sb.Append(Settings.UserFields.PropertyId.ToString());
sb.Append("\" NVARCHAR(255) NOT NULL, \"");
sb.Append(Settings.UserFields.PropertyType.ToString());
sb.Append("\" INTEGER NOT NULL, \"");
sb.Append(Settings.UserFields.PropertyValue.ToString());
sb.Append("\" NVARCHAR(255) NOT NULL, \"");
sb.Append(Settings.UserFields.UserId.ToString());
sb.Append("\" NVARCHAR(255) NOT NULL,");
sb.Append("[DbTimeStamp] [TimeStamp] NULL");
sb.Append(")");
cmd.CommandText = sb.ToString();
ExecuteCommand(cmd);
}
}
public void CreateCalculatedChannelsTable()
{
using (var sql = GetCommand())
{
try
{
var sb = new StringBuilder();
sb.Append("CREATE TABLE ");
sb.Append(CalculatedChannels.Table);
sb.Append(" (");
var fields = Enum.GetValues(typeof(CalculatedChannels.Fields)).Cast<CalculatedChannels.Fields>().ToArray();
var bNeedComma = false;
foreach (var field in fields)
{
if (bNeedComma)
{
sb.Append(", ");
}
else
{
bNeedComma = true;
}
sb.AppendFormat("[{0}] ", field.ToString());
var fieldType = DbTypeAttr.GetDbType(field);
if (_usingMSSQL)
{
switch (field)
{
case CalculatedChannels.Fields.InputChannelIds:
fieldType = "VARBINARY(MAX)";
break;
case CalculatedChannels.Fields.Id:
fieldType = "[int] IDENTITY(1,1) PRIMARY KEY NOT NULL";
break;
}
}
sb.Append(fieldType);
}
sb.Append(",[DbTimeStamp] [TimeStamp] NULL");
sb.Append(")");
sql.CommandText = sb.ToString();
//Connection.ExecuteCommand(sql);
if (_usingMSSQL)
{
Connection.ExecuteCommand(sql);
}
else
{
Connection.ExecuteSQLiteCommand(sql);
}
}
finally
{
sql.Connection.Dispose();
}
}
}
public void CreateLevelTriggersTable()
{
using (var sql = GetCommand())
{
var sb = new StringBuilder();
sb.Append("CREATE TABLE ");
sb.Append(LevelTriggers.Table);
sb.Append(" (");
var fields = Enum.GetValues(typeof(LevelTriggers.Fields)).Cast<LevelTriggers.Fields>().ToArray();
var bNeedComma = false;
foreach (var field in fields)
{
if (bNeedComma) { sb.Append(", "); }
else { bNeedComma = true; }
sb.AppendFormat("[{0}] ", field.ToString());
sb.Append(DbTypeAttr.GetDbType(field));
}
sb.Append(",[DbTimeStamp] [TimeStamp] NULL");
sb.Append(")");
sql.CommandText = sb.ToString();
if (_usingMSSQL)
{
Connection.ExecuteCommand(sql);
}
else
{
Connection.ExecuteSQLiteCommand(sql);
}
}
}
private void CreateSLICE2_SLTPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 16;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "D0D7";
long maxMemory = 907367754;
var maxModules = 8;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICEPROSLT_PROTOTYPE;
var type = 29;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < 8; i++)
{
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localonly = false;
var supportedBridges = 32;
var supportedDigitalOutputModes = 0;
var supportedDigitalInputModes = 16;
var supportedExcitations = 16;
var supportedSquibFireModes = 7;
CreateDASChannelEntry(channelIdx, dasDisplayOrder, hardwareId, localonly, supportedBridges, supportedDigitalInputModes, supportedDigitalOutputModes,
supportedExcitations, supportedSquibFireModes, 0);
}
for (var i = 8; i < 16; i++)
{
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localonly = false;
var supportedBridges = 64;
var supportedDigitalOutputModes = 10;
var supportedDigitalInputModes = 16;
var supportedExcitations = 16;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx, dasDisplayOrder, hardwareId, localonly, supportedBridges, supportedDigitalInputModes, supportedDigitalOutputModes,
supportedExcitations, supportedSquibFireModes, 0);
}
}
private void CreateSLICE2_TOMPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 16;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "D0D7";
long maxMemory = 907367754;
var maxModules = 8;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICEPROTOM_PROTOTYPE;
var type = 21;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < 8; i++)
{
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localonly = false;
var supportedBridges = 32;
var supportedDigitalOutputModes = 0;
var supportedDigitalInputModes = 16;
var supportedExcitations = 16;
var supportedSquibFireModes = 7;
CreateDASChannelEntry(channelIdx, dasDisplayOrder, hardwareId, localonly, supportedBridges, supportedDigitalInputModes, supportedDigitalOutputModes,
supportedExcitations, supportedSquibFireModes, 0);
}
for (var i = 8; i < 16; i++)
{
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localonly = false;
var supportedBridges = 64;
var supportedDigitalOutputModes = 10;
var supportedDigitalInputModes = 16;
var supportedExcitations = 16;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx, dasDisplayOrder, hardwareId, localonly, supportedBridges, supportedDigitalInputModes, supportedDigitalOutputModes,
supportedExcitations, supportedSquibFireModes, 0);
}
}
private void CreateSLICE2_DIMPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 18;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "A1J4";
var maxMemory = 16106127360;
var maxModules = 6;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICEPRODIM_PROTOTYPE;
var type = 20;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = (1 << 4);
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 50;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
private void CreateSLICE2_SLDPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 18;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "A1J4";
var maxMemory = 16106127360;
var maxModules = 6;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICEPROSLD_PROTOTYPE;
var type = 30;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = (1 << 4);
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 50;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
private void CreateSLICE2_SIMPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 18;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "A1J4";
var maxMemory = 16106127360;
var maxModules = 6;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICEPROSIM_PROTOTYPE;
var type = 19;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 15;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 50;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
private void CreateSLICE2_SLSPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 18;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "A1J4";
var maxMemory = 16106127360;
var maxModules = 6;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICEPROSLS_PROTOTYPE;
var type = 27;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 15;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 50;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
private void CreateSLICE6_PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 6;
var connection = "";
var channelTypesString = "0,0,0,0,0,0";
var firmware = "00A1";
long maxMemory = 1360003054;
var maxModules = 2;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 200000D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICE6_PROTOTYPE;
var type = 32;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 8;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 50;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
private const int MODULEARRAYINDEXVERSION = 9;
private void CreateDASChannelEntry(int channelIdx,
int dasDisplayOrder,
string hardwareId,
bool localOnly,
int supportedBridges,
int supportedDigitalInputModes,
int supportedDigitalOutputModes,
int supportedExcitations,
int supportedSquibFireModes,
int moduleArrayIndex)
{
try
{
using (var cmd = GetCommand())
{
try
{
var sb = new StringBuilder();
var sb2 = new StringBuilder();
var fields = Enum.GetValues(typeof(DAS.DASChannelFields))
.Cast<DAS.DASChannelFields>().ToArray();
var bNeedComma = false;
sb.AppendFormat("INSERT INTO [{0}] (", DAS.TableDASChannels);
sb2.Append(" VALUES (");
foreach (var field in fields)
{
var key = string.Format("@{0}", field.ToString());
switch (field)
{
case DAS.DASChannelFields.ChannelIdx:
CreateParam(cmd, key, SqlDbType.Int, channelIdx);
break;
case DAS.DASChannelFields.DASDisplayOrder:
CreateParam(cmd, key, SqlDbType.Int, dasDisplayOrder);
break;
case DAS.DASChannelFields.HardwareId:
CreateParam(cmd, key, SqlDbType.NVarChar, hardwareId);
break;
case DAS.DASChannelFields.LocalOnly:
CreateParam(cmd, key, SqlDbType.Bit, localOnly);
break;
case DAS.DASChannelFields.ModuleArrayIndex:
if (DbVersion > MODULEARRAYINDEXVERSION)
{
CreateParam(cmd, key, SqlDbType.Int, moduleArrayIndex);
}
else
{
continue;
}
break;
case DAS.DASChannelFields.SupportedBridges:
CreateParam(cmd, key, SqlDbType.Int, supportedBridges);
break;
case DAS.DASChannelFields.SupportedDigitalInputModes:
CreateParam(cmd, key, SqlDbType.Int, supportedDigitalInputModes);
break;
case DAS.DASChannelFields.SupportedDigitalOutputModes:
CreateParam(cmd, key, SqlDbType.Int, supportedDigitalOutputModes);
break;
case DAS.DASChannelFields.SupportedExcitations:
CreateParam(cmd, key, SqlDbType.Int, supportedExcitations);
break;
case DAS.DASChannelFields.SupportedSquibFireModes:
CreateParam(cmd, key, SqlDbType.Int, supportedSquibFireModes);
break;
case DAS.DASChannelFields.ModuleSerialNumber:
CreateParam(cmd, key, SqlDbType.NVarChar, "");
break;
default: continue;
}
if (bNeedComma)
{
sb.Append(",");
sb2.Append(",");
}
else
{
bNeedComma = true;
}
sb.Append(field.ToString());
sb2.Append(key);
}
sb.Append(")");
sb2.Append(")");
sb.Append(sb2.ToString());
cmd.CommandText = sb.ToString();
//ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
catch (Exception) { }
}
private void CreateDummyDASEntry(DateTime calDate,
int channels,
string channelTypes,
string connection,
string firmware,
long maxMemory,
int maxModules,
double maxSampleRate,
double minSampleRate,
string position,
int protocolVersion,
bool reconfigurable,
bool reprogrammable,
string serialNumber,
int type,
int version
)
{
var isModule = false;
try
{
using (var cmd = GetCommand())
{
try
{
var sb = new StringBuilder();
var sb2 = new StringBuilder();
var fields = Enum.GetValues(typeof(DAS.Fields)).Cast<DAS.Fields>().ToArray();
var bNeedComma = false;
sb.AppendFormat("INSERT INTO [{0}] (", DAS.Table);
sb2.Append(" VALUES (");
foreach (var field in fields)
{
if (field == DAS.Fields.IsModule && DbVersion < 27)
{
continue;
} //don't have this field yet!
var key = string.Format("@{0}", field.ToString());
switch (field)
{
case DAS.Fields.CalDate:
CreateParam(cmd, key, SqlDbType.DateTime, calDate);
break;
case DAS.Fields.Channels:
CreateParam(cmd, key, SqlDbType.Int, channels);
break;
case DAS.Fields.ChannelTypes:
CreateParam(cmd, key, SqlDbType.NVarChar, channelTypes);
break;
case DAS.Fields.Connection:
CreateParam(cmd, key, SqlDbType.NVarChar, connection);
break;
case DAS.Fields.FirmwareVersion:
CreateParam(cmd, key, SqlDbType.NVarChar, firmware);
break;
case DAS.Fields.LastModified:
CreateParam(cmd, key, SqlDbType.DateTime, DateTime.Now);
break;
case DAS.Fields.LastModifiedBy:
CreateParam(cmd, key, SqlDbType.NVarChar, "DATAPRO_SYSTEM");
break;
case DAS.Fields.LastUsed:
CreateParam(cmd, key, SqlDbType.DateTime,
(DateTime)System.Data.SqlTypes.SqlDateTime.MinValue);
break;
case DAS.Fields.LastUsedBy:
CreateParam(cmd, key, SqlDbType.NVarChar, "");
break;
case DAS.Fields.LocalOnly:
CreateParam(cmd, key, SqlDbType.Bit, false);
break;
case DAS.Fields.MaxMemory:
CreateParam(cmd, key, SqlDbType.BigInt, maxMemory);
break;
case DAS.Fields.MaxModules:
CreateParam(cmd, key, SqlDbType.Int, maxModules);
break;
case DAS.Fields.MaxSampleRate:
CreateParam(cmd, key, SqlDbType.Decimal, maxSampleRate);
break;
case DAS.Fields.MinSampleRate:
CreateParam(cmd, key, SqlDbType.Decimal, minSampleRate);
break;
case DAS.Fields.Position:
CreateParam(cmd, key, SqlDbType.NVarChar, position);
break;
case DAS.Fields.ProtocolVersion:
CreateParam(cmd, key, SqlDbType.Int, protocolVersion);
break;
case DAS.Fields.Reconfigurable:
CreateParam(cmd, key, SqlDbType.Bit, reconfigurable);
break;
case DAS.Fields.IsModule:
CreateParam(cmd, key, SqlDbType.Bit, isModule);
break;
case DAS.Fields.Reprogramable:
CreateParam(cmd, key, SqlDbType.Bit, reprogrammable);
break;
case DAS.Fields.SerialNumber:
CreateParam(cmd, key, SqlDbType.NVarChar, serialNumber);
break;
case DAS.Fields.Type:
CreateParam(cmd, key, SqlDbType.Int, type);
break;
case DAS.Fields.Version:
CreateParam(cmd, key, SqlDbType.Int, version);
break;
default:
continue;
}
if (bNeedComma)
{
sb.Append(",");
sb2.Append(",");
}
else
{
bNeedComma = true;
}
sb.Append(field.ToString());
sb2.Append(key);
}
sb2.Append(")");
sb.AppendFormat(") {0}", sb2.ToString());
cmd.CommandText = sb.ToString();
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
catch (Exception) { }
}
private void CreateTDASPro_4MRackPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "08D7";
long maxMemory = 0;
var maxModules = 4;
double maxSampleRate = 61000;
var minSampleRate = 50D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.TDASPRO_4MRack;
var type = 3;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateTDASPro_LabRackPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "08D7";
long maxMemory = 0;
var maxModules = 6;
double maxSampleRate = 61000;
var minSampleRate = 50D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.TDASPRO_LabRack;
var type = 31;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateTDASPro_8MRackPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "08D7";
long maxMemory = 0;
var maxModules = 8;
double maxSampleRate = 61000;
var minSampleRate = 50D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.TDASPRO_8MRack;
var type = 3;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateECM_PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "192.168.0.10";
var channelTypesString = "";
var firmware = "00A8";
long maxMemory = 0;
var maxModules = 0;
var maxSampleRate = 4294967295D;
double minSampleRate = 0;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 4;
var reconfigurable = false;
var reprogramable = false;
var serialNumber = DAS.ECM_PROTOTYPE;
var type = 24;
var version = 1;
CreateDummyDASEntry(caldate, channels, channelTypesString, connection, firmware, maxMemory, maxModules,
maxSampleRate, minSampleRate, position, protocolVersion, reconfigurable, reprogramable, serialNumber, type, version);
}
private void CreateSLICE6Db_PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "192.168.0.10";
var channelTypesString = "";
var firmware = "00A0";
var maxMemory = 0L;
var maxModules = 0;
var maxSampleRate = 4294967295D;
var minSampleRate = 0D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogramable = false;
var serialNumber = DAS.SLICE6DB_PROTOTYPE;
var type = 33;
var version = 1;
CreateDummyDASEntry(caldate, channels, channelTypesString, connection, firmware, maxMemory, maxModules,
maxSampleRate, minSampleRate, position, protocolVersion, reconfigurable, reprogramable, serialNumber, type, version);
}
private void CreateSLE_PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "192.168.2.10";
var channelTypesString = "";
var firmware = "00A8";
long maxMemory = 0;
var maxModules = 0;
var maxSampleRate = 4294967295D;
double minSampleRate = 0;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 4;
var reconfigurable = false;
var reprogramable = false;
var serialNumber = DAS.SLE_PROTOTYPE;
var type = 26;
var version = 1;
CreateDummyDASEntry(caldate, channels, channelTypesString, connection, firmware, maxMemory, maxModules,
maxSampleRate, minSampleRate, position, protocolVersion, reconfigurable, reprogramable, serialNumber, type, version);
}
private void CreateSDB_PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "192.168.1.208";
var channelTypesString = "";
var firmware = "00A6";
long maxMemory = 0;
var maxModules = 0;
var maxSampleRate = 4294967295D;
double minSampleRate = 0;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 4;
var reconfigurable = false;
var reprogramable = false;
var serialNumber = DAS.SDB_PROTOTYPE;
var type = 2;
var version = 1;
CreateDummyDASEntry(caldate, channels, channelTypesString, connection, firmware, maxMemory, maxModules,
maxSampleRate, minSampleRate, position, protocolVersion, reconfigurable, reprogramable, serialNumber, type, version);
}
private void CreateTDAS_G5PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 48;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "01U5";
long maxMemory = 16000000;
var maxModules = 4;
var maxSampleRate = 100000D;
var minSampleRate = 50D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.G5_VDSPROTOTYPE;
var type = 12;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
//first 32 channels are analog
for (var i = 0; i < 32; i++)
{
var moduleIndex = i / 8;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 12;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 18;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
//digital channels
for (var i = 32; i < 48; i++)
{
var moduleIndex = i / 8;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 16;
var supportedDigitalInputModes = 8;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 16;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
private void CreateTDAS_G5IPortPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 48;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "01U5";
long maxMemory = 16000000;
var maxModules = 4;
var maxSampleRate = 100000D;
var minSampleRate = 50D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.G5_IPORTPROTOTYPE;
var type = 22;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
//first 32 channels are analog
for (var i = 0; i < 32; i++)
{
var moduleIndex = i / 8;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 12;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 16;//only supports 5V
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
//no digital channels
}
private void CreateTDAS_G5InDummyPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 32;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "01U5";
long maxMemory = 16000000;
var maxModules = 4;
var maxSampleRate = 100000D;
var minSampleRate = 50D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.G5_INDUMMYPROTOTYPE;
var type = 23;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
//first 32 channels are analog
for (var i = 0; i < 32; i++)
{
var moduleIndex = i / 8;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 12;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 16;//only supports 5V
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
//no digital channels
}
private void CreateSLICE_15PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "B1A7";
long maxMemory = 1353711597;
var maxModules = 7;
var maxSampleRate = 400000D;
var minSampleRate = 100D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICE1_5PROTOTYPE;
var type = 16;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateSLICE_15MicroPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "B1A7";
long maxMemory = 1353711597;
var maxModules = 7;
var maxSampleRate = 400000D;
var minSampleRate = 100D;
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 1;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICE1_5_MicroPROTOTYPE;
var type = 25;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateSLICE_MicroPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "00M3";
long maxMemory = 8000000;
var maxModules = 8;
var maxSampleRate = 100000D;//18 channel configuration
var minSampleRate = 50D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 9;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.Slice_MicroPROTOTYPE;
var type = 17;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateSLICE_NanoPrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "00M3";
long maxMemory = 8000000;
var maxModules = 8;
var maxSampleRate = 100000D;//18 channel configuration
var minSampleRate = 50D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 9;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.Slice_NanoPROTOTYPE;
var type = 18;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateSLICE_1PrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 0;
var connection = "";
var channelTypesString = "";
var firmware = "00M3";
long maxMemory = 8000000;
var maxModules = 8;
var maxSampleRate = 100000D;//18 channel configuration
var minSampleRate = 50D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 9;
var reconfigurable = false;
var reprogrammable = false;
var serialNumber = DAS.SLICE1_PROTOTYPE;
var type = 0;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
}
private void CreateSlice2_BasePrototypeHardware()
{
var caldate = new DateTime(1970, 1, 1);
var channels = 18;
var connection = "";
var channelTypesString = "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
var firmware = "A1J4";
var maxMemory = 16106127360;
var maxModules = 6;
var maxSampleRate = 600000D;//18 channel configuration
var minSampleRate = 100D;//couldn't find any documentation for this, so made up a number :/
var position = DAS.PROTOTYPE_POSITION;
var protocolVersion = 145;
var reconfigurable = true;
var reprogrammable = true;
var serialNumber = DAS.SLICEPRO_PROTOTYPE;
var type = 8;
var version = 1;
CreateDummyDASEntry(caldate,
channels,
channelTypesString,
connection,
firmware,
maxMemory,
maxModules,
maxSampleRate,
minSampleRate,
position,
protocolVersion,
reconfigurable,
reprogrammable,
serialNumber,
type,
version
);
for (var i = 0; i < channels; i++)
{
var moduleIndex = i / 3;
var channelIdx = i;
var dasDisplayOrder = -1;
var hardwareId = string.Format("{0}_{1}", serialNumber, type);
var localOnly = false;
var supportedBridges = 15;
var supportedDigitalInputModes = 30;
var supportedDigitalOutputModes = 10;
var supportedExcitations = 50;
var supportedSquibFireModes = 1;
CreateDASChannelEntry(channelIdx,
dasDisplayOrder,
hardwareId,
localOnly,
supportedBridges,
supportedDigitalInputModes,
supportedDigitalOutputModes,
supportedExcitations,
supportedSquibFireModes,
moduleIndex);
}
}
// ReSharper disable once InconsistentNaming
/// <summary>
/// creates the users table for MS SQL
/// there are differences for MS SQL and SQLite for keys and indices, but as we want to go with MS SQL in the future we should create this table
/// properly
/// </summary>
private void CreateDataPROUsersTableMSSQL()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [dbo].[DataPROUsers](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [nvarchar](50) NOT NULL,
[DisplayName] [nvarchar](50) NOT NULL,
[Password] [nvarchar](2048) NOT NULL,
[Role] [smallint] NOT NULL,
[LastModified] [datetime] NOT NULL,
[LastModifiedBy] [nvarchar](50) NOT NULL,
[LocalOnly] [bit] NOT NULL,
CONSTRAINT [PK_DataPROUsers] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"CREATE UNIQUE NONCLUSTERED INDEX [IX_DataPROUsers_UserName] ON [dbo].[DataPROUsers]
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
// ReSharper disable once InconsistentNaming
private void CreateLastUsedHardwareTablesMSSQL()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [dbo].[LastUsedHardware](
[UserID] [int] NOT NULL,
[HardwareID] [nvarchar](50) NOT NULL
) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[LastUsedHardware] WITH CHECK ADD CONSTRAINT [FK_LastUsedHardware_DataPROUsers] FOREIGN KEY([UserID])
REFERENCES [dbo].[DataPROUsers] ([ID])";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[LastUsedHardware] CHECK CONSTRAINT [FK_LastUsedHardware_DataPROUsers]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
// ReSharper disable once InconsistentNaming
private void CreateUIItemsTablesMSSQL()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [dbo].[UIItems](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[NAME] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_UIItems] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText = @"CREATE TABLE [dbo].[UserUIItemSettings](
[UserID] [int] NOT NULL,
[UIItemID] [bigint] NOT NULL,
[Permission] [smallint] NOT NULL,
[Visible] [bit] NOT NULL
) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText = @"CREATE UNIQUE NONCLUSTERED INDEX [IX_UIItems_NAME] ON [dbo].[UIItems]
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText = @"CREATE NONCLUSTERED INDEX [IX_UserUIItemSettings] ON [dbo].[UserUIItemSettings]
(
[UserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[UserUIItemSettings] WITH CHECK ADD CONSTRAINT [FK_UserUIItemSettings_DataPROUsers] FOREIGN KEY([UserID])
REFERENCES [dbo].[DataPROUsers] ([ID])";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[UserUIItemSettings] CHECK CONSTRAINT [FK_UserUIItemSettings_DataPROUsers]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[UserUIItemSettings] WITH CHECK ADD CONSTRAINT [FK_UserUIItemSettings_UIItems] FOREIGN KEY([UIItemID])
REFERENCES [dbo].[UIItems] ([ID])";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[UserUIItemSettings] CHECK CONSTRAINT [FK_UserUIItemSettings_UIItems]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
// ReSharper disable once InconsistentNaming
private void CreateTagAssignmentsTableMSSQL()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [dbo].[TagAssignments](
[ObjectID] [int] NOT NULL,
[ObjectType] [smallint] NOT NULL,
[TagID] [int] NOT NULL,
CONSTRAINT [IX_TagAssignments] UNIQUE NONCLUSTERED
(
[ObjectID] ASC,
[ObjectType] ASC,
[TagID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[TagAssignments] WITH CHECK ADD CONSTRAINT [FK_TagAssignments_tblTags] FOREIGN KEY([TagID])
REFERENCES [dbo].[tblTags] ([TagId])";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
cmd.CommandText =
@"ALTER TABLE [dbo].[TagAssignments] CHECK CONSTRAINT [FK_TagAssignments_tblTags]";
//Connection.ExecuteCommand(cmd);
if (_usingMSSQL)
{
ExecuteCommand(cmd);
}
else
{
ExecuteSQLiteCommand(cmd);
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
private void CreateDataPROUsersTableSQLLite()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [DataPROUsers] (
[ID] integer PRIMARY KEY AUTOINCREMENT NOT NULL,
[UserName] nvarchar(50) NOT NULL COLLATE NOCASE,
[DisplayName] nvarchar(50) NOT NULL COLLATE NOCASE,
[Password] nvarchar(2048) NOT NULL COLLATE NOCASE,
[Role] smallint NOT NULL,
[LastModified] datetime NOT NULL,
[LastModifiedBy] nvarchar(50) NOT NULL COLLATE NOCASE,
[LocalOnly] bit NOT NULL
)";
//Connection.ExecuteCommand(cmd);
ExecuteSQLiteCommand(cmd);
}
finally
{
cmd.Connection.Dispose();
}
}
}
private void CreateLastUsedHardwareTablesSQLLite()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [LastUsedHardware] (
[UserID] integer NOT NULL,
[HardwareID] nvarchar NOT NULL COLLATE NOCASE
)";
//Connection.ExecuteCommand(cmd);
ExecuteSQLiteCommand(cmd);
}
finally
{
cmd.Connection.Dispose();
}
}
}
private void CreateUIItemsTableSQLLite()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [UIItems] (
[ID] integer PRIMARY KEY AUTOINCREMENT NOT NULL,
[NAME] nvarchar NOT NULL COLLATE NOCASE
)";
//Connection.ExecuteCommand(cmd);
ExecuteSQLiteCommand(cmd);
cmd.CommandText = @"CREATE TABLE [UserUIItemSettings] (
[UserID] integer NOT NULL,
[UIItemID] integer NOT NULL,
[Permission] smallint NOT NULL,
[Visible] bit NOT NULL
)";
//Connection.ExecuteCommand(cmd);
ExecuteSQLiteCommand(cmd);
}
finally
{
cmd.Connection.Dispose();
}
}
}
private void CreateTagAssignmentsTableSQLLite()
{
using (var cmd = GetCommand())
{
try
{
cmd.CommandText = @"CREATE TABLE [TagAssignments] (
[ObjectID] integer NOT NULL,
[ObjectType] smallint NOT NULL,
[TagID] integer NOT NULL
,
FOREIGN KEY ([TagID])
REFERENCES [tblTags]([TagId])
)";
//Connection.ExecuteCommand(cmd);
ExecuteSQLiteCommand(cmd);
}
finally
{
cmd.Connection.Dispose();
}
}
}
}
}