예제 #1
0
        public void Dispatch(DispatchNotificationMessage message)
        {
            // Create Persistence
            if (_amq != null)
            {
                var properties = _amq.Channel.CreateBasicProperties();
                properties.SetPersistent(true);

                _amq.Channel.BasicPublish("", _amqpExchange, properties, Encoding.UTF8.GetBytes(message.Serialize()));
            }
            else
            {
                // TODO LOG
            }
        }
예제 #2
0
        private void DispatchMainImage()
        {
            // Main Image changed, i.e. Push to MQ !

            // Regenerate Forced Image Rerendering on Publish Images
            if (MainImage.RegenerateOnPublish && !MainImage.IsValid)
            {
                MainImage.ReRender(true);
            }

            // Direct Dispatch
            MainImage.DispatchLastUpload();

            // Dispatch to Dispatcher for publication
            // DispatchNotificationMessage
            var m = new DispatchNotificationMessage()
            {
                Account = "EBU",
                ContentType = "application/json",
                Imageurl = MainImage.PublicImageUrl,
                Link = MainImage.Link,
                NotificationKey = Guid.NewGuid().ToString(),
                NotificationMessage = "Dispatch Message",
                ReceiveTime = DateTime.Now,
                Source = "EBU EIS Content Manager",
                Title = MainImage.Text,
                ImageVariants = MainImage.ImageVariants
            };

            foreach (var pub in _publishers)
            {
                pub.Dispatch(m);
            }
        }