Esempio n. 1
0
        /// <summary>
        /// Check if MSMQchannel exist
        /// </summary>
        /// <param name="path">the queue name.</param>
        /// <returns>ResultModel:show the status of the request.</returns>
        internal ResultModel Exists(string path)
        {
            ResultModel resultModel = new ResultModel();

            try
            {
                bool Exists = System.Messaging.MessageQueue.Exists(path);
                _logger.LogDebug(string.Format("Queue : {0} Exists", path));
                resultModel.Result = (Exists == true) ? (int)ResultsEnum.AlreadyExist : (int)ResultsEnum.ChannelDosntExist;
            }
            catch (System.Messaging.MessageQueueException ex)
            {
                KubeMQ.MSMQSDK.Results.MessageQueueException messageEx = new KubeMQ.MSMQSDK.Results.MessageQueueException(ex);
                _logger.LogCritical(string.Format("MSMQ Path:{0} Exists check failed on ex :{1}", path, ex.Message));
                resultModel.Result    = (int)ResultsEnum.Error;
                resultModel.exception = messageEx;
            }
            catch (Exception ex)
            {
                resultModel.Result = (int)ResultsEnum.Error;
                _logger.LogCritical(string.Format("MSMQ Path:{0} Exists check failed on ex :{1}", path, ex.Message));
                resultModel.exception = ex;
            }
            return(resultModel);
        }
Esempio n. 2
0
        /// <summary>
        /// Create Queue with path name.
        /// </summary>
        /// <param name="path">the queue name.</param>
        /// <returns>ResultModel:show the status of the request.</returns>
        internal ResultModel CreateQueue(string path)
        {
            ResultModel resultModel = new ResultModel();

            try
            {
                System.Messaging.MessageQueue.Create(path);
                _logger.LogDebug(string.Format("MSMQPathCreated :{0}", path));
                resultModel.Result = (int)ResultsEnum.Created;
            }
            catch (System.Messaging.MessageQueueException ex)
            {
                KubeMQ.MSMQSDK.Results.MessageQueueException messageEx = new KubeMQ.MSMQSDK.Results.MessageQueueException(ex);
                _logger.LogCritical(string.Format("MSMQ Path:{0} Creation failed on ex :{1}", path, ex.Message));
                resultModel.Result    = (int)ResultsEnum.Error;
                resultModel.exception = messageEx;
            }
            catch (Exception ex)
            {
                resultModel.Result = (int)ResultsEnum.Error;
                _logger.LogCritical(string.Format("MSMQ Path:{0} Creation failed on ex :{1}", path, ex.Message));
                resultModel.exception = ex;
            }
            return(resultModel);
        }
Esempio n. 3
0
        /// <summary>
        /// Send message to existing queue from json format.
        /// </summary>
        /// <param name="meta">contain the queue general data for exemple:queue path , queue name.</param>
        /// <param name="body">the body as string to insert to the queue</param>
        /// <returns>ResultModel:show the status of the request.</returns>
        internal ResultModel SendJsonRequestToQueue(MSMQMeta meta, string body)
        {
            ResultModel resultModel = new ResultModel();

            try
            {
                System.Messaging.MessageQueue myQueue = new System.Messaging.MessageQueue(meta.Path);
                myQueue.Formatter = new ActiveXMessageFormatter();
                System.Messaging.Message MyMessage = MessageConvert.ConvertStringToSystemMessage(body, meta.FormmaterName, meta.Label);
                myQueue.Send(MyMessage);
                _logger.LogDebug(string.Format("Added json message to Queue:{0}", meta.Path));
                resultModel.Result = (int)ResultsEnum.AddedToQueue;
            }
            catch (System.Messaging.MessageQueueException ex)
            {
                KubeMQ.MSMQSDK.Results.MessageQueueException messageEx = new KubeMQ.MSMQSDK.Results.MessageQueueException(ex);
                _logger.LogCritical("Failed Sending json Message to queue {0} on exception {1}", meta.Path, ex.Message);
                resultModel.Result    = (int)ResultsEnum.Error;
                resultModel.exception = messageEx;
            }
            catch (Exception ex)
            {
                resultModel.Result = (int)ResultsEnum.Error;
                _logger.LogCritical("Failed Sending json Message to queue {0} on exception {1}", meta.Path, ex.Message);
                resultModel.exception = ex;
            }
            return(resultModel);
        }