public static string Delete(AdoDataConnection database, int phasorID)
{
bool createdConnection = false;
try
{
createdConnection = CreateConnection(ref database);
// Setup current user context for any delete triggers
CommonFunctions.SetCurrentUserContext(database);
Phasor phasor = GetPhasor(database, "WHERE ID = " + phasorID);
database.Connection.ExecuteNonQuery(database.ParameterizedQueryString("DELETE FROM Phasor WHERE ID = {0}", "phasorID"), DefaultTimeout, phasorID);
if (phasor != null)
{
try
{
database.Connection.ExecuteNonQuery(database.ParameterizedQueryString("DELETE FROM Measurement WHERE DeviceID = {0} AND PhasorSourceIndex = {1}", "deviceID", "phasorSourceIndex"), DefaultTimeout, phasor.DeviceID, phasor.SourceIndex);
}
catch (Exception ex)
{
CommonFunctions.LogException(database, "Phasor.Delete", ex);
throw new Exception("Phasor deleted successfully but failed to delete measurements. " + Environment.NewLine + ex.Message);
}
}
return "Phasor deleted successfully";
}
finally
{
if (createdConnection && database != null)
database.Dispose();
}
}