90 lines
5.0 KiB
C#
90 lines
5.0 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|