Как правильно декодировать FaxJobStatus в FAXCOMEXLib?
Я создал интерфейс работы с факсом для своего веб-приложения, используя FAXCOMEXLib. Факс работает и отправляет факсы правильно. Я пытаюсь настроить регистрацию статуса факса и использую прослушиватели, как определено в документации:
public FaxInterface()
{
faxSrv = new FaxServer();
var serverName = Environment.MachineName;
faxSrv.Connect(serverName);
faxSrv.OnOutgoingJobChanged += faxSrv_OnOutgoingJobChanged;
faxSrv.OnOutgoingJobAdded += faxSrv_OnOutgoingJobAdded;
faxSrv.OnOutgoingJobRemoved += faxSrv_OnOutgoingJobRemoved;
faxSrv.ListenToServerEvents(FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetOUT_QUEUE |
FAXCOMEXLib.FAX_SERVER_EVENTS_TYPE_ENUM.fsetIN_QUEUE);
}
И это работает. Мои слушатели событий запускаются правильно. Но у меня возникли проблемы с некоторыми данными в JobChanged
слушатель, который определен ниже:
private void faxSrv_OnOutgoingJobChanged(FaxServer pfaxserver, string bstrjobid, FaxJobStatus pjobstatus)
{
using (IDbConnection db = new SqlConnection(ConnectionStringHelper.ConnectionString))
{
db.Execute("update T_FAXLOG set LogText = CONCAT(LogText, @newText) where JobId = @jobId", new { newText = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss:ff tt") + " " + pjobstatus.Status.ToString() + Environment.NewLine, jobId = bstrjobid });
}
}
Моя проблема в том, что я, кажется, получаю неожиданное значение в pjobstatus.Status
это передается моей функции. Если я "Просмотр определения" из pjobstatus.Status
тип (что это: enum FAX_JOB_STATUS_ENUM
), Я вижу это в определении:
namespace FAXCOMEXLib
{
public enum FAX_JOB_STATUS_ENUM
{
fjsPENDING = 1,
fjsINPROGRESS = 2,
fjsFAILED = 8,
fjsPAUSED = 16,
fjsNOLINE = 32,
fjsRETRYING = 64,
fjsRETRIES_EXCEEDED = 128,
fjsCOMPLETED = 256,
fjsCANCELED = 512,
fjsCANCELING = 1024,
fjsROUTING = 2048
}
}
Однако, когда я запускаю свое приложение и "приостанавливаю" процесс факса на моем сервере, я получаю значение "49" в поле состояния. И, как вы можете видеть, это число нигде в определении. Я бы ожидал получить "16" за паузу, но я получил "49". Я что-то здесь упускаю? Есть ли другая документация об этом в другом месте? Или мне нужно как-то декодировать это значение?
Заранее спасибо.