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