using AipGateway.Messaging.Models; using Experimental.System.Messaging; using System; namespace AipGateway.Messaging.DbLogging { public class AipDbLoggingManager { private MessageQueue _messageQueue; private int _errNo; private string _errMsg; public AipDbLoggingManager() { _errNo = 0; _errMsg = string.Empty; } private void SetError(int errNo, string errMsg) { _errNo = errNo; _errMsg = errMsg; } public bool InitializeQueue() { string queuePath = CommonConstants.QueueName; if (!MessageQueue.Exists(queuePath)) { _messageQueue = MessageQueue.Create(queuePath); } else { _messageQueue = new MessageQueue(queuePath); } //_messageQueue.Formatter = new BinaryMessageFormatter(); _messageQueue.Formatter = new XmlMessageFormatter(new Type[1] { typeof(PayloadBase) }); return true; } public bool Send(PayloadBase payload) { if (payload != null) { if (payload.PayloadType == PayloadType.ApiCall) { var callLog = payload as ApiCallLog; using (var msg = new Message(payload)) { msg.Label = "apicall"; msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(ApiCallLog) }); _messageQueue.Send(msg); } } else if (payload.PayloadType == PayloadType.FileJob) { var filejob = payload as FileJobLog; using (var msg = new Message(filejob)) { msg.Label = "filejob"; msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(FileJobLog) }); _messageQueue.Send(msg); } } }; //_messageQueue.Send(payload); return true; } } }