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