public Validation ValidConfiguration()
{
var v = new Validation();
var sbErrors = new StringBuilder();
v.Valid = true;
if (EnableHoldTransactionUntilMessageCommited)
{
if (EnableHeartBeat)
{
sbErrors.AppendLine("[EnableHeartBeat] must be false when using transactions");
}
if (EnableStatus)
{
sbErrors.AppendLine("[EnableStatus] must be false when using transactions. The status table may still be used.");
}
if (QueueType != QueueTypes.Normal)
{
sbErrors.AppendLine("[EnableHoldTransactionUntilMessageCommited] must be false when using RPC queues");
}
}
v.ErrorMessage = sbErrors.ToString();
if (!string.IsNullOrWhiteSpace(v.ErrorMessage))
v.Valid = false;
return v;
}
#endregion