init
This commit is contained in:
1
DataPRO/DASFactoryDb/.svn/entries
Normal file
1
DataPRO/DASFactoryDb/.svn/entries
Normal file
@@ -0,0 +1 @@
|
||||
12
|
||||
1
DataPRO/DASFactoryDb/.svn/format
Normal file
1
DataPRO/DASFactoryDb/.svn/format
Normal file
@@ -0,0 +1 @@
|
||||
12
|
||||
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{49C60032-9C8A-4EA5-9E26-2F1663555759}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DASFactoryDb</RootNamespace>
|
||||
<AssemblyName>DASFactoryDb</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ARM\ARM.cs" />
|
||||
<Compile Include="Config\Config.cs" />
|
||||
<Compile Include="DAS\DAS.cs" />
|
||||
<Compile Include="DbWrapper.cs" />
|
||||
<Compile Include="Diagnostics\Diagnostics.cs" />
|
||||
<Compile Include="Download\Download.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Common\DTS.Common\DTS.Common.csproj">
|
||||
<Project>{f7a0804f-61a4-40ae-83d0-f1137622b592}</Project>
|
||||
<Name>DTS.Common</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,89 @@
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb.ARM
|
||||
{
|
||||
public static class ARM
|
||||
{
|
||||
public static void SetArmStatus(int iDASRecordId,
|
||||
bool isArmed,
|
||||
bool isTriggered,
|
||||
bool isTriggerShorted,
|
||||
bool isStartShorted,
|
||||
bool isRecording,
|
||||
bool isFaulted,
|
||||
bool isInRealtime,
|
||||
bool isInFlashWrite,
|
||||
bool isUndefined,
|
||||
bool isInPostTestDiagnostics,
|
||||
double timeRemainingSeconds,
|
||||
double percentComplete,
|
||||
ulong totalSamples,
|
||||
ulong currentSample,
|
||||
uint sampleRate,
|
||||
double? inputMilliVolts,
|
||||
double? batteryMilliVolts,
|
||||
int? eventNumber,
|
||||
int recordingMode,
|
||||
string faultMessage,
|
||||
bool isRearming,
|
||||
bool hasBeenRecording,
|
||||
double? timeLeftInArm
|
||||
)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_ArmStatusSet";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int) { Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsArmed", SqlDbType.Bit) { Value = isArmed });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsTriggered", SqlDbType.Bit) { Value = isTriggered });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsTriggerShorted", SqlDbType.Bit) { Value = isTriggerShorted });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsStartShorted", SqlDbType.Bit) { Value = isStartShorted });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsRecording", SqlDbType.Bit) { Value = isRecording });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsFaulted", SqlDbType.Bit) { Value = isFaulted });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsInRealtime", SqlDbType.Bit) { Value = isInRealtime });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsInFlashWrite", SqlDbType.Bit) { Value = isInFlashWrite });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsUndefined", SqlDbType.Bit) { Value = isUndefined });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsInPostTestDiagnostics", SqlDbType.Bit) { Value = isInPostTestDiagnostics });
|
||||
cmd.Parameters.Add(new SqlParameter("@TimeRemainingSeconds", SqlDbType.Decimal) { Value = timeRemainingSeconds });
|
||||
cmd.Parameters.Add(new SqlParameter("@PercentComplete", SqlDbType.Decimal) { Value = percentComplete });
|
||||
cmd.Parameters.Add(new SqlParameter("@TotalSamples", SqlDbType.Int) { Value = totalSamples });
|
||||
cmd.Parameters.Add(new SqlParameter("@CurrentSample", SqlDbType.Int) { Value = currentSample });
|
||||
cmd.Parameters.Add(new SqlParameter("@SampleRate", SqlDbType.Int) { Value = sampleRate });
|
||||
cmd.Parameters.Add(new SqlParameter("@InputMillivolts", SqlDbType.Decimal) { Value = inputMilliVolts ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@BatteryMilliVolts", SqlDbType.Decimal) { Value = batteryMilliVolts ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber.HasValue ? eventNumber.Value : 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@RecordingMode", SqlDbType.Int) { Value = recordingMode });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultMessage", SqlDbType.NVarChar) { Value = faultMessage ?? "" });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsRearming", SqlDbType.Bit) { Value = isRearming });
|
||||
cmd.Parameters.Add(new SqlParameter("@HasBeenRecording", SqlDbType.Bit) { Value = hasBeenRecording });
|
||||
cmd.Parameters.Add(new SqlParameter("@TimeLeftInArm", SqlDbType.Decimal) { Value = timeLeftInArm ?? 0 });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("DASFactoryDb")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("DASFactoryDb")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("49c60032-9c8a-4ea5-9e26-2f1663555759")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
|
||||
namespace DASFactoryDb.Config
|
||||
{
|
||||
public static class Config
|
||||
{
|
||||
public static int DASInfoInsert(int iDASRecordId, string macAddress, int owningDASId,
|
||||
uint maxNumberOfModules, ulong? maxEventStorageSpaceInBytes, ulong? numberOfBytesPerSampleClock,
|
||||
string batteryId, DateTime? calibrationDate)
|
||||
{
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DASInfoInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@MACAddress", SqlDbType.NVarChar, 50) { Value = macAddress ?? string.Empty });
|
||||
cmd.Parameters.Add(new SqlParameter("@OwningDAS", SqlDbType.Int) { Value = owningDASId });
|
||||
cmd.Parameters.Add(new SqlParameter("@MaxNumberOfModules", SqlDbType.Int)
|
||||
{ Value = maxNumberOfModules });
|
||||
cmd.Parameters.Add(new SqlParameter("@MaxEventStorageSpaceInBytes", SqlDbType.Int) { Value = maxEventStorageSpaceInBytes ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@NumberOfBytesPerSampleClock", SqlDbType.Int)
|
||||
{ Value = numberOfBytesPerSampleClock ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@BatteryID", SqlDbType.NVarChar) { Value = batteryId });
|
||||
var date = calibrationDate ?? DateTime.MinValue;
|
||||
if (date < ((DateTime)SqlDateTime.MinValue))
|
||||
{
|
||||
date = (DateTime)SqlDateTime.MinValue;
|
||||
}
|
||||
cmd.Parameters.Add(new SqlParameter("@CalibrationDate", SqlDbType.DateTime)
|
||||
{ Value = date });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
return Convert.ToInt32(newId.Value);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void DASInfoClear(int iDASRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DASInfoClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void SetConfiguration(int iDASRecordId,
|
||||
string xml,
|
||||
int fileStore
|
||||
)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_ConfigDataSet";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@ConfigurationData", SqlDbType.VarBinary)
|
||||
{ Value = Encoding.UTF8.GetBytes(xml) });
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@ConfigStore", SqlDbType.Int)
|
||||
{ Value = fileStore });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,579 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
|
||||
namespace DASFactoryDb.Download
|
||||
{
|
||||
public static class Download
|
||||
{
|
||||
/// <summary>
|
||||
/// clears all existing download status for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingEventDownloadStatus(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventDownloadStatusClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears all arm attempts for a given data recorder
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingEventArmAttempts(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventArmAttemptsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing event fault flags for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingFaultFlags(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventFaultFlagsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing event info for a given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingDownloadReports(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DownloadReportClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// clears any existing event guids for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingEventGuids(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventGuidsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing download requests in the db for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingDownloadRequests(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DownloadRequestsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertEventFaultFlags(int iDASRecordId, ushort faultFlag)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventFaultFlagsInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultFlag", SqlDbType.SmallInt)
|
||||
{ Value = faultFlag });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_Id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertEventArmAttempts(int iDASRecordId, int armAttempts)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventArmAttemptsInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@ArmAttempts", SqlDbType.SmallInt)
|
||||
{ Value = armAttempts });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertEventInfo(int iDASRecordId,
|
||||
int eventNumber,
|
||||
Guid testGUID,
|
||||
ushort faultFlags,
|
||||
int armAttempts,
|
||||
DateTime testTime,
|
||||
string testID,
|
||||
string description,
|
||||
bool hasBeenDownloaded,
|
||||
bool wasTriggered,
|
||||
string xml)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventInfoInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@TestGuid", SqlDbType.NVarChar, 50)
|
||||
{ Value = testGUID.ToString().ToUpper() });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultFlags", SqlDbType.SmallInt)
|
||||
{ Value = faultFlags });
|
||||
cmd.Parameters.Add(new SqlParameter("@ArmAttempts", SqlDbType.Int)
|
||||
{ Value = armAttempts });
|
||||
|
||||
if (DateTime.MinValue.Equals(testTime))
|
||||
{
|
||||
testTime = (DateTime)SqlDateTime.MinValue;
|
||||
}
|
||||
cmd.Parameters.Add(new SqlParameter("@TestTime", SqlDbType.DateTime)
|
||||
{ Value = testTime });
|
||||
cmd.Parameters.Add(new SqlParameter("@TestId", SqlDbType.NVarChar)
|
||||
{ Value = testID });
|
||||
cmd.Parameters.Add(new SqlParameter("@Description", SqlDbType.NVarChar)
|
||||
{ Value = description });
|
||||
cmd.Parameters.Add(new SqlParameter("@HasBeenDownloaded", SqlDbType.Bit)
|
||||
{ Value = hasBeenDownloaded });
|
||||
cmd.Parameters.Add(new SqlParameter("WasTriggered", SqlDbType.Bit)
|
||||
{ Value = wasTriggered });
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@Modules", SqlDbType.VarBinary)
|
||||
{
|
||||
Value = Encoding.UTF8.GetBytes(xml)
|
||||
});
|
||||
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertEventDownloadStatus(int iDASRecordId, bool downloadStatus)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventDownloadStatusInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@Downloaded", SqlDbType.Bit)
|
||||
{ Value = downloadStatus });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void DownloadRequestInsert(int iDASRecordId,
|
||||
ushort eventNumber,
|
||||
int dasChannelNumber,
|
||||
ulong startSample,
|
||||
ulong endSample,
|
||||
ulong samplesToSkip,
|
||||
double startRecordTimeStampSec,
|
||||
double triggerTimeStampSec,
|
||||
double startRecordTimeStampNanoSec,
|
||||
double triggerTimestampNanoSec,
|
||||
bool PTPMasterSync)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DownloadRequestsInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.SmallInt)
|
||||
{ Value = eventNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int)
|
||||
{ Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@StartSample", SqlDbType.Int)
|
||||
{ Value = startSample });
|
||||
cmd.Parameters.Add(new SqlParameter("@EndSample", SqlDbType.Int)
|
||||
{ Value = endSample });
|
||||
cmd.Parameters.Add(new SqlParameter("@SamplesToSkip", SqlDbType.Int)
|
||||
{ Value = samplesToSkip });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@StartRecordTimeStampSec", SqlDbType.Decimal)
|
||||
{ Value = startRecordTimeStampSec });
|
||||
cmd.Parameters.Add(new SqlParameter("@TriggerTimestampSec", SqlDbType.Decimal)
|
||||
{ Value = triggerTimeStampSec });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@StartRecordTimestampNanoSec", SqlDbType.Decimal)
|
||||
{ Value = startRecordTimeStampSec });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@TriggerTimestampNanoSec", SqlDbType.Decimal)
|
||||
{ Value = triggerTimestampNanoSec });
|
||||
cmd.Parameters.Add(new SqlParameter("@PTPMasterSync", SqlDbType.Bit)
|
||||
{ Value = PTPMasterSync });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void UARTDownloadRequestInsert(
|
||||
int iDASRecordId,
|
||||
ushort eventNumber,
|
||||
ulong totalByteCount,
|
||||
ulong triggerByteCount,
|
||||
ulong faultByteCount,
|
||||
ulong startTimestamp,
|
||||
ulong endTimestamp,
|
||||
int baudRate)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_UARTDownloadRequestsInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.SmallInt)
|
||||
{ Value = eventNumber });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@TotalByteCount", SqlDbType.Decimal)
|
||||
{ Value = totalByteCount });
|
||||
cmd.Parameters.Add(new SqlParameter("@TriggerByteCount", SqlDbType.Decimal)
|
||||
{ Value = triggerByteCount });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultByteCount", SqlDbType.Decimal)
|
||||
{ Value = faultByteCount });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@StartTimestamp", SqlDbType.Decimal)
|
||||
{ Value = startTimestamp });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@EndTimestamp", SqlDbType.Decimal) { Value = endTimestamp });
|
||||
cmd.Parameters.Add(new SqlParameter("@BaudRate", SqlDbType.Int) { Value = baudRate });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing download requests in the db for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingUARTDownloadRequests(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_UARTDownloadRequestsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void EventGuidInsert(int iDASRecordId, Guid guid)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventGuidsInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@Guid", SqlDbType.NVarChar, 50)
|
||||
{ Value = guid.ToString().ToUpper() });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_Id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,349 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb.Diagnostics
|
||||
{
|
||||
public static class Diagnostics
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// clears all diagnostic actions for all channels for a given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearDiagnosticActionsAllChannels(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticActionsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int)
|
||||
{ Value = null });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertDiagnosticAction(int dasRecordId,
|
||||
int dasChannelNumber,
|
||||
bool measureExcitation,
|
||||
bool measureOffset,
|
||||
bool checkDigitalState,
|
||||
bool measureInternalOffset,
|
||||
bool removeOffset,
|
||||
bool measureNoise,
|
||||
bool performShuntCheck,
|
||||
bool squibFireCheck,
|
||||
bool performVoltageInsertCheck,
|
||||
bool performCalSignalCheck,
|
||||
bool measureBridgeResistance
|
||||
)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsActionsInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = dasRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@MeasureExcitation", SqlDbType.Bit) { Value = measureExcitation });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureOffset", SqlDbType.Bit) { Value = measureOffset });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@CheckDigitalState", SqlDbType.Bit) { Value = checkDigitalState });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureInternalOffset", SqlDbType.Bit)
|
||||
{ Value = measureInternalOffset });
|
||||
cmd.Parameters.Add(new SqlParameter("@RemoveOffset", SqlDbType.Bit) { Value = removeOffset });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureNoise", SqlDbType.Bit) { Value = measureNoise });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@PerformShuntCheck", SqlDbType.Bit) { Value = performShuntCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireCheck", SqlDbType.Bit) { Value = squibFireCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@PerformVoltageInsertCheck", SqlDbType.Bit)
|
||||
{ Value = performVoltageInsertCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@PerformCalSignalCheck", SqlDbType.Bit)
|
||||
{ Value = performCalSignalCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureBridgeResistance", SqlDbType.Bit)
|
||||
{ Value = measureBridgeResistance });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clears all diagnostics/events results for all channels for a das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingDiagnosticsAllChannels(int idasRecordId = -1)
|
||||
{
|
||||
if (!DbWrapper.Connected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int)
|
||||
{ Value = null });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = null });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertAnalogDiagnosticResult(int iDASRecordId,
|
||||
int dasChannelNumber,
|
||||
int eventNumber,
|
||||
double scalefactorMilliVoltsPerADC,
|
||||
double expectedExcitationMilliVolts,
|
||||
double? measuredExcitationMilliVolts,
|
||||
bool negativeExcitation,
|
||||
double? measuredOffsetMilliVolts,
|
||||
double? measuredInternalOffsetMilliVolts,
|
||||
double? autoZeroPercentDeviation,
|
||||
short? finalOffsetADC,
|
||||
int? removedOffsetADC,
|
||||
int? removedInternalOffsetADC,
|
||||
double? noisePercentFullScale,
|
||||
bool shuntDeflectionFailed,
|
||||
bool calSignalCheckFailed,
|
||||
double? measuredShuntDeflectionMv,
|
||||
double? measuredCalSignalMv,
|
||||
double? targetCalSignalMv,
|
||||
double? targetGain,
|
||||
double? measuredGain,
|
||||
double? queriedGain,
|
||||
double? targetShuntDeflectionMv,
|
||||
double? bridgeResistance,
|
||||
double zeroMVInADC,
|
||||
double windowAverageADC)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsAnalogInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@ScalefactorMilliVoltsPerADC", SqlDbType.Decimal) { Value = scalefactorMilliVoltsPerADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@ExpectedExcitationMilliVolts", SqlDbType.Decimal) { Value = expectedExcitationMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredExcitationMilliVolts", SqlDbType.Decimal) { Value = measuredExcitationMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@NegativeExcitation", SqlDbType.Bit) { Value = negativeExcitation });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredOffsetMilliVolts", SqlDbType.Decimal) { Value = measuredOffsetMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredInternalOffsetMilliVolts", SqlDbType.Decimal) { Value = measuredInternalOffsetMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@AutoZeroPercentDeviation ", SqlDbType.Decimal) { Value = autoZeroPercentDeviation });
|
||||
cmd.Parameters.Add(new SqlParameter("@FinalOffsetADC", SqlDbType.SmallInt) { Value = finalOffsetADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@RemovedOffsetADC", SqlDbType.Int) { Value = removedOffsetADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@RemovedInternalOffsetADC", SqlDbType.Int) { Value = removedInternalOffsetADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@NoisePercentFullScale", SqlDbType.Decimal) { Value = noisePercentFullScale });
|
||||
cmd.Parameters.Add(new SqlParameter("@ShuntDeflectionFailed", SqlDbType.Bit) { Value = shuntDeflectionFailed });
|
||||
cmd.Parameters.Add(new SqlParameter("@CalSignalCheckFailed", SqlDbType.Bit) { Value = calSignalCheckFailed });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredShuntDeflectionMv", SqlDbType.Decimal) { Value = measuredShuntDeflectionMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredCalSignalMv", SqlDbType.Decimal) { Value = measuredCalSignalMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@TargetCalSignalMv", SqlDbType.Decimal) { Value = targetCalSignalMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@TargetGain", SqlDbType.Decimal) { Value = targetGain });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredGain", SqlDbType.Decimal) { Value = measuredGain });
|
||||
cmd.Parameters.Add(new SqlParameter("@QueriedGain", SqlDbType.Decimal) { Value = queriedGain });
|
||||
cmd.Parameters.Add(new SqlParameter("@TargetShuntDeflectionMv", SqlDbType.Decimal) { Value = targetShuntDeflectionMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@BridgeResistance", SqlDbType.Decimal) { Value = bridgeResistance });
|
||||
cmd.Parameters.Add(new SqlParameter("@ZeroMVInADC", SqlDbType.Decimal) { Value = zeroMVInADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@WINDOWAverageADC", SqlDbType.Decimal) { Value = windowAverageADC });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertSquibDiagnosticResult(int iDASRecordId,
|
||||
int dasChannelNumber,
|
||||
int eventNumber,
|
||||
double[] squibFireCurrentData,
|
||||
double[] squibFireVoltageData,
|
||||
double[] squibFireTimeAxis,
|
||||
double? measuredDurationMS,
|
||||
double? measuredDelayMS,
|
||||
bool? squibFirePassed,
|
||||
bool? squibDurationPassed,
|
||||
bool? squibDelayPassed,
|
||||
double squibThreshold,
|
||||
double squibVoltageScaler,
|
||||
double squibCurrentScaler)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
//this was firing annoying exceptions when squibFireCurrent was null ...
|
||||
if (null == squibFireCurrentData) { return; }
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsSquibInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
|
||||
var currentData = new List<byte>(8 * squibFireCurrentData.Length);
|
||||
var voltageData = new List<byte>(8 * squibFireVoltageData.Length);
|
||||
var timeAxis = new List<byte>(8 * squibFireTimeAxis.Length);
|
||||
|
||||
foreach (var d in squibFireCurrentData)
|
||||
{
|
||||
currentData.AddRange(BitConverter.GetBytes(d));
|
||||
}
|
||||
foreach (var d in squibFireVoltageData)
|
||||
{
|
||||
voltageData.AddRange(BitConverter.GetBytes(d));
|
||||
}
|
||||
foreach (var d in squibFireTimeAxis)
|
||||
{
|
||||
timeAxis.AddRange(BitConverter.GetBytes(d));
|
||||
}
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredDurationMS", SqlDbType.Decimal) { Value = measuredDurationMS });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredDelayMS", SqlDbType.Decimal) { Value = measuredDelayMS });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFirePassed", SqlDbType.Bit) { Value = squibFirePassed });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibDurationPassed", SqlDbType.Bit) { Value = squibDurationPassed });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibDelayPassed", SqlDbType.Bit) { Value = squibDelayPassed });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireCurrentData", SqlDbType.VarBinary) { Value = currentData.ToArray() });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireVoltageData", SqlDbType.VarBinary) { Value = voltageData.ToArray() });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireTimeAxis", SqlDbType.VarBinary) { Value = timeAxis.ToArray() });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibThreshold", SqlDbType.Decimal) { Value = squibThreshold });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibVoltageScaler", SqlDbType.Decimal) { Value = squibVoltageScaler });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibCurrentScaler", SqlDbType.Decimal) { Value = squibCurrentScaler });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertDigitalDiagnosticResult(int iDASRecordId,
|
||||
int dasChannelNumber,
|
||||
int eventNumber,
|
||||
bool digitalInputActiveState)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsDigitalInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@DigitalInputActiveState", SqlDbType.Bit)
|
||||
{ Value = digitalInputActiveState });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb
|
||||
{
|
||||
public partial class DbWrapper
|
||||
{
|
||||
/// <summary>
|
||||
/// For now DASFactory is always local db, but this lets us change it in the future
|
||||
/// </summary>
|
||||
public static bool _usingCentralizedDB = false;
|
||||
|
||||
/// <summary>
|
||||
/// for now since DASFactor is always local db, this is true, but this lets us change it in the future
|
||||
/// </summary>
|
||||
public static bool _usingNTLMAuthentication = true;
|
||||
/// <summary>
|
||||
/// used to passively indicate connection status, does not perform any connection checking
|
||||
/// </summary>
|
||||
public static bool Connected
|
||||
{
|
||||
get => false;
|
||||
set {; }
|
||||
}
|
||||
/// <summary>
|
||||
/// returns a DbCommand interface to the DASFactory db
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
internal static IDbCommand GetDASFactoryCommand()
|
||||
{
|
||||
var cmd = new SqlCommand();
|
||||
cmd.Connection = new SqlConnection(Connection.GetLocalDASFactoryConnectionString());
|
||||
cmd.Connection.Open();
|
||||
|
||||
return cmd;
|
||||
}
|
||||
|
||||
//public static IDbCommand GetDASFactoryCommand()
|
||||
//{
|
||||
// return GetDASFactoryCommand
|
||||
// (new SqlCommand(), new SqlConnection(Connection.GetLocalDASFactoryConnectionString()));
|
||||
//}
|
||||
|
||||
//public static IDbCommand GetDASFactoryCommand(IDbCommand dbCmd, IDbConnection dbConnection)
|
||||
//{
|
||||
// dbCmd.Connection = dbConnection;
|
||||
// dbCmd.Connection.Open();
|
||||
|
||||
// return dbCmd;
|
||||
//}
|
||||
public static DbWrapper Connection
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (dbLock)
|
||||
{
|
||||
if (null == _dbOperations) { _dbOperations = new DbWrapper(); }
|
||||
}
|
||||
return _dbOperations;
|
||||
}
|
||||
}
|
||||
private string _localDASFactoryConnection = null;
|
||||
|
||||
public void ResetLocalDASFactoryConnection()
|
||||
{
|
||||
_localDASFactoryConnection = null;
|
||||
_usingNTLMAuthentication = true;
|
||||
}
|
||||
|
||||
public string GetLocalDASFactoryConnectionString()
|
||||
{
|
||||
lock (dbLock)
|
||||
{
|
||||
if (null != _localDASFactoryConnection) return _localDASFactoryConnection;
|
||||
if (string.IsNullOrWhiteSpace(Server))
|
||||
{
|
||||
throw new Exception("Empty Server");
|
||||
}
|
||||
_localDASFactoryConnection = _usingNTLMAuthentication
|
||||
? $"Server={Server};Database=DASFactory;Trusted_Connection=TRUE;"
|
||||
: $"Server={Server};Database=DASFactory;User Id={Username};Password={Password};";
|
||||
}
|
||||
|
||||
return _localDASFactoryConnection;
|
||||
}
|
||||
|
||||
public string Server { get; set; } = null;
|
||||
|
||||
public string DBName { get; set; } = null;
|
||||
|
||||
public string Username { get; set; } = "";
|
||||
|
||||
public string Password { get; set; }
|
||||
|
||||
private static DbWrapper _dbOperations = null;
|
||||
private static readonly object dbLock = new object();
|
||||
|
||||
protected DbWrapper()
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// returns device id if in db
|
||||
/// </summary>
|
||||
/// <param name="serialNumber"></param>
|
||||
/// <returns></returns>
|
||||
public static int GetDeviceId(string serialNumber)
|
||||
{
|
||||
if (!Connected)
|
||||
{
|
||||
throw new Exception("Not connected");
|
||||
}
|
||||
|
||||
using (var cmd = GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_IDASCommunicationTableGetRecordId";
|
||||
cmd.Parameters.Add(new SqlParameter("@SerialNumber", SqlDbType.NVarChar, 50)
|
||||
{
|
||||
Value = serialNumber
|
||||
});
|
||||
var reader = cmd.ExecuteReader();
|
||||
if (reader.Read())
|
||||
{
|
||||
var id = Convert.ToInt32(reader["RecordId"]);
|
||||
return id;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static void ProcessReturn(SqlParameter errorNumber, SqlParameter errorMessage)
|
||||
{
|
||||
if (null != errorNumber)
|
||||
{
|
||||
if (0 != Convert.ToInt32(errorNumber.Value))
|
||||
{
|
||||
throw new Exception($"{errorNumber.Value}{(string)errorMessage.Value}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb.DAS
|
||||
{
|
||||
public static class DAS
|
||||
{
|
||||
public static int InsertDASSimple(string serialNumber,
|
||||
string firmwareVersion,
|
||||
string connectString)
|
||||
{
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_IDASCommunicationTableSimpleInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@SerialNumber", SqlDbType.NVarChar, 50)
|
||||
{ Value = serialNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@FirmwareVersion", SqlDbType.NVarChar, 50)
|
||||
{ Value = firmwareVersion });
|
||||
cmd.Parameters.Add(new SqlParameter("ConnectString", SqlDbType.NVarChar, 255)
|
||||
{ Value = connectString });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
return Convert.ToInt32(newId.Value);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
DataPRO/DASFactoryDb/.svn/wc.db
Normal file
BIN
DataPRO/DASFactoryDb/.svn/wc.db
Normal file
Binary file not shown.
0
DataPRO/DASFactoryDb/.svn/wc.db-journal
Normal file
0
DataPRO/DASFactoryDb/.svn/wc.db-journal
Normal file
89
DataPRO/DASFactoryDb/ARM/ARM.cs
Normal file
89
DataPRO/DASFactoryDb/ARM/ARM.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb.ARM
|
||||
{
|
||||
public static class ARM
|
||||
{
|
||||
public static void SetArmStatus(int iDASRecordId,
|
||||
bool isArmed,
|
||||
bool isTriggered,
|
||||
bool isTriggerShorted,
|
||||
bool isStartShorted,
|
||||
bool isRecording,
|
||||
bool isFaulted,
|
||||
bool isInRealtime,
|
||||
bool isInFlashWrite,
|
||||
bool isUndefined,
|
||||
bool isInPostTestDiagnostics,
|
||||
double timeRemainingSeconds,
|
||||
double percentComplete,
|
||||
ulong totalSamples,
|
||||
ulong currentSample,
|
||||
uint sampleRate,
|
||||
double? inputMilliVolts,
|
||||
double? batteryMilliVolts,
|
||||
int? eventNumber,
|
||||
int recordingMode,
|
||||
string faultMessage,
|
||||
bool isRearming,
|
||||
bool hasBeenRecording,
|
||||
double? timeLeftInArm
|
||||
)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_ArmStatusSet";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int) { Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsArmed", SqlDbType.Bit) { Value = isArmed });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsTriggered", SqlDbType.Bit) { Value = isTriggered });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsTriggerShorted", SqlDbType.Bit) { Value = isTriggerShorted });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsStartShorted", SqlDbType.Bit) { Value = isStartShorted });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsRecording", SqlDbType.Bit) { Value = isRecording });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsFaulted", SqlDbType.Bit) { Value = isFaulted });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsInRealtime", SqlDbType.Bit) { Value = isInRealtime });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsInFlashWrite", SqlDbType.Bit) { Value = isInFlashWrite });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsUndefined", SqlDbType.Bit) { Value = isUndefined });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsInPostTestDiagnostics", SqlDbType.Bit) { Value = isInPostTestDiagnostics });
|
||||
cmd.Parameters.Add(new SqlParameter("@TimeRemainingSeconds", SqlDbType.Decimal) { Value = timeRemainingSeconds });
|
||||
cmd.Parameters.Add(new SqlParameter("@PercentComplete", SqlDbType.Decimal) { Value = percentComplete });
|
||||
cmd.Parameters.Add(new SqlParameter("@TotalSamples", SqlDbType.Int) { Value = totalSamples });
|
||||
cmd.Parameters.Add(new SqlParameter("@CurrentSample", SqlDbType.Int) { Value = currentSample });
|
||||
cmd.Parameters.Add(new SqlParameter("@SampleRate", SqlDbType.Int) { Value = sampleRate });
|
||||
cmd.Parameters.Add(new SqlParameter("@InputMillivolts", SqlDbType.Decimal) { Value = inputMilliVolts ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@BatteryMilliVolts", SqlDbType.Decimal) { Value = batteryMilliVolts ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber.HasValue ? eventNumber.Value : 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@RecordingMode", SqlDbType.Int) { Value = recordingMode });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultMessage", SqlDbType.NVarChar) { Value = faultMessage ?? "" });
|
||||
cmd.Parameters.Add(new SqlParameter("@IsRearming", SqlDbType.Bit) { Value = isRearming });
|
||||
cmd.Parameters.Add(new SqlParameter("@HasBeenRecording", SqlDbType.Bit) { Value = hasBeenRecording });
|
||||
cmd.Parameters.Add(new SqlParameter("@TimeLeftInArm", SqlDbType.Decimal) { Value = timeLeftInArm ?? 0 });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
134
DataPRO/DASFactoryDb/Config/Config.cs
Normal file
134
DataPRO/DASFactoryDb/Config/Config.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
|
||||
namespace DASFactoryDb.Config
|
||||
{
|
||||
public static class Config
|
||||
{
|
||||
public static int DASInfoInsert(int iDASRecordId, string macAddress, int owningDASId,
|
||||
uint maxNumberOfModules, ulong? maxEventStorageSpaceInBytes, ulong? numberOfBytesPerSampleClock,
|
||||
string batteryId, DateTime? calibrationDate)
|
||||
{
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DASInfoInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@MACAddress", SqlDbType.NVarChar, 50) { Value = macAddress ?? string.Empty });
|
||||
cmd.Parameters.Add(new SqlParameter("@OwningDAS", SqlDbType.Int) { Value = owningDASId });
|
||||
cmd.Parameters.Add(new SqlParameter("@MaxNumberOfModules", SqlDbType.Int)
|
||||
{ Value = maxNumberOfModules });
|
||||
cmd.Parameters.Add(new SqlParameter("@MaxEventStorageSpaceInBytes", SqlDbType.Int) { Value = maxEventStorageSpaceInBytes ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@NumberOfBytesPerSampleClock", SqlDbType.Int)
|
||||
{ Value = numberOfBytesPerSampleClock ?? 0 });
|
||||
cmd.Parameters.Add(new SqlParameter("@BatteryID", SqlDbType.NVarChar) { Value = batteryId });
|
||||
var date = calibrationDate ?? DateTime.MinValue;
|
||||
if (date < ((DateTime)SqlDateTime.MinValue))
|
||||
{
|
||||
date = (DateTime)SqlDateTime.MinValue;
|
||||
}
|
||||
cmd.Parameters.Add(new SqlParameter("@CalibrationDate", SqlDbType.DateTime)
|
||||
{ Value = date });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
return Convert.ToInt32(newId.Value);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void DASInfoClear(int iDASRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DASInfoClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void SetConfiguration(int iDASRecordId,
|
||||
string xml,
|
||||
int fileStore
|
||||
)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_ConfigDataSet";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@ConfigurationData", SqlDbType.VarBinary)
|
||||
{ Value = Encoding.UTF8.GetBytes(xml) });
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@ConfigStore", SqlDbType.Int)
|
||||
{ Value = fileStore });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
48
DataPRO/DASFactoryDb/DAS/DAS.cs
Normal file
48
DataPRO/DASFactoryDb/DAS/DAS.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb.DAS
|
||||
{
|
||||
public static class DAS
|
||||
{
|
||||
public static int InsertDASSimple(string serialNumber,
|
||||
string firmwareVersion,
|
||||
string connectString)
|
||||
{
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_IDASCommunicationTableSimpleInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@SerialNumber", SqlDbType.NVarChar, 50)
|
||||
{ Value = serialNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@FirmwareVersion", SqlDbType.NVarChar, 50)
|
||||
{ Value = firmwareVersion });
|
||||
cmd.Parameters.Add(new SqlParameter("ConnectString", SqlDbType.NVarChar, 255)
|
||||
{ Value = connectString });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
return Convert.ToInt32(newId.Value);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
DataPRO/DASFactoryDb/DASFactory.mdf
Normal file
BIN
DataPRO/DASFactoryDb/DASFactory.mdf
Normal file
Binary file not shown.
83
DataPRO/DASFactoryDb/DASFactoryDb.csproj
Normal file
83
DataPRO/DASFactoryDb/DASFactoryDb.csproj
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{49C60032-9C8A-4EA5-9E26-2F1663555759}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>DASFactoryDb</RootNamespace>
|
||||
<AssemblyName>DASFactoryDb</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ARM\ARM.cs" />
|
||||
<Compile Include="Config\Config.cs" />
|
||||
<Compile Include="DAS\DAS.cs" />
|
||||
<Compile Include="DbWrapper.cs" />
|
||||
<Compile Include="Diagnostics\Diagnostics.cs" />
|
||||
<Compile Include="Download\Download.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Common\DTS.Common\DTS.Common.csproj">
|
||||
<Project>{f7a0804f-61a4-40ae-83d0-f1137622b592}</Project>
|
||||
<Name>DTS.Common</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
BIN
DataPRO/DASFactoryDb/DASFactory_log.ldf
Normal file
BIN
DataPRO/DASFactoryDb/DASFactory_log.ldf
Normal file
Binary file not shown.
150
DataPRO/DASFactoryDb/DbWrapper.cs
Normal file
150
DataPRO/DASFactoryDb/DbWrapper.cs
Normal file
@@ -0,0 +1,150 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb
|
||||
{
|
||||
public partial class DbWrapper
|
||||
{
|
||||
/// <summary>
|
||||
/// For now DASFactory is always local db, but this lets us change it in the future
|
||||
/// </summary>
|
||||
public static bool _usingCentralizedDB = false;
|
||||
|
||||
/// <summary>
|
||||
/// for now since DASFactor is always local db, this is true, but this lets us change it in the future
|
||||
/// </summary>
|
||||
public static bool _usingNTLMAuthentication = true;
|
||||
/// <summary>
|
||||
/// used to passively indicate connection status, does not perform any connection checking
|
||||
/// </summary>
|
||||
public static bool Connected
|
||||
{
|
||||
get => false;
|
||||
set {; }
|
||||
}
|
||||
/// <summary>
|
||||
/// returns a DbCommand interface to the DASFactory db
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
internal static IDbCommand GetDASFactoryCommand()
|
||||
{
|
||||
var cmd = new SqlCommand();
|
||||
cmd.Connection = new SqlConnection(Connection.GetLocalDASFactoryConnectionString());
|
||||
cmd.Connection.Open();
|
||||
|
||||
return cmd;
|
||||
}
|
||||
|
||||
//public static IDbCommand GetDASFactoryCommand()
|
||||
//{
|
||||
// return GetDASFactoryCommand
|
||||
// (new SqlCommand(), new SqlConnection(Connection.GetLocalDASFactoryConnectionString()));
|
||||
//}
|
||||
|
||||
//public static IDbCommand GetDASFactoryCommand(IDbCommand dbCmd, IDbConnection dbConnection)
|
||||
//{
|
||||
// dbCmd.Connection = dbConnection;
|
||||
// dbCmd.Connection.Open();
|
||||
|
||||
// return dbCmd;
|
||||
//}
|
||||
public static DbWrapper Connection
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (dbLock)
|
||||
{
|
||||
if (null == _dbOperations) { _dbOperations = new DbWrapper(); }
|
||||
}
|
||||
return _dbOperations;
|
||||
}
|
||||
}
|
||||
private string _localDASFactoryConnection = null;
|
||||
|
||||
public void ResetLocalDASFactoryConnection()
|
||||
{
|
||||
_localDASFactoryConnection = null;
|
||||
_usingNTLMAuthentication = true;
|
||||
}
|
||||
|
||||
public string GetLocalDASFactoryConnectionString()
|
||||
{
|
||||
lock (dbLock)
|
||||
{
|
||||
if (null != _localDASFactoryConnection) return _localDASFactoryConnection;
|
||||
if (string.IsNullOrWhiteSpace(Server))
|
||||
{
|
||||
throw new Exception("Empty Server");
|
||||
}
|
||||
_localDASFactoryConnection = _usingNTLMAuthentication
|
||||
? $"Server={Server};Database=DASFactory;Trusted_Connection=TRUE;"
|
||||
: $"Server={Server};Database=DASFactory;User Id={Username};Password={Password};";
|
||||
}
|
||||
|
||||
return _localDASFactoryConnection;
|
||||
}
|
||||
|
||||
public string Server { get; set; } = null;
|
||||
|
||||
public string DBName { get; set; } = null;
|
||||
|
||||
public string Username { get; set; } = "";
|
||||
|
||||
public string Password { get; set; }
|
||||
|
||||
private static DbWrapper _dbOperations = null;
|
||||
private static readonly object dbLock = new object();
|
||||
|
||||
protected DbWrapper()
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// returns device id if in db
|
||||
/// </summary>
|
||||
/// <param name="serialNumber"></param>
|
||||
/// <returns></returns>
|
||||
public static int GetDeviceId(string serialNumber)
|
||||
{
|
||||
if (!Connected)
|
||||
{
|
||||
throw new Exception("Not connected");
|
||||
}
|
||||
|
||||
using (var cmd = GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_IDASCommunicationTableGetRecordId";
|
||||
cmd.Parameters.Add(new SqlParameter("@SerialNumber", SqlDbType.NVarChar, 50)
|
||||
{
|
||||
Value = serialNumber
|
||||
});
|
||||
var reader = cmd.ExecuteReader();
|
||||
if (reader.Read())
|
||||
{
|
||||
var id = Convert.ToInt32(reader["RecordId"]);
|
||||
return id;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static void ProcessReturn(SqlParameter errorNumber, SqlParameter errorMessage)
|
||||
{
|
||||
if (null != errorNumber)
|
||||
{
|
||||
if (0 != Convert.ToInt32(errorNumber.Value))
|
||||
{
|
||||
throw new Exception($"{errorNumber.Value}{(string)errorMessage.Value}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
349
DataPRO/DASFactoryDb/Diagnostics/Diagnostics.cs
Normal file
349
DataPRO/DASFactoryDb/Diagnostics/Diagnostics.cs
Normal file
@@ -0,0 +1,349 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace DASFactoryDb.Diagnostics
|
||||
{
|
||||
public static class Diagnostics
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// clears all diagnostic actions for all channels for a given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearDiagnosticActionsAllChannels(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticActionsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int)
|
||||
{ Value = null });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertDiagnosticAction(int dasRecordId,
|
||||
int dasChannelNumber,
|
||||
bool measureExcitation,
|
||||
bool measureOffset,
|
||||
bool checkDigitalState,
|
||||
bool measureInternalOffset,
|
||||
bool removeOffset,
|
||||
bool measureNoise,
|
||||
bool performShuntCheck,
|
||||
bool squibFireCheck,
|
||||
bool performVoltageInsertCheck,
|
||||
bool performCalSignalCheck,
|
||||
bool measureBridgeResistance
|
||||
)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsActionsInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = dasRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@MeasureExcitation", SqlDbType.Bit) { Value = measureExcitation });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureOffset", SqlDbType.Bit) { Value = measureOffset });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@CheckDigitalState", SqlDbType.Bit) { Value = checkDigitalState });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureInternalOffset", SqlDbType.Bit)
|
||||
{ Value = measureInternalOffset });
|
||||
cmd.Parameters.Add(new SqlParameter("@RemoveOffset", SqlDbType.Bit) { Value = removeOffset });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureNoise", SqlDbType.Bit) { Value = measureNoise });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@PerformShuntCheck", SqlDbType.Bit) { Value = performShuntCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireCheck", SqlDbType.Bit) { Value = squibFireCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@PerformVoltageInsertCheck", SqlDbType.Bit)
|
||||
{ Value = performVoltageInsertCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@PerformCalSignalCheck", SqlDbType.Bit)
|
||||
{ Value = performCalSignalCheck });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasureBridgeResistance", SqlDbType.Bit)
|
||||
{ Value = measureBridgeResistance });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clears all diagnostics/events results for all channels for a das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingDiagnosticsAllChannels(int idasRecordId = -1)
|
||||
{
|
||||
if (!DbWrapper.Connected)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int)
|
||||
{ Value = null });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = null });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertAnalogDiagnosticResult(int iDASRecordId,
|
||||
int dasChannelNumber,
|
||||
int eventNumber,
|
||||
double scalefactorMilliVoltsPerADC,
|
||||
double expectedExcitationMilliVolts,
|
||||
double? measuredExcitationMilliVolts,
|
||||
bool negativeExcitation,
|
||||
double? measuredOffsetMilliVolts,
|
||||
double? measuredInternalOffsetMilliVolts,
|
||||
double? autoZeroPercentDeviation,
|
||||
short? finalOffsetADC,
|
||||
int? removedOffsetADC,
|
||||
int? removedInternalOffsetADC,
|
||||
double? noisePercentFullScale,
|
||||
bool shuntDeflectionFailed,
|
||||
bool calSignalCheckFailed,
|
||||
double? measuredShuntDeflectionMv,
|
||||
double? measuredCalSignalMv,
|
||||
double? targetCalSignalMv,
|
||||
double? targetGain,
|
||||
double? measuredGain,
|
||||
double? queriedGain,
|
||||
double? targetShuntDeflectionMv,
|
||||
double? bridgeResistance,
|
||||
double zeroMVInADC,
|
||||
double windowAverageADC)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsAnalogInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@ScalefactorMilliVoltsPerADC", SqlDbType.Decimal) { Value = scalefactorMilliVoltsPerADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@ExpectedExcitationMilliVolts", SqlDbType.Decimal) { Value = expectedExcitationMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredExcitationMilliVolts", SqlDbType.Decimal) { Value = measuredExcitationMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@NegativeExcitation", SqlDbType.Bit) { Value = negativeExcitation });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredOffsetMilliVolts", SqlDbType.Decimal) { Value = measuredOffsetMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredInternalOffsetMilliVolts", SqlDbType.Decimal) { Value = measuredInternalOffsetMilliVolts });
|
||||
cmd.Parameters.Add(new SqlParameter("@AutoZeroPercentDeviation ", SqlDbType.Decimal) { Value = autoZeroPercentDeviation });
|
||||
cmd.Parameters.Add(new SqlParameter("@FinalOffsetADC", SqlDbType.SmallInt) { Value = finalOffsetADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@RemovedOffsetADC", SqlDbType.Int) { Value = removedOffsetADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@RemovedInternalOffsetADC", SqlDbType.Int) { Value = removedInternalOffsetADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@NoisePercentFullScale", SqlDbType.Decimal) { Value = noisePercentFullScale });
|
||||
cmd.Parameters.Add(new SqlParameter("@ShuntDeflectionFailed", SqlDbType.Bit) { Value = shuntDeflectionFailed });
|
||||
cmd.Parameters.Add(new SqlParameter("@CalSignalCheckFailed", SqlDbType.Bit) { Value = calSignalCheckFailed });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredShuntDeflectionMv", SqlDbType.Decimal) { Value = measuredShuntDeflectionMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredCalSignalMv", SqlDbType.Decimal) { Value = measuredCalSignalMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@TargetCalSignalMv", SqlDbType.Decimal) { Value = targetCalSignalMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@TargetGain", SqlDbType.Decimal) { Value = targetGain });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredGain", SqlDbType.Decimal) { Value = measuredGain });
|
||||
cmd.Parameters.Add(new SqlParameter("@QueriedGain", SqlDbType.Decimal) { Value = queriedGain });
|
||||
cmd.Parameters.Add(new SqlParameter("@TargetShuntDeflectionMv", SqlDbType.Decimal) { Value = targetShuntDeflectionMv });
|
||||
cmd.Parameters.Add(new SqlParameter("@BridgeResistance", SqlDbType.Decimal) { Value = bridgeResistance });
|
||||
cmd.Parameters.Add(new SqlParameter("@ZeroMVInADC", SqlDbType.Decimal) { Value = zeroMVInADC });
|
||||
cmd.Parameters.Add(new SqlParameter("@WINDOWAverageADC", SqlDbType.Decimal) { Value = windowAverageADC });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertSquibDiagnosticResult(int iDASRecordId,
|
||||
int dasChannelNumber,
|
||||
int eventNumber,
|
||||
double[] squibFireCurrentData,
|
||||
double[] squibFireVoltageData,
|
||||
double[] squibFireTimeAxis,
|
||||
double? measuredDurationMS,
|
||||
double? measuredDelayMS,
|
||||
bool? squibFirePassed,
|
||||
bool? squibDurationPassed,
|
||||
bool? squibDelayPassed,
|
||||
double squibThreshold,
|
||||
double squibVoltageScaler,
|
||||
double squibCurrentScaler)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
//this was firing annoying exceptions when squibFireCurrent was null ...
|
||||
if (null == squibFireCurrentData) { return; }
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsSquibInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
|
||||
var currentData = new List<byte>(8 * squibFireCurrentData.Length);
|
||||
var voltageData = new List<byte>(8 * squibFireVoltageData.Length);
|
||||
var timeAxis = new List<byte>(8 * squibFireTimeAxis.Length);
|
||||
|
||||
foreach (var d in squibFireCurrentData)
|
||||
{
|
||||
currentData.AddRange(BitConverter.GetBytes(d));
|
||||
}
|
||||
foreach (var d in squibFireVoltageData)
|
||||
{
|
||||
voltageData.AddRange(BitConverter.GetBytes(d));
|
||||
}
|
||||
foreach (var d in squibFireTimeAxis)
|
||||
{
|
||||
timeAxis.AddRange(BitConverter.GetBytes(d));
|
||||
}
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredDurationMS", SqlDbType.Decimal) { Value = measuredDurationMS });
|
||||
cmd.Parameters.Add(new SqlParameter("@MeasuredDelayMS", SqlDbType.Decimal) { Value = measuredDelayMS });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFirePassed", SqlDbType.Bit) { Value = squibFirePassed });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibDurationPassed", SqlDbType.Bit) { Value = squibDurationPassed });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibDelayPassed", SqlDbType.Bit) { Value = squibDelayPassed });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireCurrentData", SqlDbType.VarBinary) { Value = currentData.ToArray() });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireVoltageData", SqlDbType.VarBinary) { Value = voltageData.ToArray() });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibFireTimeAxis", SqlDbType.VarBinary) { Value = timeAxis.ToArray() });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibThreshold", SqlDbType.Decimal) { Value = squibThreshold });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibVoltageScaler", SqlDbType.Decimal) { Value = squibVoltageScaler });
|
||||
cmd.Parameters.Add(new SqlParameter("@SquibCurrentScaler", SqlDbType.Decimal) { Value = squibCurrentScaler });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertDigitalDiagnosticResult(int iDASRecordId,
|
||||
int dasChannelNumber,
|
||||
int eventNumber,
|
||||
bool digitalInputActiveState)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DiagnosticsResultsDigitalInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int) { Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@DigitalInputActiveState", SqlDbType.Bit)
|
||||
{ Value = digitalInputActiveState });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
579
DataPRO/DASFactoryDb/Download/Download.cs
Normal file
579
DataPRO/DASFactoryDb/Download/Download.cs
Normal file
@@ -0,0 +1,579 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
|
||||
namespace DASFactoryDb.Download
|
||||
{
|
||||
public static class Download
|
||||
{
|
||||
/// <summary>
|
||||
/// clears all existing download status for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingEventDownloadStatus(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventDownloadStatusClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears all arm attempts for a given data recorder
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingEventArmAttempts(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventArmAttemptsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing event fault flags for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingFaultFlags(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventFaultFlagsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing event info for a given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingDownloadReports(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DownloadReportClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// clears any existing event guids for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingEventGuids(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventGuidsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing download requests in the db for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingDownloadRequests(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DownloadRequestsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertEventFaultFlags(int iDASRecordId, ushort faultFlag)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventFaultFlagsInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultFlag", SqlDbType.SmallInt)
|
||||
{ Value = faultFlag });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_Id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertEventArmAttempts(int iDASRecordId, int armAttempts)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventArmAttemptsInsert";
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@ArmAttempts", SqlDbType.SmallInt)
|
||||
{ Value = armAttempts });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void InsertEventInfo(int iDASRecordId,
|
||||
int eventNumber,
|
||||
Guid testGUID,
|
||||
ushort faultFlags,
|
||||
int armAttempts,
|
||||
DateTime testTime,
|
||||
string testID,
|
||||
string description,
|
||||
bool hasBeenDownloaded,
|
||||
bool wasTriggered,
|
||||
string xml)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventInfoInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.Int) { Value = eventNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@TestGuid", SqlDbType.NVarChar, 50)
|
||||
{ Value = testGUID.ToString().ToUpper() });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultFlags", SqlDbType.SmallInt)
|
||||
{ Value = faultFlags });
|
||||
cmd.Parameters.Add(new SqlParameter("@ArmAttempts", SqlDbType.Int)
|
||||
{ Value = armAttempts });
|
||||
|
||||
if (DateTime.MinValue.Equals(testTime))
|
||||
{
|
||||
testTime = (DateTime)SqlDateTime.MinValue;
|
||||
}
|
||||
cmd.Parameters.Add(new SqlParameter("@TestTime", SqlDbType.DateTime)
|
||||
{ Value = testTime });
|
||||
cmd.Parameters.Add(new SqlParameter("@TestId", SqlDbType.NVarChar)
|
||||
{ Value = testID });
|
||||
cmd.Parameters.Add(new SqlParameter("@Description", SqlDbType.NVarChar)
|
||||
{ Value = description });
|
||||
cmd.Parameters.Add(new SqlParameter("@HasBeenDownloaded", SqlDbType.Bit)
|
||||
{ Value = hasBeenDownloaded });
|
||||
cmd.Parameters.Add(new SqlParameter("WasTriggered", SqlDbType.Bit)
|
||||
{ Value = wasTriggered });
|
||||
|
||||
cmd.Parameters.Add(new SqlParameter("@Modules", SqlDbType.VarBinary)
|
||||
{
|
||||
Value = Encoding.UTF8.GetBytes(xml)
|
||||
});
|
||||
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void InsertEventDownloadStatus(int iDASRecordId, bool downloadStatus)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventDownloadStatusInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@Downloaded", SqlDbType.Bit)
|
||||
{ Value = downloadStatus });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void DownloadRequestInsert(int iDASRecordId,
|
||||
ushort eventNumber,
|
||||
int dasChannelNumber,
|
||||
ulong startSample,
|
||||
ulong endSample,
|
||||
ulong samplesToSkip,
|
||||
double startRecordTimeStampSec,
|
||||
double triggerTimeStampSec,
|
||||
double startRecordTimeStampNanoSec,
|
||||
double triggerTimestampNanoSec,
|
||||
bool PTPMasterSync)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_DownloadRequestsInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.SmallInt)
|
||||
{ Value = eventNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@DASChannelNumber", SqlDbType.Int)
|
||||
{ Value = dasChannelNumber });
|
||||
cmd.Parameters.Add(new SqlParameter("@StartSample", SqlDbType.Int)
|
||||
{ Value = startSample });
|
||||
cmd.Parameters.Add(new SqlParameter("@EndSample", SqlDbType.Int)
|
||||
{ Value = endSample });
|
||||
cmd.Parameters.Add(new SqlParameter("@SamplesToSkip", SqlDbType.Int)
|
||||
{ Value = samplesToSkip });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@StartRecordTimeStampSec", SqlDbType.Decimal)
|
||||
{ Value = startRecordTimeStampSec });
|
||||
cmd.Parameters.Add(new SqlParameter("@TriggerTimestampSec", SqlDbType.Decimal)
|
||||
{ Value = triggerTimeStampSec });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@StartRecordTimestampNanoSec", SqlDbType.Decimal)
|
||||
{ Value = startRecordTimeStampSec });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@TriggerTimestampNanoSec", SqlDbType.Decimal)
|
||||
{ Value = triggerTimestampNanoSec });
|
||||
cmd.Parameters.Add(new SqlParameter("@PTPMasterSync", SqlDbType.Bit)
|
||||
{ Value = PTPMasterSync });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void UARTDownloadRequestInsert(
|
||||
int iDASRecordId,
|
||||
ushort eventNumber,
|
||||
ulong totalByteCount,
|
||||
ulong triggerByteCount,
|
||||
ulong faultByteCount,
|
||||
ulong startTimestamp,
|
||||
ulong endTimestamp,
|
||||
int baudRate)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_UARTDownloadRequestsInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@EventNumber", SqlDbType.SmallInt)
|
||||
{ Value = eventNumber });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@TotalByteCount", SqlDbType.Decimal)
|
||||
{ Value = totalByteCount });
|
||||
cmd.Parameters.Add(new SqlParameter("@TriggerByteCount", SqlDbType.Decimal)
|
||||
{ Value = triggerByteCount });
|
||||
cmd.Parameters.Add(new SqlParameter("@FaultByteCount", SqlDbType.Decimal)
|
||||
{ Value = faultByteCount });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@StartTimestamp", SqlDbType.Decimal)
|
||||
{ Value = startTimestamp });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@EndTimestamp", SqlDbType.Decimal) { Value = endTimestamp });
|
||||
cmd.Parameters.Add(new SqlParameter("@BaudRate", SqlDbType.Int) { Value = baudRate });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// clears any existing download requests in the db for given das
|
||||
/// </summary>
|
||||
/// <param name="idasRecordId"></param>
|
||||
public static void ClearExistingUARTDownloadRequests(int idasRecordId)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_UARTDownloadRequestsClear";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = idasRecordId });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void EventGuidInsert(int iDASRecordId, Guid guid)
|
||||
{
|
||||
if (!DbWrapper.Connected) { return; }
|
||||
using (var cmd = DbWrapper.GetDASFactoryCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "sp_EventGuidsInsert";
|
||||
cmd.Parameters.Add(new SqlParameter("@IDASCommunicationRecordId", SqlDbType.Int)
|
||||
{ Value = iDASRecordId });
|
||||
cmd.Parameters.Add(new SqlParameter("@Guid", SqlDbType.NVarChar, 50)
|
||||
{ Value = guid.ToString().ToUpper() });
|
||||
|
||||
var errorNumber = new SqlParameter("@errorNumber", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumber);
|
||||
|
||||
var errorMessage = new SqlParameter("@errorMessage", SqlDbType.NVarChar, 255)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorMessage);
|
||||
|
||||
var newId = new SqlParameter("@new_Id", SqlDbType.Int)
|
||||
{ Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newId);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
DbWrapper.ProcessReturn(errorNumber, errorMessage);
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
36
DataPRO/DASFactoryDb/Properties/AssemblyInfo.cs
Normal file
36
DataPRO/DASFactoryDb/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("DASFactoryDb")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("DASFactoryDb")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("49c60032-9c8a-4ea5-9e26-2f1663555759")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = "")]
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user