Пример #1
0
        private void DisplayMessages()
        {
            DataTable messageTable = new DataTable();

            messageTable.Columns.Add("Name");
            messageTable.Columns.Add("Message");
            messageTable.Columns.Add("Priority");

            System.Messaging.Message[] messages;

            messages=helpRequestQueue.GetAllMessages();

            System.Messaging.XmlMessageFormatter stringFormatter;
            stringFormatter=new System.Messaging.XmlMessageFormatter(new string[] {"System.String"});

            for(int index=0;index<messages.Length;index++)
            {
                messages[index].Formatter = stringFormatter;
                messageTable.Rows.Add(new String[]{
                    messages[index].Label,
                    messages[index].Body.ToString(),
                    messages[index].Priority.ToString()
                });
            }
            messageGrid.DataSource = messageTable;
        }
Пример #2
0
        private void OrderReceived(object sender, System.Messaging.ReceiveCompletedEventArgs e)
        {
            System.Messaging.XmlMessageFormatter formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(WorkOrder) });
            System.Messaging.Message             msg       = messageQueueVehiclesToAssemble.EndReceive(e.AsyncResult);
            msg.Formatter = formatter;

            WorkOrder workOrder = msg.Body as WorkOrder;

            // start waiting for the next message
            messageQueueVehiclesToAssemble.BeginReceive();

            FireMessage(workOrder);
        }
Пример #3
0
        void ShowVehiclesReadyForAssembly()
        {
            System.Messaging.Message[] messages = router.GetVehicleAssemblyMessages();

            if (vehiclesToAssembleDisplayed == messages.Length)
            {
                return;
            }

            System.Messaging.XmlMessageFormatter formatter;
            formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(WorkOrder) });

            listViewVehiclesToAssemble.Items.Clear();

            foreach (System.Messaging.Message message in messages)
            {
                message.Formatter = formatter;
                WorkOrder    workOrder = message.Body as WorkOrder;
                ListViewItem item      = new ListViewItem(workOrder.Id);
                listViewVehiclesToAssemble.Items.Add(item);
            }
            vehiclesToAssembleDisplayed = messages.Length;
        }
        private void DisplayQueuedMessages()
        {
            listViewQueuedMessages.Items.Clear();

            System.Messaging.Message[]           messages = orderSystem.GetAllQueuedMessages();
            System.Messaging.XmlMessageFormatter formatter;
            formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(WorkOrder) });

            foreach (System.Messaging.Message message in messages)
            {
                message.Formatter = formatter;
                WorkOrder    workOrder = message.Body as WorkOrder;
                ListViewItem item      = new ListViewItem(workOrder.Model);
                item.SubItems.Add(workOrder.Style);
                item.SubItems.Add(workOrder.Color);
                string options = string.Empty;
                foreach (PricedItem option in workOrder.Options)
                {
                    options += option.Name + ";";
                }
                item.SubItems.Add(options);
                listViewQueuedMessages.Items.Add(item);
            }
        }
Пример #5
0
        /// <summary>
        /// Fills a messages body or body stream, according to the on screen options.
        /// </summary>
        /// <param name="message">Message body.</param>
        private void FillMessageBody(System.Messaging.Message message)
        {
            //should we write directly to the body stream?
            if (optionsStreamDirectlyMenuItem.Checked)
            {
                if (textSourceRadioButton.Checked)
                {
                    message.BodyStream = IOUtilities.StringToMemoryStream(textSourceTextBox.Text);
                }
                else
                {
                    message.BodyStream = new FileStream(fileSourceTextBox.Text, FileMode.Open, FileAccess.Read);
                }
            }
            else
            {
                //set up the formatter
                System.Messaging.IMessageFormatter formatter;
                switch ((MessageFormatterType)formatterComboBoxItem.ComboBox.SelectedValue)
                {
                case MessageFormatterType.ActiveX:
                    formatter = new System.Messaging.ActiveXMessageFormatter();
                    break;

                case MessageFormatterType.Binary:
                    formatter = new System.Messaging.BinaryMessageFormatter();
                    break;

                case MessageFormatterType.Xml:
                default:
                    formatter = new System.Messaging.XmlMessageFormatter();
                    break;
                }
                message.Formatter = formatter;

                //set up the body
                object body;
                if (textSourceRadioButton.Checked)
                {
                    if (xmlCheckBox.Checked)
                    {
                        body = CreateXmlDocument(textSourceTextBox.Text);
                    }
                    else
                    {
                        body = textSourceTextBox.Text;
                    }
                }
                else
                {
                    using (StreamReader sr = new StreamReader(fileSourceTextBox.Text))
                    {
                        body = sr.ReadToEnd();
                    }
                    if (xmlCheckBox.Checked)
                    {
                        body = CreateXmlDocument(body.ToString());
                    }
                }
                message.Body = body;
            }
        }
Пример #6
0
		/// <summary>
		/// Fills a messages body or body stream, according to the on screen options.
		/// </summary>
		/// <param name="message">Message body.</param>
		private void FillMessageBody(System.Messaging.Message message)
		{
			//should we write directly to the body stream?
			if (optionsStreamDirectlyMenuItem.Checked)
			{
				if (textSourceRadioButton.Checked)
					message.BodyStream = IOUtilities.StringToMemoryStream(textSourceTextBox.Text);					
				else
					message.BodyStream = new FileStream(fileSourceTextBox.Text, FileMode.Open, FileAccess.Read);
			}
			else
			{
				//set up the formatter
				System.Messaging.IMessageFormatter formatter;
				switch ((MessageFormatterType)formatterComboBoxItem.ComboBox.SelectedValue)
				{
					case MessageFormatterType.ActiveX:
						formatter = new System.Messaging.ActiveXMessageFormatter();
						break;
					case MessageFormatterType.Binary:
						formatter = new System.Messaging.BinaryMessageFormatter();
						break;
					case MessageFormatterType.Xml:
					default:
						formatter = new System.Messaging.XmlMessageFormatter();
						break;
				}					
				message.Formatter = formatter;

				//set up the body
				object body;
				if (textSourceRadioButton.Checked)
				{
					if (xmlCheckBox.Checked)
					{
						body = CreateXmlDocument(textSourceTextBox.Text);
					}
					else
						body = textSourceTextBox.Text;					
				}
				else
				{
					using (StreamReader sr = new StreamReader(fileSourceTextBox.Text))
					{
						body = sr.ReadToEnd();
					}
					if (xmlCheckBox.Checked)
						body = CreateXmlDocument(body.ToString());
				}
				message.Body = body;
			}
		}