├── .gitattributes ├── .gitignore ├── README.markdown └── src ├── .nuget ├── NuGet.Config ├── NuGet.exe └── NuGet.targets ├── ServiceBusMQ.Adapter.Azure.ServiceBus ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.Adapter.Azure.ServiceBus.csproj ├── ServiceBusMQ.snk └── packages.config ├── ServiceBusMQ.Adapter.Azure.ServiceBus2.2 ├── AzureMessageQueue.cs ├── AzureServiceBusEventsReceiver.cs ├── AzureServiceBusHelper.cs ├── AzureServiceBusReceiver.cs ├── Azure_ServiceBus_Discovery.cs ├── Azure_ServiceBus_Manager.cs ├── ErrorManager.cs ├── MessageSerializer.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.Adapter.Azure.ServiceBus2.2.csproj ├── ServiceBusMQ.snk ├── app.config └── packages.config ├── ServiceBusMQ.Adapter.MassTransit ├── ErrorManager.cs ├── MassTransitBusDiscovery.cs ├── MassTransitServiceBusManager.cs ├── MassTransitServiceBusManagerBase.cs ├── MessageSerializer.cs ├── Msmq.cs ├── MsmqMessageQueue.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.Adapter.MassTransit.csproj ├── TransportsCache.cs ├── app.config └── packages.config ├── ServiceBusMQ.Adapter.NServiceBus3 ├── CompletionMessage.json ├── CompletionMessage.xml ├── ErrorManager.cs ├── MessageSerializer.cs ├── NServiceBus_MSMQ_Discovery.cs ├── NServiceBus_MSMQ_Manager.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.Adapter.NServiceBus3.csproj ├── ServiceBusMQ.snk ├── app.config └── packages.config ├── ServiceBusMQ.Adapter.NServiceBus4.Azure ├── AzureMessageQueue.cs ├── ErrorManager.cs ├── MessageSerializer.cs ├── NServiceBus_AzureSB_Discovery.cs ├── NServiceBus_AzureSB_Manager.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.Adapter.NServiceBus4.Azure.SB22.csproj ├── ServiceBusMQ.Adapter.NServiceBus4.Azure.csproj ├── ServiceBusMQ.snk ├── app.config └── packages.config ├── ServiceBusMQ.Adapter.NServiceBus4 ├── ErrorManager.cs ├── MessageSerializer.cs ├── NServiceBusManagerBase.cs ├── NServiceBus_MSMQ_Discovery.cs ├── NServiceBus_MSMQ_Manager.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.Adapter.NServiceBus4.csproj ├── ServiceBusMQ.snk └── packages.config ├── ServiceBusMQ.NServiceBus.MSMQ ├── Msmq.cs ├── MsmqExtensions.cs ├── MsmqMessageQueue.cs ├── MsmqMessageQueue4.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.NServiceBus.MSMQ.csproj └── ServiceBusMQ.snk ├── ServiceBusMQ.NServiceBus ├── IMessageQueue.cs ├── NServiceBusManagerBase.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQ.NServiceBus.csproj └── ServiceBusMQ.snk ├── ServiceBusMQ ├── AppDomainBinder.cs ├── ApplicationInfo.cs ├── ArrayExtensions.cs ├── Bit.cs ├── CheckVersionThread.cs ├── CompareObjects.cs ├── Configuration │ ├── AssemblyCache.cs │ ├── CommandDefinition.cs │ ├── CommandHistory2.cs │ ├── CommandHistory3.cs │ ├── CommandHistoryManager.cs │ ├── ConfigFactory.cs │ ├── QueueConfig.cs │ ├── SavedCommand.cs │ ├── SystemConfig.cs │ ├── SystemConfig1.cs │ ├── SystemConfig2.cs │ ├── SystemConfig3.cs │ └── UIStateConfig.cs ├── CursorPosition.cs ├── DataTemplateManager.cs ├── HalanServices.cs ├── HalanVersionInfo.cs ├── JsonFile.cs ├── ListExtensions.cs ├── Manager │ ├── ErrorArgs.cs │ ├── ISendCommand.cs │ ├── IServiceBus.cs │ ├── IServiceBusDiscovery.cs │ ├── IServiceBusManager.cs │ ├── IViewSubscriptions.cs │ ├── MessageBusFactory.cs │ ├── MessageContentFormat.cs │ ├── NoMessageBusManagerFound.cs │ ├── ServerConnectionParameter.cs │ ├── ServiceBusFactory.cs │ ├── ServiceBusFeature.cs │ └── WarningArgs.cs ├── MessageSubscription.cs ├── Model │ ├── HalanService │ │ ├── Error.cs │ │ ├── ErrorReport.cs │ │ └── FailedToSendErrorReportException.cs │ ├── MessageInfo.cs │ ├── Queue.cs │ ├── QueueFetchResult.cs │ ├── QueueFetchResultType.cs │ ├── QueueFetchUnprocessedMessagesRequest.cs │ ├── QueueItem.cs │ └── QueueItemError.cs ├── Native.cs ├── ObjectExtensions.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Settings.Designer.cs │ └── Settings.settings ├── QueueColorManager.cs ├── RestartRequiredException.cs ├── SbmqSystem.cs ├── SbmqmMonitorState.cs ├── Screen.cs ├── Service References │ └── HalanService │ │ ├── ProductManager.disco │ │ ├── ProductManager.wsdl │ │ ├── ProductManager.xsd │ │ ├── ProductManager1.xsd │ │ ├── ProductManager2.xsd │ │ ├── ProductManager3.xsd │ │ ├── Reference.cs │ │ ├── Reference.svcmap │ │ ├── ServiceBusMQ.HalanService.ErrorReportResponse.datasource │ │ ├── ServiceBusMQ.HalanService.LatestVersionResponse.datasource │ │ ├── ServiceBusMQ.HalanService.ReportAttachmentResponse.datasource │ │ ├── configuration.svcinfo │ │ └── configuration91.svcinfo ├── ServiceBusMQ.csproj ├── ServiceBusMQ.snk ├── StringExtensions.cs ├── Tools.cs ├── TypeExtensions.cs ├── ViewModel │ └── QueueItemViewModel.cs ├── WarningException.cs ├── WindowTools.cs ├── app.config └── packages.config ├── ServiceBusMQManager.Tests ├── HalanServiceSpecs.cs ├── JsonParserSpecs.cs ├── Properties │ └── AssemblyInfo.cs ├── ServiceBusMQManager.Tests.csproj └── packages.config ├── ServiceBusMQManager.sln ├── ServiceBusMQManager ├── App.config ├── App.xaml ├── App.xaml.cs ├── AppSettingV1.xml ├── ContentWindow.xaml ├── ContentWindow.xaml.cs ├── Controls │ ├── ArrayInputControl.xaml │ ├── ArrayInputControl.xaml.cs │ ├── AttributeControl.xaml │ ├── AttributeControl.xaml.cs │ ├── CheckBoxInputControl.xaml │ ├── CheckBoxInputControl.xaml.cs │ ├── ClockControl.xaml │ ├── ClockControl.xaml.cs │ ├── ColorPickerControl.xaml │ ├── ColorPickerControl.xaml.cs │ ├── ColorPickerControlListBoxDict.xaml │ ├── ComboBoxInputControl.xaml │ ├── ComboBoxInputControl.xaml.cs │ ├── CommandTextEditor.xaml │ ├── CommandTextEditor.xaml.cs │ ├── ComplexDataInputControl.xaml │ ├── ComplexDataInputControl.xaml.cs │ ├── ComplexDataTemplateControl.xaml │ ├── ComplexDataTemplateControl.xaml.cs │ ├── ComplexDataTitleControl.xaml │ ├── ComplexDataTitleControl.xaml.cs │ ├── ComplexDataViewControl.xaml │ ├── ComplexDataViewControl.xaml.cs │ ├── FailedDeserializingCommandException.cs │ ├── FilterTextBox.xaml │ ├── FilterTextBox.xaml.cs │ ├── IInputControl.cs │ ├── QueueListControl.xaml │ ├── QueueListControl.xaml.cs │ ├── QueueListItemControl.xaml │ ├── QueueListItemControl.xaml.cs │ ├── RemoveItemButton.xaml │ ├── RemoveItemButton.xaml.cs │ ├── RoundMetroButton.xaml │ ├── RoundMetroButton.xaml.cs │ ├── SavedCommandsControl.xaml │ ├── SavedCommandsControl.xaml.cs │ ├── ServerConnectionParamControl.xaml │ ├── ServerConnectionParamControl.xaml.cs │ ├── StringListControl.xaml │ ├── StringListControl.xaml.cs │ ├── StringListItemControl.xaml │ ├── StringListItemControl.xaml.cs │ ├── TextEditor.xaml │ ├── TextEditor.xaml.cs │ ├── TextInputControl.xaml │ ├── TextInputControl.xaml.cs │ ├── TextInputImageButton.xaml │ ├── TextInputImageButton.xaml.cs │ ├── TextInputLabelButton.xaml │ ├── TextInputLabelButton.xaml.cs │ ├── TimeControl.xaml │ └── TimeControl.xaml.cs ├── Dialogs │ ├── ConfigWindow.xaml │ ├── ConfigWindow.xaml.cs │ ├── CreateTemplateDialog.xaml │ ├── CreateTemplateDialog.xaml.cs │ ├── ManageServerDialog.xaml │ ├── ManageServerDialog.xaml.cs │ ├── MessageDialog.xaml │ ├── MessageDialog.xaml.cs │ ├── NewVersionDialog.xaml │ ├── NewVersionDialog.xaml.cs │ ├── SelectDataTypeDialog.xaml │ ├── SelectDataTypeDialog.xaml.cs │ ├── SelectQueueDialog.xaml │ ├── SelectQueueDialog.xaml.cs │ ├── ViewSubscriptionsWindow.xaml │ └── ViewSubscriptionsWindow.xaml.cs ├── Images │ ├── Command-Processed.png │ ├── Command-Processed.selected.png │ ├── Command-Send.png │ ├── Command-processed-warn.png │ ├── Command-processed-warn.selected.png │ ├── Command-send-white.png │ ├── Command-warn.png │ ├── Command-warn.selected.png │ ├── Command.png │ ├── Command.selected.png │ ├── Delete.png │ ├── Delete.selected-org.png │ ├── Delete.selected.png │ ├── Delete.selected16.png │ ├── Error-Processed.png │ ├── Error-Processed.selected.png │ ├── Error-background-icon.png │ ├── Error-black.png │ ├── Error.png │ ├── Error.selected.png │ ├── Event-Processed-warn.png │ ├── Event-Processed-warn.selected.png │ ├── Event-Processed.png │ ├── Event-Processed.selected.png │ ├── Event-warn.png │ ├── Event-warn.selected.png │ ├── Event.png │ ├── Event.selected.png │ ├── Item-Icon.psd │ ├── Message.png │ ├── Msg.Error.png │ ├── Msg.Error.psd │ ├── Msg.Error2.png │ ├── Msg.Info.png │ ├── Msg.Info.psd │ ├── Msg.Warn │ ├── Msg.Warn.png │ ├── Settings.png │ ├── Settings.selected.png │ ├── StackTrace-white.png │ ├── StackTrace.png │ ├── add-white.png │ ├── add.png │ ├── appbar.arrow.down.up.png │ ├── appbar.arrow.left.right.png │ ├── appbar.camera.flash.selected.png │ ├── appbar.chevron.right.png │ ├── appbar.console.png │ ├── appbar.email-white.png │ ├── appbar.email.hardedge-white.png │ ├── appbar.email.minimal-white.png │ ├── appbar.email.minimal.png │ ├── appbar.email.png │ ├── appbar.reply.email.png │ ├── appbar.stop.png │ ├── back-white.png │ ├── back.png │ ├── calendar-white.png │ ├── calendar.png │ ├── clock-white.png │ ├── copy-white.png │ ├── delete-item-gray.png │ ├── delete-item-white.png │ ├── delete-item.png │ ├── delete-item2.png │ ├── doc.xml-white.png │ ├── doc.xml.png │ ├── edit-white.png │ ├── folder.open-gray.png │ ├── folder.open.png │ ├── history-white.png │ ├── history.png │ ├── info-white.png │ ├── info.circle-white.png │ ├── info.circle.dark.png │ ├── info.png │ ├── info1-white.png │ ├── info1.png │ ├── lightbulb-gray.png │ ├── lightbulb.png │ ├── lightbulb2.png │ ├── lightbulb3.png │ ├── loading-bar.gif │ ├── loading-queues.GIF │ ├── loading-white.gif │ ├── loading.gif │ ├── loading2.GIF │ ├── main.ico │ ├── main24ico.png │ ├── main32ico.png │ ├── message-Processed-warn.png │ ├── message-Processed-warn.selected.png │ ├── message-Processed.png │ ├── message-Processed.selected.png │ ├── message-warn.png │ ├── message-warn.selected.png │ ├── message.selected.png │ ├── minimize.png │ ├── next-white.png │ ├── pinned.png │ ├── refresh-white.png │ ├── refresh.png │ ├── save-white.png │ ├── save.png │ ├── sbmqm-logo.png │ ├── sbmqm.png │ ├── sbmqm.psd │ ├── search-filter.png │ ├── search-item-gray.png │ ├── search-item-white.png │ ├── search-white.png │ ├── search.png │ ├── subscribe_rss_icon_black.png │ ├── template-fold.png │ ├── trayIcon.ico │ ├── trayIconActivity.ico │ ├── unpinned.png │ ├── viewSubs.png │ ├── warning-white.png │ └── warning.png ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── NLog.config ├── NLog.xsd ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ ├── Settings.settings │ ├── app.manifest │ └── main.ico ├── SampleData │ └── QueueItemSampleData.xaml ├── SciLexer.dll ├── SciLexer64.dll ├── SendCommandWindow.xaml ├── SendCommandWindow.xaml.cs ├── ServiceBusMQ.snk ├── ServiceBusMQManager.csproj ├── Simple Styles.xaml ├── TriggerTracing.cs ├── UIControlFactory.cs ├── packages.config └── sendCommands.bat └── libraries ├── NServiceBus.Profiler.Common └── NServiceBus.Profiler.Common.dll ├── Newtonsoft.Json └── Newtonsoft.Json.dll ├── Ookii.Dialogs.Wpf └── Ookii.Dialogs.Wpf.dll └── WpfAnimatedGif-1.3.5 ├── WpfAnimatedGif.dll └── WpfAnimatedGif.xml /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | Service Bus MQ Manager - v4.xx 2 | ====================================================================== 3 | An application to view and manage Service Bus messages. 4 | 5 | ## Overview 6 | Service Bus MQ Manager works by monitoring a Queue and parsing the Messages presenting them in a list sorted by Commands, Events, Messages and Errors. Currently MSMQ and Azure Service Bus queues are supported, and message parsing for [MassTransit](https://github.com/jjchiw/ServiceBusMQManager) and [NServiceBus](https://github.com/danielHalan/ServiceBusMQManager) is supported, its also possible to [create a new Service Bus Adapter](https://github.com/danielHalan/ServiceBusMQManager/wiki/Building-a-Service-Bus-Adapter) for other Service Bus messages & Queue providers. 7 | 8 | The application is most useful when used in a [CQRS architecture](http://cqrsinfo.com), where its common to send Commands and Event messages using a Service Bus. 9 | 10 | - **Monitor Queues**, Monitor queues for incoming Commands, Events and Messages envelops, also possible to monitor Error Queue 11 | - **Purge messages**, remove messages from queues 12 | - **Retry failed messages**, Move messages from Error queue to its original queue 13 | - **View Processed Messages**, Load messages from the Journal queues. For use cases such as, show messages that got processed before Service Bus MQ Manager was started, or messages that where added and processed before the Service Bus monitor process discovered them. 14 | - **Send Command**, Build and send commands in an user friendly interface The commands can later be sent directly from command prompt 15 | - **View Subscriptions**, View what Events are being subscribed and who is publishing them 16 | - **Service Bus Integration**, Supports NServiceBus with MSMQ XML and JSON Transportation, with possibility to extend to other service buses or new transportation methods. 17 | 18 | More information can be found at http://blog.halan.se/page/Service-Bus-MQ-Manager.aspx 19 | 20 | 21 | ## License 22 | 23 | The source code is released under the RPL License, 24 | http://opensource.org/licenses/rpl1.5.txt 25 | 26 | -------------------------------------------------------------------------------- /src/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/.nuget/NuGet.exe -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.Adapter.Azure.ServiceBus 4 | File: AssemblyInfo.cs 5 | Created: 2013-11-26 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.Adapter.Azure.ServiceBus")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.Adapter.Azure.ServiceBus")] 28 | [assembly: AssemblyCopyright("Copyright © 2013")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("c07e019f-99f4-49bc-99fe-60226433bf8f")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("1.0.0.0")] 51 | [assembly: AssemblyFileVersion("1.0.0.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.Adapter.Azure.ServiceBus/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/AzureServiceBusEventsReceiver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using NLog; 7 | 8 | namespace ServiceBusMQ.Adapter.Azure.ServiceBus2._2 { 9 | public class AzureServiceBusEventsReceiver { 10 | static Logger _log = LogManager.GetCurrentClassLogger(); 11 | 12 | // TODO: get events from topic.subcriptions 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/AzureServiceBusHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | using NLog; 8 | 9 | namespace ServiceBusMQ.Adapter.Azure.ServiceBus22 { 10 | public static class AzureServiceBusHelper { 11 | 12 | static Logger _log = LogManager.GetCurrentClassLogger(); 13 | 14 | public static void PurgeAllMessages(IEnumerable monitorQueues) { 15 | List tasks = new List(); 16 | 17 | foreach( var queue in monitorQueues ) { 18 | 19 | if( AzureServiceBusReceiver.GetAzureQueueCount(queue.Queue.Name) > 0 ) { 20 | tasks.Add(Task.Factory.StartNew(() => { 21 | try { 22 | _log.Trace("Purging Queue {0}...".With(queue.Queue.Name)); 23 | queue.Purge(); 24 | _log.Trace("Finished Purging Queue " + queue.Queue.Name); 25 | 26 | } catch(Exception ex) { 27 | _log.Error("Error when Purgin queue {0}, {1}".With(queue.Queue.Name, ex)); 28 | } 29 | })); 30 | Thread.Sleep(500); 31 | } 32 | 33 | 34 | if( tasks.Count > 0 && ( tasks.Count % 15) == 0 ) { 35 | Task.WaitAll(tasks.ToArray()); 36 | tasks.Clear(); 37 | } 38 | } 39 | 40 | if( tasks.Count > 0 ) 41 | Task.WaitAll(tasks.ToArray()); 42 | 43 | } 44 | 45 | 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/MessageSerializer.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus4.Azure 4 | File: MessageSerializer.cs 5 | Created: 2013-10-13 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.IO; 19 | using System.Linq; 20 | using System.Text; 21 | using System.Xml.Serialization; 22 | using Newtonsoft.Json; 23 | 24 | namespace ServiceBusMQ.Adapter.Azure.ServiceBus22 { 25 | 26 | public static class MessageSerializer { 27 | 28 | 29 | private static string SerializeMessage_XML(object cmd) { 30 | var types = new List { cmd.GetType() }; 31 | 32 | var serializr = new XmlSerializer(cmd.GetType()); 33 | 34 | using( Stream stream = new MemoryStream() ) { 35 | serializr.Serialize(stream, cmd); 36 | stream.Position = 0; 37 | 38 | return new StreamReader(stream).ReadToEnd(); 39 | } 40 | 41 | } 42 | private static object DeserializeMessage_XML(string cmd, Type cmdType) { 43 | var serializr = new XmlSerializer(cmd.GetType()); 44 | 45 | using( Stream stream = new MemoryStream(Encoding.Unicode.GetBytes(cmd)) ) { 46 | return serializr.Deserialize(stream); 47 | } 48 | 49 | } 50 | 51 | private static string SerializeMessage_JSON(object cmd) { 52 | return JsonConvert.SerializeObject(cmd); 53 | } 54 | private static object DeserializeMessage_JSON(string cmd, Type cmdType) { 55 | return JsonConvert.DeserializeObject(cmd, cmdType); 56 | } 57 | 58 | public static object DeserializeMessage(string cmd, Type cmdType, string commandContentFormat) { 59 | 60 | if( commandContentFormat == "XML" ) 61 | return DeserializeMessage_XML(cmd, cmdType); 62 | 63 | else if( commandContentFormat == "JSON" ) 64 | return DeserializeMessage_JSON(cmd, cmdType); 65 | 66 | else throw new Exception("Unknown Command Content Format, " + commandContentFormat); 67 | } 68 | public static string SerializeMessage(object cmd, string commandContentFormat) { 69 | 70 | if( commandContentFormat == "XML" ) 71 | return SerializeMessage_XML(cmd); 72 | 73 | else if( commandContentFormat == "JSON" ) 74 | return SerializeMessage_JSON(cmd); 75 | 76 | else throw new Exception("Unknown Command Content Format, " + commandContentFormat); 77 | 78 | } 79 | 80 | 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.Adapter.Azure.ServiceBus2.2 4 | File: AssemblyInfo.cs 5 | Created: 2013-11-26 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.Adapter.Azure.ServiceBus2.2")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.Adapter.Azure.ServiceBus2.2")] 28 | [assembly: AssemblyCopyright("Copyright © 2013")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("742efc10-7cda-4660-bc41-9575a2d654da")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("1.0.0.0")] 51 | [assembly: AssemblyFileVersion("1.0.0.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.Azure.ServiceBus2.2/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.MassTransit/Msmq.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.MassTransit 4 | File: Msmq.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | Juan J. Chiw 10 | 11 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 12 | all rights reserved 13 | 14 | ********************************************************************/ 15 | #endregion 16 | 17 | using System; 18 | using System.Collections.Generic; 19 | using System.Linq; 20 | using System.Text; 21 | using System.Messaging; 22 | 23 | namespace ServiceBusMQ.MassTransit 24 | { 25 | public static class Msmq 26 | { 27 | 28 | public static MessageQueue Create(string serverName, string queueName, QueueAccessMode accessMode) 29 | { 30 | if (!queueName.StartsWith("private$\\")) 31 | queueName = "private$\\" + queueName; 32 | 33 | queueName = string.Format("FormatName:DIRECT=OS:{0}\\{1}", !Tools.IsLocalHost(serverName) ? serverName : ".", queueName); 34 | 35 | return new MessageQueue(queueName, false, true, accessMode); 36 | } 37 | 38 | public static MessageQueue Create(string queueFormatName, QueueAccessMode accessMode) 39 | { 40 | return new MessageQueue(queueFormatName, false, true, accessMode); 41 | } 42 | 43 | public static string GetDisplayName(this MessageQueue queue) 44 | { 45 | return queue.FormatName.Substring(queue.FormatName.LastIndexOf('\\') + 1); 46 | } 47 | 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.MassTransit/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.MassTransit 4 | File: AssemblyInfo.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.Adapter.MassTransit")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.Adapter.MassTransit")] 28 | [assembly: AssemblyCopyright("")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("2b74af42-7356-41c0-9848-fb8cc76f561b")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("4.00.34.0")] 51 | [assembly: AssemblyFileVersion("4.00.34.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.MassTransit/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.MassTransit/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus3/CompletionMessage.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "$type": "NServiceBus.Unicast.Transport.CompletionMessage, NServiceBus.Core", 4 | "ErrorCode": 0 5 | } 6 | ] -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus3/CompletionMessage.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus3/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus 4 | File: AssemblyInfo.cs 5 | Created: 2012-10-05 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.Adapter.NServiceBus3")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.NServiceBus3")] 28 | [assembly: AssemblyCopyright("Copyright ©2012 ITQ.COM, all rights reserved")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("2622e186-0cf9-47fb-9232-702e5f68e9f1")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("4.00.400.0")] 51 | [assembly: AssemblyFileVersion("4.00.400.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus3/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.Adapter.NServiceBus3/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus3/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4.Azure/AzureMessageQueue.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.Adapter.NServiceBus4.Azure.SB22 4 | File: AzureMessageQueue.cs 5 | Created: 2013-11-30 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using ServiceBusMQ.Model; 21 | using ServiceBusMQ.NServiceBus; 22 | 23 | namespace ServiceBusMQ.Adapter.NServiceBus4.Azure.SB22 { 24 | 25 | public class AzureMessageQueue : ServiceBusMQ.Adapter.Azure.ServiceBus22.AzureMessageQueue, IMessageQueue { 26 | 27 | public AzureMessageQueue(string connectionString, Queue queue, bool deadLetter = false) 28 | : base(connectionString, queue, deadLetter) { 29 | } 30 | 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4.Azure/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus4.Azure 4 | File: AssemblyInfo.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.Adapter.NServiceBus4.Azure.SB22")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.Adapter.NServiceBus4.Azure.SB22")] 28 | [assembly: AssemblyCopyright("Copyright © 2013")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("270b3d01-4797-4012-aa10-b2ed266b0fad")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("4.00.13.0")] 51 | [assembly: AssemblyFileVersion("4.00.13.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4.Azure/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.Adapter.NServiceBus4.Azure/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4.Azure/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus4 4 | File: AssemblyInfo.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.Adapter.NServiceBus4")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.Adapter.NServiceBus4")] 28 | [assembly: AssemblyCopyright("Copyright © 2013")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("94c01659-6976-49bf-a2cb-0e4bc3359eac")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("4.00.23.0")] 51 | [assembly: AssemblyFileVersion("4.00.23.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.Adapter.NServiceBus4/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ.Adapter.NServiceBus4/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus.MSMQ/Msmq.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus 4 | File: Msmq.cs 5 | Created: 2013-02-14 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Messaging; 17 | 18 | namespace ServiceBusMQ.NServiceBus.MSMQ { 19 | public static class Msmq { 20 | 21 | 22 | public static bool Exists(string serverName, string queueName) { 23 | if( !queueName.StartsWith("private$\\") ) 24 | queueName = "private$\\" + queueName; 25 | 26 | var queuePath = string.Format("FormatName:DIRECT=OS:{0}\\{1}", !Tools.IsLocalHost(serverName) ? serverName : ".", queueName); 27 | 28 | return MessageQueue.Exists(queuePath); 29 | } 30 | 31 | 32 | public static MessageQueue Create(string serverName, string queueName, QueueAccessMode accessMode) { 33 | if( !queueName.StartsWith("private$\\") ) 34 | queueName = "private$\\" + queueName; 35 | 36 | queueName = string.Format("FormatName:DIRECT=OS:{0}\\{1}", !Tools.IsLocalHost(serverName) ? serverName : ".", queueName); 37 | 38 | return new MessageQueue(queueName, false, true, accessMode); 39 | } 40 | 41 | public static MessageQueue Create(string queueFormatName, QueueAccessMode accessMode) { 42 | return new MessageQueue(queueFormatName, false, true, accessMode); 43 | } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus.MSMQ/MsmqExtensions.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus 4 | File: MsmqExtensions.cs 5 | Created: 2012-12-12 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Messaging; 17 | 18 | namespace ServiceBusMQ { 19 | 20 | public static class MsmqExtensions { 21 | 22 | public static string GetDisplayName(this MessageQueue queue) { 23 | return queue.FormatName.Substring( queue.FormatName.LastIndexOf('\\') + 1 ); 24 | } 25 | 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus.MSMQ/MsmqMessageQueue4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Messaging; 5 | using System.Text; 6 | using ServiceBusMQ.Model; 7 | 8 | namespace ServiceBusMQ.NServiceBus.MSMQ { 9 | 10 | public class MsmqMessageQueue4 : MsmqMessageQueue { 11 | 12 | //public MessageQueue Retries { get; set; } 13 | //public MessageQueue Timeouts { get; set; } 14 | //public MessageQueue TimeoutsDispatcher { get; set; } 15 | 16 | public MsmqMessageQueue4(string serverName, Queue queue) 17 | : base(serverName, queue) { 18 | 19 | //Retries = Msmq.Create(serverName, queue.Name + ".retries", QueueAccessMode.ReceiveAndAdmin); 20 | //Timeouts = Msmq.Create(serverName, queue.Name + ".timeouts", QueueAccessMode.ReceiveAndAdmin); 21 | //TimeoutsDispatcher = Msmq.Create(serverName, queue.Name + ".timeoutssispatcher", QueueAccessMode.ReceiveAndAdmin); 22 | } 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus.MSMQ/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ServiceBusMQ.NServiceBus.MSMQ")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ServiceBusMQ.NServiceBus.MSMQ")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("3ba562b3-8d03-494b-925a-f48d9db04e86")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus.MSMQ/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.NServiceBus.MSMQ/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus/IMessageQueue.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus 4 | File: IMessageQueue.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using System.Threading.Tasks; 21 | using ServiceBusMQ.Model; 22 | 23 | namespace ServiceBusMQ.NServiceBus { 24 | public interface IMessageQueue { 25 | Queue Queue { get; set; } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ.NServiceBus 4 | File: AssemblyInfo.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ.NServiceBus")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ.NServiceBus")] 28 | [assembly: AssemblyCopyright("Copyright ©ITQ.COM 2013")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("98884a67-ae5c-47d8-b64d-1fe229bd54b2")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("4.00.0.0")] 51 | [assembly: AssemblyFileVersion("4.00.0.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ.NServiceBus/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ.NServiceBus/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ/ApplicationInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ApplicationInfo.cs 5 | Created: 2013-03-03 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Reflection; 20 | using System.Text; 21 | 22 | namespace ServiceBusMQ { 23 | 24 | public class ApplicationInfo { 25 | 26 | Assembly _Assembly; 27 | 28 | public ApplicationInfo(string id, Assembly asm) { 29 | Id = id; 30 | _Assembly = asm; 31 | } 32 | 33 | 34 | T GetCustomAttribute() where T : Attribute { 35 | object[] customAttributes = _Assembly.GetCustomAttributes(typeof(T), false); 36 | if( customAttributes.Length == 0 ) 37 | return default(T); 38 | else return (T)customAttributes[0]; 39 | } 40 | 41 | public string Company { 42 | get { 43 | AssemblyCompanyAttribute a = GetCustomAttribute(); 44 | return a != null ? a.Company : string.Empty; 45 | } 46 | } 47 | 48 | 49 | public string Product { 50 | get { 51 | AssemblyProductAttribute a = GetCustomAttribute(); 52 | return a != null ? a.Product : string.Empty; 53 | } 54 | } 55 | 56 | public string Title { 57 | get { 58 | AssemblyTitleAttribute a = GetCustomAttribute(); 59 | return a != null ? a.Title : string.Empty; 60 | } 61 | } 62 | 63 | public string Description { 64 | get { 65 | AssemblyDescriptionAttribute a = GetCustomAttribute(); 66 | return a != null ? a.Description : string.Empty; 67 | } 68 | } 69 | 70 | public string Copyright { 71 | get { 72 | AssemblyCopyrightAttribute a = GetCustomAttribute(); 73 | return a != null ? a.Copyright : string.Empty; 74 | } 75 | } 76 | 77 | public Version Version { 78 | get { 79 | return _Assembly.GetName().Version; 80 | } 81 | } 82 | 83 | public HalanVersionInfo GetLatestVersionInfo() { 84 | return HalanServices.GetVersionInfo(Product, Version); 85 | } 86 | 87 | public string Id { get; set; } 88 | } 89 | 90 | 91 | } 92 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/ArrayExtensions.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ArrayExtensions.cs 5 | Created: 2012-12-09 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Text; 19 | 20 | namespace ServiceBusMQ { 21 | public static class ArrayExtensions { 22 | 23 | public static void ForEach(this IEnumerable sequence, Action action) { 24 | if( action == null ) 25 | throw new ArgumentNullException("action"); 26 | 27 | foreach( T item in sequence ) 28 | action(item); 29 | } 30 | 31 | public static string AsString(this T[] list, string separator = ", ") { 32 | var sb = new StringBuilder(list.Length * 100); 33 | foreach( T itm in list ) { 34 | 35 | if( sb.Length > 0 ) 36 | sb.Append(separator).Append(itm); 37 | else sb.Append(itm); 38 | } 39 | 40 | return sb.ToString(); 41 | } 42 | 43 | 44 | 45 | 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Bit.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: Bit.cs 5 | Created: 2013-03-16 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ { 22 | public static class Bit { 23 | public static int HiWord(int iValue) { 24 | return ( ( iValue >> 16 ) & 0xFFFF ); 25 | } 26 | public static int LoWord(int iValue) { 27 | return ( iValue & 0xFFFF ); 28 | } 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/CheckVersionThread.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: CheckVersionThread.cs 5 | Created: 2012-12-09 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.ComponentModel; 19 | using System.Linq; 20 | using System.Text; 21 | 22 | namespace ServiceBusMQ { 23 | 24 | public class CheckVersionObject { 25 | public string ProductName; 26 | public Version CurrentVersion; 27 | } 28 | 29 | /// 30 | /// Retrieves Version information from Halan Server 31 | /// 32 | public class CheckVersionThread : BackgroundWorker { 33 | 34 | public CheckVersionThread() 35 | : base() { 36 | } 37 | 38 | protected override void OnDoWork(DoWorkEventArgs e) { 39 | List r = new List(); 40 | 41 | List check = e.Argument as List; 42 | foreach( CheckVersionObject c in check ) { 43 | HalanVersionInfo inf = HalanServices.GetVersionInfo(c.ProductName, c.CurrentVersion); 44 | if( inf != null ) 45 | r.Add(inf); 46 | } 47 | 48 | e.Result = r; 49 | } 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Configuration/CommandDefinition.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: CommandDefinition.cs 5 | Created: 2012-12-05 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | 18 | namespace ServiceBusMQ { 19 | 20 | [Serializable] 21 | public class CommandDefinition { 22 | 23 | /// 24 | /// A string that should be in the commands namespace 25 | /// 26 | public string NamespaceContains; 27 | 28 | /// 29 | /// A class or interface that the command should inherit/implement. 30 | /// 31 | public string InheritsType; 32 | 33 | /// 34 | /// Function that checks if the type is a command 35 | /// 36 | /// Type to check 37 | /// 38 | public bool IsCommand(Type commandType) { 39 | Type t = GetInheritsType(); 40 | 41 | if( t != null && t.IsAssignableFrom(commandType) ) { 42 | return true; 43 | 44 | } else if( NamespaceContains.IsValid() && commandType.Namespace.IsValid() && 45 | commandType.Namespace.Contains(NamespaceContains) ) { 46 | return true; 47 | } 48 | 49 | return false; 50 | } 51 | 52 | private Type GetInheritsType() { 53 | if( !string.IsNullOrEmpty(InheritsType) ) { 54 | return Type.GetType(InheritsType); 55 | } else return null; 56 | } 57 | 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Configuration/CommandHistory2.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: CommandHistory2.cs 5 | Created: 2013-10-23 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using Newtonsoft.Json; 21 | 22 | namespace ServiceBusMQ.Configuration { 23 | 24 | [Serializable] 25 | public class SavedCommandItems { 26 | public int Version { get; set; } 27 | public SavedCommandItem[] Items { get; set; } 28 | } 29 | 30 | [Serializable] 31 | public class SavedCommandItem { 32 | public Guid Id { get; set; } 33 | public string DisplayName { get; set; } 34 | public string FileName { get; set; } 35 | public bool Pinned { get; set; } 36 | public DateTime LastSent { get; set; } 37 | 38 | 39 | [JsonConstructor] 40 | public SavedCommandItem() { 41 | IsNew = false; 42 | } 43 | 44 | public SavedCommandItem(string displayName, string fileName, bool pinned, DateTime lastSent) { 45 | Id = Guid.NewGuid(); 46 | 47 | DisplayName = displayName; 48 | FileName = fileName; 49 | Pinned = pinned; 50 | LastSent = lastSent; 51 | 52 | IsNew = true; 53 | } 54 | 55 | SavedCommand2 _sentCommand = null; 56 | 57 | [JsonIgnore] 58 | public SavedCommand2 SentCommand { 59 | get { 60 | if( _sentCommand == null ) { 61 | _sentCommand = JsonFile.Read(FileName); 62 | } 63 | 64 | return _sentCommand; 65 | } 66 | } 67 | 68 | public void SetCommand(SavedCommand2 cmd) { 69 | _sentCommand = cmd; 70 | 71 | IsNew = true; 72 | } 73 | 74 | [JsonIgnore] 75 | public bool IsNew { get; private set; } 76 | } 77 | 78 | 79 | 80 | } 81 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Configuration/CommandHistory3.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: CommandHistory3.cs 5 | Created: 2013-10-23 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using Newtonsoft.Json; 21 | 22 | namespace ServiceBusMQ.Configuration { 23 | 24 | 25 | [Serializable] 26 | public class SavedCommandItems3 { 27 | public SavedCommandItem3[] Items { get; set; } 28 | } 29 | 30 | [Serializable] 31 | public class SavedCommandItem3 { 32 | public Guid Id { get; set; } 33 | public string DisplayName { get; set; } 34 | public string FileName { get; set; } 35 | public bool Pinned { get; set; } 36 | public DateTime LastSent { get; set; } 37 | 38 | 39 | [JsonConstructor] 40 | public SavedCommandItem3() { 41 | IsNew = false; 42 | } 43 | 44 | public SavedCommandItem3(string displayName, string fileName, bool pinned, DateTime lastSent) { 45 | Id = Guid.NewGuid(); 46 | 47 | DisplayName = displayName; 48 | FileName = fileName; 49 | Pinned = pinned; 50 | LastSent = lastSent; 51 | 52 | IsNew = true; 53 | } 54 | 55 | public SavedCommandItem3(Guid id, string displayName, string fileName, bool pinned, DateTime lastSent) { 56 | Id = id; 57 | IsNew = false; 58 | 59 | DisplayName = displayName; 60 | FileName = fileName; 61 | Pinned = pinned; 62 | LastSent = lastSent; 63 | } 64 | 65 | 66 | SavedCommand3 _sentCommand = null; 67 | 68 | [JsonIgnore] 69 | public SavedCommand3 SentCommand { 70 | get { 71 | if( _sentCommand == null ) { 72 | _sentCommand = JsonFile.Read(FileName); 73 | } 74 | 75 | return _sentCommand; 76 | } 77 | } 78 | 79 | public void SetCommand(SavedCommand3 cmd) { 80 | _sentCommand = cmd; 81 | 82 | IsNew = true; 83 | } 84 | 85 | [JsonIgnore] 86 | public bool IsNew { get; private set; } 87 | } 88 | 89 | 90 | 91 | } 92 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Configuration/QueueConfig.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: QueueConfig.cs 5 | Created: 2013-10-12 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using ServiceBusMQ.Model; 21 | 22 | namespace ServiceBusMQ.Configuration { 23 | 24 | [Serializable] 25 | public class QueueConfig { 26 | public string Name { get; set; } 27 | public QueueType Type { get; set; } 28 | public int Color { get; set; } 29 | 30 | public QueueConfig() { } 31 | 32 | public QueueConfig(string name, QueueType type, int color = 0) { 33 | Name = name; 34 | Type = type; 35 | Color = color; 36 | } 37 | 38 | public override string ToString() { 39 | return Name; 40 | } 41 | 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Configuration/SavedCommand.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: SavedCommand.cs 5 | Created: 2012-12-04 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using Newtonsoft.Json; 18 | 19 | namespace ServiceBusMQ { 20 | 21 | [Serializable] 22 | public class SavedCommand { 23 | 24 | public string DisplayName { get; set; } 25 | 26 | [JsonIgnore] 27 | public string FileName { get; set; } 28 | 29 | public object Command { get; set; } 30 | 31 | public DateTime LastSent { get; set; } 32 | 33 | public string ServiceBus { get; set; } 34 | public string Transport { get; set; } 35 | 36 | public string Server { get; set; } 37 | public string Queue { get; set; } 38 | } 39 | 40 | [Serializable] 41 | public class SavedCommand2 { 42 | 43 | public object Command { get; set; } 44 | 45 | public string ServiceBus { get; set; } 46 | public string Transport { get; set; } 47 | 48 | public string Server { get; set; } 49 | public string Queue { get; set; } 50 | } 51 | 52 | [Serializable] 53 | public class SavedCommand3 { 54 | 55 | public object Command { get; set; } 56 | 57 | public string ServiceBus { get; set; } 58 | public string Transport { get; set; } 59 | 60 | public System.Collections.Generic.Dictionary ConnectionStrings { get; set; } 61 | public string Queue { get; set; } 62 | 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Configuration/SystemConfig.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: SystemConfig.cs 5 | Created: 2012-11-27 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using ServiceBusMQ.Configuration; 17 | 18 | namespace ServiceBusMQ { 19 | public abstract class SystemConfig { 20 | 21 | static SystemConfig() { 22 | } 23 | 24 | protected abstract void FillDefaulValues(); 25 | 26 | static ConfigFactory _configFac; 27 | 28 | public static SystemConfig3 Load() { 29 | if( _configFac == null ) 30 | _configFac = new ConfigFactory(); 31 | 32 | var cfg = _configFac.Create(); 33 | cfg.FillDefaulValues(); 34 | 35 | return cfg; 36 | } 37 | 38 | public void Save() { 39 | if( _configFac == null ) 40 | _configFac = new ConfigFactory(); 41 | 42 | _configFac.Store(this); 43 | } 44 | 45 | public static object cfg1 { get; set; } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/CursorPosition.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: CursorPosition.cs 5 | Created: 2012-09-08 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | 17 | namespace ServiceBusMQ { 18 | public enum CursorPosition { 19 | Body = 0, 20 | 21 | Left = 1, 22 | Right = 2, 23 | Top = 3, 24 | TopLeft = 4, 25 | TopRight = 5, 26 | Bottom = 6, 27 | BottomLeft = 7, 28 | BottomRight = 8, 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/HalanVersionInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: HalanVersionInfo.cs 5 | Created: 2012-12-09 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | 18 | namespace ServiceBusMQ { 19 | 20 | public enum VersionStatus { Unknown, NoConnection, Latest, Old } 21 | 22 | public class HalanVersionInfo { 23 | public string Product; 24 | public DateTime ReleaseDate; 25 | public VersionStatus Status; 26 | public Version LatestVersion; 27 | public string[] Features; 28 | public string Url; 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/JsonFile.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: JsonFile.cs 5 | Created: 2012-12-04 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Collections.Generic; 17 | using System.IO; 18 | using System.Runtime.Serialization.Formatters; 19 | using Newtonsoft.Json; 20 | 21 | namespace ServiceBusMQ { 22 | public static class JsonFile { 23 | 24 | 25 | public static void Write(string fileName, object obj) { 26 | 27 | var s = new JsonSerializerSettings { 28 | TypeNameHandling = TypeNameHandling.All, 29 | TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple 30 | }; 31 | 32 | File.WriteAllText(fileName, JsonConvert.SerializeObject(obj, Formatting.Indented, s)); 33 | } 34 | 35 | public static T Read(string fileName, System.Runtime.Serialization.SerializationBinder binder = null) { 36 | 37 | if( File.Exists(fileName) ) { 38 | var s = new JsonSerializerSettings { 39 | TypeNameHandling = TypeNameHandling.All, 40 | TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple, 41 | ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, 42 | //ConstructorHandlingFallback = CtorFallback, 43 | Binder = binder 44 | }; 45 | 46 | 47 | return (T)JsonConvert.DeserializeObject(File.ReadAllText(fileName), typeof(T), s); 48 | } 49 | 50 | return default(T); 51 | } 52 | 53 | //private static void CtorFallback(object sender, ConstructorHandlingFallbackEventArgs e) { 54 | 55 | // Dictionary props = new Dictionary(); 56 | // foreach( var p in e.ObjectContract.Properties ) { 57 | // props.Add(p.PropertyName, Tools.GetDefault(p.PropertyType)); 58 | // } 59 | 60 | // e.Object = Tools.CreateInstance(e.ObjectContract.UnderlyingType, props); 61 | 62 | // e.Handled = true; 63 | 64 | //} 65 | 66 | 67 | 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/ListExtensions.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ListExtensions.cs 5 | Created: 2013-02-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | using System.Text; 19 | 20 | namespace ServiceBusMQ { 21 | public static class ListExtensions { 22 | 23 | public static string Concat(this List list, string separator = ", ") { 24 | return list.Aggregate(new StringBuilder(), (sb, name) => sb.Length > 0 ? sb.Append(separator).Append(name) : sb.Append(name)).ToString(); 25 | } 26 | 27 | public static TValue GetValue(this Dictionary list, TKey key, TValue @default = default(TValue)) { 28 | return (list != null && list.ContainsKey(key)) ? list[key] : @default; 29 | } 30 | public static bool HasValidValue(this Dictionary list, TKey key) { 31 | if( list != null && list.ContainsKey(key) ) { 32 | var v = list[key]; 33 | 34 | if( v is string ) 35 | return (v as string).IsValid(); 36 | 37 | return v != null;//default(TValue); 38 | } 39 | 40 | return false; 41 | } 42 | 43 | public static string AsString(this Dictionary list, string separator = ", ") { 44 | var sb = new StringBuilder(list.Count * 100); 45 | foreach( var itm in list ) { 46 | 47 | if( sb.Length > 0 ) 48 | sb.Append(separator); 49 | 50 | sb.AppendFormat("{0}={1}", itm.Key, itm.Value); 51 | } 52 | 53 | return sb.ToString(); 54 | } 55 | 56 | 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/ErrorArgs.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ErrorArgs.cs 5 | Created: 2012-10-06 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | 18 | namespace ServiceBusMQ.Manager { 19 | 20 | public class ErrorArgs : EventArgs { 21 | 22 | public string Message { get; private set; } 23 | public Exception Exception { get; set; } 24 | 25 | public bool Fatal { get; private set; } 26 | 27 | public ErrorArgs(string message, Exception exception, bool fatal = false) { 28 | 29 | Message = message; 30 | Fatal = fatal; 31 | Exception = exception; 32 | } 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/IServiceBus.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: IServiceBus.cs 5 | Created: 2013-02-14 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | 17 | using System; 18 | namespace ServiceBusMQ.Manager { 19 | 20 | /// 21 | /// Base interface used in all Service Bus adapters 22 | /// 23 | public interface IServiceBus { 24 | 25 | /// 26 | /// The name of the ServiceBus this Manager manages 27 | /// 28 | string ServiceBusName { get; } 29 | 30 | /// 31 | /// The version of the ServiceBus this Manager manages 32 | /// 33 | string ServiceBusVersion { get; } 34 | 35 | 36 | /// 37 | /// Get available transport modes, MSMQ, RabbitMQ etc 38 | /// 39 | string MessageQueueType { get; } 40 | 41 | 42 | /// 43 | /// What type of mesage content types the Service Bus supports, XML, Json etc 44 | /// 45 | string[] AvailableMessageContentTypes { get; } 46 | 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/IServiceBusDiscovery.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: IServiceBusDiscovery.cs 5 | Created: 2013-02-14 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | 17 | using System.Collections.Generic; 18 | namespace ServiceBusMQ.Manager { 19 | 20 | /// 21 | /// Used for discovering a new service bus server. 22 | /// 23 | public interface IServiceBusDiscovery : IServiceBus { 24 | 25 | /// 26 | /// Checks if the current user can access the server specified, and that the server has a Service Bus of this type running 27 | /// 28 | /// The Host name of the server 29 | /// 30 | bool CanAccessServer(Dictionary connectionSettings); 31 | 32 | /// 33 | /// Checks if the current user can access a specific queue on a server. 34 | /// 35 | /// The Host name of the server 36 | /// The Queue name 37 | /// 38 | bool CanAccessQueue(Dictionary connectionSettings, string queueName); 39 | 40 | /// 41 | /// Returns all available queues on specified server 42 | /// 43 | /// The Host name of the server 44 | /// List of Queue names 45 | string[] GetAllAvailableQueueNames(Dictionary connectionSettings); 46 | 47 | 48 | /// 49 | /// Returns all parameters that are needed to establish a server connection to Service Bus 50 | /// 51 | /// 52 | ServerConnectionParameter[] ServerConnectionParameters { get; } 53 | 54 | /// 55 | /// Returns all available features for the Service Bus 56 | /// 57 | ServiceBusFeature[] Features { get; } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/IViewSubscriptions.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: IViewSubscriptions.cs 5 | Created: 2013-01-01 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | 17 | using System.Collections.Generic; 18 | namespace ServiceBusMQ.Manager { 19 | 20 | /// 21 | /// Used to retrieve all Event Subscriptions 22 | /// 23 | public interface IViewSubscriptions { 24 | 25 | /// 26 | /// 27 | /// 28 | /// 29 | /// 30 | MessageSubscription[] GetMessageSubscriptions(Dictionary connectionSettings, IEnumerable queues); 31 | 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/MessageContentFormat.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: MessageContentFormat.cs 5 | Created: 2013-01-26 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | 17 | namespace ServiceBusMQ.Manager { 18 | public enum MessageContentFormat { Xml, Json, Other, Unknown = 0xFF } 19 | } 20 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/NoMessageBusManagerFound.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: NoMessageBusManagerFound.cs 5 | Created: 2012-09-23 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | 18 | namespace ServiceBusMQ.Manager { 19 | 20 | public class NoMessageBusManagerFound : Exception { 21 | 22 | public NoMessageBusManagerFound(string name, string queueType) : base("No Service Bus Manager with Name = '" + name + "' and QueueType = '" + queueType + "'") { 23 | } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/ServerConnectionParameter.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ServerConnectionParameter.cs 5 | Created: 2013-10-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ.Manager { 22 | 23 | public enum ParamType { String, Bool } 24 | 25 | public class ServerConnectionParameter { 26 | public string DisplayName { get; set; } 27 | 28 | public string SchemaName { get; set; } 29 | public object DefaultValue { get; set; } 30 | public bool Optional { get; set; } 31 | public ParamType Type { get; set; } 32 | 33 | public static ServerConnectionParameter Create(string schemaName, string displayName, ParamType type = ParamType.String, object defaultValue = null, bool optional = false) { 34 | return new ServerConnectionParameter() { 35 | SchemaName = schemaName, 36 | DisplayName = displayName, 37 | 38 | Type = type, 39 | DefaultValue = defaultValue, 40 | Optional = optional 41 | }; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/ServiceBusFeature.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ServiceBusFeature.cs 5 | Created: 2013-12-07 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ.Manager { 22 | public enum ServiceBusFeature { PurgeMessage, PurgeListedMessages, PurgeAllMessages, 23 | MoveErrorMessageToOriginQueue, MoveAllErrorMessagesToOriginQueue } 24 | 25 | public static class ServiceBusFeatures { 26 | 27 | public static readonly ServiceBusFeature[] All = new ServiceBusFeature[] { 28 | ServiceBusFeature.PurgeMessage, 29 | ServiceBusFeature.PurgeListedMessages, 30 | ServiceBusFeature.PurgeAllMessages, 31 | ServiceBusFeature.MoveErrorMessageToOriginQueue, 32 | ServiceBusFeature.MoveAllErrorMessagesToOriginQueue 33 | }; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Manager/WarningArgs.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: WarningArgs.cs 5 | Created: 2013-08-24 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using System.Threading.Tasks; 21 | 22 | namespace ServiceBusMQ.Manager { 23 | 24 | public enum WarningType { ConnectonFailed, Other=0xFF } 25 | 26 | public class WarningArgs : EventArgs { 27 | 28 | public string Message { get; private set; } 29 | public string Content { get; set; } 30 | 31 | public WarningType Type { get; set; } 32 | 33 | public WarningArgs(string message, string content, WarningType type) { 34 | Message = message; 35 | Content = content; 36 | 37 | Type = type; 38 | } 39 | 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/MessageSubscription.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: MessageSubscription.cs 5 | Created: 2012-12-06 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | 17 | namespace ServiceBusMQ { 18 | public class MessageSubscription { 19 | 20 | public string Name { get; set; } 21 | public string FullName { get; set; } 22 | 23 | public string Publisher { get; set; } 24 | public string Subscriber { get; set; } 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/HalanService/Error.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: Error.cs 5 | Created: 2013-03-02 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ.Model.HalanService { 22 | public class Error { 23 | 24 | string _Message; 25 | Exception _Exception; 26 | 27 | public Error(Exception e) { 28 | _Message = e.Message; 29 | _Exception = e; 30 | } 31 | public Error(string msg, Exception e) { 32 | _Message = msg; 33 | _Exception = e; 34 | } 35 | public Error(string msg) { 36 | _Message = msg; 37 | } 38 | 39 | public string Message { 40 | get { return _Message; } 41 | } 42 | 43 | public Exception Exception { 44 | get { return _Exception; } 45 | } 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/HalanService/FailedToSendErrorReportException.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: FailedToSendErrorReportException.cs 5 | Created: 2013-03-03 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ.Model.HalanService { 22 | public class FailedToSendErrorReportException : Exception { 23 | public FailedToSendErrorReportException(string reason): base(reason) { 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/MessageInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: MessageInfo.cs 5 | Created: 2013-02-18 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ.Model { 22 | public class MessageInfo { 23 | 24 | public string Name { get; private set; } 25 | public string AssemblyQualifiedName { get; private set; } 26 | 27 | public MessageInfo(string name, string asmName = null) { 28 | Name = name; 29 | AssemblyQualifiedName = asmName; 30 | } 31 | 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/Queue.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: Queue.cs 5 | Created: 2013-02-10 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using ServiceBusMQ.Manager; 21 | 22 | namespace ServiceBusMQ.Model { 23 | 24 | public class Queue { 25 | 26 | public string Name { get; private set; } 27 | public QueueType Type { get; private set; } 28 | 29 | public string DisplayName { get; private set; } 30 | 31 | public int Color { get; set; } 32 | public string ColorString { get; private set; } 33 | public string SelectedColorString { get; private set; } 34 | 35 | public MessageContentFormat ContentFormat { get; private set; } 36 | 37 | public Queue(string name, QueueType type, int color = 0, MessageContentFormat contentFormat = MessageContentFormat.Unknown) { 38 | 39 | Name = name; 40 | Type = type; 41 | 42 | DisplayName = name.CutBeginning(46); 43 | 44 | Color = color; 45 | 46 | ContentFormat = contentFormat; 47 | 48 | ColorString = "#" + color.ToString("X"); 49 | SelectedColorString = "#" + GetSelectedColor(color).ToString("X"); 50 | } 51 | 52 | private int GetSelectedColor(int color) { 53 | byte r = (byte) ((color & 0xFF0000) >> 16); 54 | byte g = (byte) ((color & 0x00FF00) >> 8); 55 | byte b = (byte) (color & 0x0000FF); 56 | 57 | return ( Math.Min(r + 50, 0xFF) << 16 ) | ( Math.Min(g + 50, 0xFF) << 8 ) | Math.Min(b + 50, 0xFF); 58 | } 59 | 60 | public void SetContentFormat(string content) { 61 | 62 | if( content.StartsWith(" Items { get; set; } 28 | public uint Count { get; set; } 29 | 30 | /// 31 | /// QueueItem.Id of items that has been removed from Queue, only used with Cumulative 32 | /// 33 | public IEnumerable RemovedItemIds { get; set; } 34 | 35 | public QueueFetchResultStatus Status { get; set; } 36 | public string StatusMessage { get; set; } 37 | 38 | public QueueFetchResultType Type { get; set; } 39 | 40 | public QueueFetchResult(QueueFetchResultType type = QueueFetchResultType.Complete) { 41 | Type = type; 42 | Status = Model.QueueFetchResultStatus.OK; 43 | } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/QueueFetchResultType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ServiceBusMQ.Model { 8 | public enum QueueFetchResultType { Complete, Cumulative } 9 | } 10 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/QueueFetchUnprocessedMessagesRequest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace ServiceBusMQ.Model { 7 | public class QueueFetchUnprocessedMessagesRequest { 8 | 9 | public QueueType Type { get; set; } 10 | 11 | public IEnumerable CurrentItems { get; set; } 12 | 13 | public uint TotalCount { get; set; } 14 | 15 | 16 | public QueueFetchUnprocessedMessagesRequest(QueueType type, IEnumerable currentItems, uint totalCount) { 17 | Type = type; 18 | CurrentItems = currentItems; 19 | TotalCount = totalCount; 20 | } 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/QueueItem.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: QueueItem.cs 5 | Created: 2012-08-21 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Globalization; 19 | using System.Linq; 20 | using System.Text; 21 | using System.Threading.Tasks; 22 | using System.Windows; 23 | using System.Windows.Media; 24 | 25 | namespace ServiceBusMQ.Model { 26 | 27 | public enum QueueType { Command = 0, Event = 1, Message = 2, Error = 3 } 28 | 29 | public class QueueItem { 30 | private bool _processed; 31 | 32 | public QueueItem(Queue queue) { 33 | Queue = queue; 34 | } 35 | 36 | public string Id { get; set; } 37 | public object MessageQueueItemId { get; set; } 38 | 39 | public string DisplayName { get; set; } 40 | public MessageInfo[] Messages { get; set; } 41 | 42 | public Queue Queue { get; private set; } 43 | public string OriginQueueName { get; set; } 44 | 45 | public DateTime ArrivedTime { get; set; } 46 | public int ProcessTime { get; set; } 47 | public bool Processed { 48 | get { return _processed; } 49 | set { 50 | if( _processed != value ) { 51 | _processed = value; 52 | ProcessedChanged(); 53 | } 54 | } 55 | } 56 | 57 | public string Content { get; set; } 58 | 59 | public Dictionary Headers { get; set; } 60 | 61 | public QueueItemError Error { get; set; } 62 | 63 | protected virtual void ProcessedChanged() { } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Model/QueueItemError.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: QueueItemError.cs 5 | Created: 2012-12-14 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ.Model { 22 | 23 | public enum QueueItemErrorState { Retry, ErrorQueue } 24 | 25 | public class QueueItemError { 26 | public QueueItemErrorState State { get; set; } 27 | public string Message { get; set; } 28 | public string StackTrace { get; set; } 29 | public DateTime TimeOfFailure { get; set; } 30 | public int Retries { get; set; } 31 | 32 | public string OriginQueue { get; set; } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/ObjectExtensions.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: ObjectExtensions.cs 5 | Created: 2013-10-27 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.IO; 19 | using System.Linq; 20 | using System.Text; 21 | using Newtonsoft.Json; 22 | using Newtonsoft.Json.Linq; 23 | 24 | namespace ServiceBusMQ { 25 | public static class ObjectExtensions { 26 | 27 | public static T As(this object obj) { 28 | return (T)obj; 29 | } 30 | 31 | public static string GetFormatted(this JObject document) { 32 | if( document == null ) { 33 | return string.Empty; 34 | } 35 | 36 | var sb = new StringBuilder(); 37 | using( var writer = new JsonTextWriter(new StringWriter(sb)) ) { 38 | writer.Formatting = Formatting.Indented; 39 | document.WriteTo(writer); 40 | } 41 | 42 | return sb.ToString(); 43 | } 44 | 45 | 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: AssemblyInfo.cs 5 | Created: 2012-10-05 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQ")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQ")] 28 | [assembly: AssemblyCopyright("Copyright ©2012 ITQ.COM, all rights reserved")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("4e7bdd03-2039-41fe-b6f3-d8907da7f2f9")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("4.00.650.0")] 51 | [assembly: AssemblyFileVersion("4.00.650.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34014 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ServiceBusMQ.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/QueueColorManager.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: QueueColorManager.cs 5 | Created: 2013-02-10 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Drawing; 19 | 20 | namespace ServiceBusMQ { 21 | public static class QueueColorManager { 22 | 23 | public static readonly int[] COLORS = new int[] { 0xC9C9C9, 0x828282, // white & Gray 24 | 0xfef200, // yellow 25 | 0xA200FF, // purple 26 | 0xE671B8, // pink light 27 | 0xFF0097, // pink dark 28 | 0xDC572E, // orange 29 | 0xF09609, // orange brown 30 | 0xA05000, // brown 31 | 0x632F00, // brown dark 32 | 0x8CBF26, // lime green 33 | 0x339933, // dark green 34 | 0x0E97FF, // azure 35 | 0x0000fe, // blue 36 | 0x0100a6, // blue dark 37 | 0xE51400 // red 38 | }; 39 | 40 | public static readonly int RED = 0xE51400; 41 | 42 | static List _unusedColors; 43 | 44 | static Random _rnd = new Random(); 45 | 46 | static QueueColorManager() { 47 | 48 | _unusedColors = new List(COLORS); 49 | } 50 | 51 | public static void UseColor(Color c) { 52 | _unusedColors.Remove(c.ToArgb()); 53 | } 54 | public static void ReturnColor(Color c) { 55 | int colorValue = c.ToArgb(); 56 | 57 | if( _unusedColors.IndexOf(colorValue) == -1 ) 58 | _unusedColors.Add(colorValue); 59 | } 60 | 61 | public static int GetRandomAvailableColorAsInt() { 62 | 63 | if( _unusedColors.Count > 0 ) { 64 | int index = _rnd.Next(_unusedColors.Count); 65 | 66 | int color = _unusedColors[index]; 67 | _unusedColors.Remove(color); 68 | 69 | return color; 70 | 71 | } else return Color.Azure.ToArgb(); 72 | } 73 | 74 | public static Color GetRandomAvailableColor() { 75 | return System.Drawing.Color.FromArgb(GetRandomAvailableColorAsInt()); 76 | } 77 | 78 | } 79 | 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/RestartRequiredException.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: RestartRequiredException.cs 5 | Created: 2013-10-15 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | 21 | namespace ServiceBusMQ { 22 | public class RestartRequiredException : Exception { 23 | 24 | public RestartRequiredException() { 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/SbmqmMonitorState.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: SbmqmMonitorState.cs 5 | Created: 2013-02-22 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using ServiceBusMQ.Model; 18 | 19 | namespace ServiceBusMQ { 20 | public class SbmqmMonitorState { 21 | 22 | internal bool[] MonitorQueueType { get; set; } 23 | 24 | public SbmqmMonitorState() { 25 | MonitorQueueType = new bool[4]; 26 | } 27 | public SbmqmMonitorState(bool[] states) { 28 | MonitorQueueType = new bool[4]; 29 | 30 | states.CopyTo(MonitorQueueType, 0); 31 | } 32 | 33 | 34 | 35 | public bool IsMonitoring(QueueType type) { 36 | return MonitorQueueType[(int)type]; 37 | } 38 | 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ProductManager.disco: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ProductManager1.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ProductManager2.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ProductManager3.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/Reference.svcmap: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | false 5 | true 6 | 7 | false 8 | false 9 | false 10 | 11 | 12 | true 13 | Auto 14 | true 15 | true 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ServiceBusMQ.HalanService.ErrorReportResponse.datasource: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | ServiceBusMQ.HalanService.ErrorReportResponse, Service References.HalanService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 10 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ServiceBusMQ.HalanService.LatestVersionResponse.datasource: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | ServiceBusMQ.HalanService.LatestVersionResponse, Service References.HalanService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 10 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/ServiceBusMQ.HalanService.ReportAttachmentResponse.datasource: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | ServiceBusMQ.HalanService.ReportAttachmentResponse, Service References.HalanService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 10 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/Service References/HalanService/configuration.svcinfo: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQ/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQ/WarningException.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQ 4 | File: WarningException.cs 5 | Created: 2013-08-24 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using System.Threading.Tasks; 21 | 22 | namespace ServiceBusMQ { 23 | public class WarningException : Exception { 24 | 25 | 26 | public WarningException(string msg, string content): base(msg) { 27 | 28 | Content = content; 29 | 30 | } 31 | 32 | 33 | public string Content { get; set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/ServiceBusMQ/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager.Tests/HalanServiceSpecs.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager.Tests 4 | File: HalanServiceSpecs.cs 5 | Created: 2013-05-11 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Reflection; 20 | using System.Text; 21 | using System.Threading.Tasks; 22 | using Machine.Specifications; 23 | using ServiceBusMQ; 24 | 25 | namespace ServiceBusMQManager.Tests { 26 | 27 | [Subject("halan service")] 28 | public abstract class with_halan_service { 29 | 30 | 31 | protected static readonly Version CURRENT_VERSION = new Version(3,02); 32 | 33 | protected static ApplicationInfo AppInfo; 34 | 35 | Establish context = () => { 36 | AppInfo = new ApplicationInfo(null, Assembly.GetExecutingAssembly()); 37 | }; 38 | 39 | } 40 | 41 | [Subject("halan service")] 42 | public class when_getting_latest_version : with_halan_service { 43 | 44 | private static HalanVersionInfo response; 45 | 46 | Because of = () => response = HalanServices.GetVersionInfo("ServiceBusMQManager", AppInfo.Version); 47 | 48 | It shoud_return_response = () => response.ShouldNotBeNull(); 49 | It shoud_return_correct_version = () => response.LatestVersion.ShouldBeGreaterThanOrEqualTo(CURRENT_VERSION); 50 | } 51 | 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager.Tests/JsonParserSpecs.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager.Tests 4 | File: JsonParserSpecs.cs 5 | Created: 2013-02-13 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Collections.Generic; 18 | using System.Linq; 19 | using System.Text; 20 | using System.Threading.Tasks; 21 | using Machine.Specifications; 22 | using NServiceBus.Profiler.Common.CodeParser; 23 | 24 | namespace ServiceBusMQManager.Tests { 25 | 26 | [Subject("code parser")] 27 | public abstract class with_a_json_parser { 28 | protected static JsonParser Parser; 29 | protected static IList Lexemes; 30 | 31 | Establish context = () => { 32 | Parser = new JsonParser(); 33 | }; 34 | } 35 | 36 | [Subject("code parser")] 37 | public class when_parsing_json_array_content : with_a_json_parser { 38 | protected static string ComplexJson = "[{\"$type\":\"SomeClass, Itq.Com.Domain\",\"Name\":\"Some Name\",\"Description\":\"sdasdsad\",\"TypeId\":101,\"Tags\":[10001],\"dfDfd\":[{\"Id\":1,\"Text\":null,\"ClientId\":\"e8a6bac4-3196-4962-b5a4-1211a6091a85\",\"Type\":2,\"Person\":null,\"Company\":null}],\"FDffdf\":[{\"dfsdfdsf\":null,\"Id\":1,\"Text\":null,\"OpponentId\":\"1bbf6e3d-1681-49d3-a1f4-10cc04339219\",\"Type\":2,\"Person\":null,\"Company\":null}],\"Sdsdsd\":[],\"Managers\":[{\"UserId\":\"56d7da1c-dc29-41a0-9e09-7b4309f5be5d\"}],\"AggregateId\":\"4692b75b-3418-43e3-b1ce-01a5ee3ba315\"}]"; 39 | 40 | Because of = () => Lexemes = Parser.Parse(ComplexJson); 41 | 42 | It shoud_parse_all_content = () => Lexemes.Count.ShouldBeGreaterThan(0); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager.Tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager.Tests 4 | File: AssemblyInfo.cs 5 | Created: 2013-02-13 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Reflection; 17 | using System.Runtime.CompilerServices; 18 | using System.Runtime.InteropServices; 19 | 20 | // General Information about an assembly is controlled through the following 21 | // set of attributes. Change these attribute values to modify the information 22 | // associated with an assembly. 23 | [assembly: AssemblyTitle("ServiceBusMQManager.Tests")] 24 | [assembly: AssemblyDescription("")] 25 | [assembly: AssemblyConfiguration("")] 26 | [assembly: AssemblyCompany("")] 27 | [assembly: AssemblyProduct("ServiceBusMQManager.Tests")] 28 | [assembly: AssemblyCopyright("Copyright © 2013")] 29 | [assembly: AssemblyTrademark("")] 30 | [assembly: AssemblyCulture("")] 31 | 32 | // Setting ComVisible to false makes the types in this assembly not visible 33 | // to COM components. If you need to access a type in this assembly from 34 | // COM, set the ComVisible attribute to true on that type. 35 | [assembly: ComVisible(false)] 36 | 37 | // The following GUID is for the ID of the typelib if this project is exposed to COM 38 | [assembly: Guid("c6cd791c-204d-4033-8c85-fd463e3129a2")] 39 | 40 | // Version information for an assembly consists of the following four values: 41 | // 42 | // Major Version 43 | // Minor Version 44 | // Build Number 45 | // Revision 46 | // 47 | // You can specify all the values or you can default the Build and Revision Numbers 48 | // by using the '*' as shown below: 49 | // [assembly: AssemblyVersion("1.0.*")] 50 | [assembly: AssemblyVersion("3.02.567.0")] 51 | [assembly: AssemblyFileVersion("3.02.567.0")] 52 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager.Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/AppSettingV1.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 7 | 8 | 10 | 11 | 15 | 16 | 20 | 21 | 25 | 26 | 30 | 31 | 35 | 36 | 40 | 41 | 45 | 46 | 50 | 51 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ArrayInputControl.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 10 | 11 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/AttributeControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/CheckBoxInputControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/CheckBoxInputControl.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: CheckBoxInputControl.xaml.cs 5 | Created: 2012-11-22 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Windows; 18 | using System.Windows.Controls; 19 | using System.Windows.Media; 20 | 21 | namespace ServiceBusMQManager.Controls { 22 | /// 23 | /// Interaction logic for CheckBoxInputControl.xaml 24 | /// 25 | public partial class CheckBoxInputControl : UserControl, IInputControl { 26 | private bool _isListItem; 27 | public CheckBoxInputControl(object value) { 28 | InitializeComponent(); 29 | 30 | UpdateValue(value); 31 | } 32 | 33 | 34 | 35 | public void UpdateValue(object value) { 36 | try { 37 | c.IsChecked = value != null && Convert.ToBoolean(value); 38 | } catch { } 39 | } 40 | 41 | 42 | public object RetrieveValue() { 43 | return c.IsChecked; 44 | } 45 | 46 | public bool IsListItem { 47 | get { 48 | return _isListItem; 49 | } 50 | set { 51 | _isListItem = value; 52 | ListItemStateChanged(); 53 | } 54 | } 55 | 56 | private void ListItemStateChanged() { 57 | 58 | if( _isListItem ) { 59 | Background = Brushes.Gray; 60 | } 61 | } 62 | 63 | public event EventHandler ValueChanged; 64 | void OnValueChanged() { 65 | if( ValueChanged != null ) 66 | ValueChanged(this, EventArgs.Empty); 67 | } 68 | 69 | private void c_Checked(object sender, RoutedEventArgs e) { 70 | OnValueChanged(); 71 | } 72 | 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ClockControl.xaml: -------------------------------------------------------------------------------- 1 |  13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ComboBoxInputControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ComboBoxInputControl.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: ComboBoxInputControl.xaml.cs 5 | Created: 2012-11-22 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Linq; 18 | using System.Windows.Controls; 19 | using System.Windows.Media; 20 | 21 | namespace ServiceBusMQManager.Controls { 22 | /// 23 | /// Interaction logic for ComboBoxInputControl.xaml 24 | /// 25 | public partial class ComboBoxInputControl : UserControl, IInputControl { 26 | 27 | Type _type; 28 | 29 | public ComboBoxInputControl(Type type, object value) { 30 | InitializeComponent(); 31 | 32 | _type = type; 33 | 34 | BindControl(); 35 | 36 | UpdateValue(value); 37 | } 38 | 39 | private void BindControl() { 40 | Type t = ( _type.Name.StartsWith("Nullable") ) ? Nullable.GetUnderlyingType(_type) : _type; 41 | 42 | cb.ItemsSource = Enum.GetNames(t).Select(n => n.Replace('_', ' ')).ToArray(); 43 | } 44 | 45 | public void UpdateValue(object value) { 46 | 47 | if( value != null ) { 48 | Type t = ( _type.Name.StartsWith("Nullable") ) ? Nullable.GetUnderlyingType(_type) : _type; 49 | 50 | cb.SelectedIndex = value != null ? ( (int)value ) : 0; 51 | } 52 | } 53 | 54 | 55 | public object RetrieveValue() { 56 | Type t = ( _type.Name.StartsWith("Nullable") ) ? Nullable.GetUnderlyingType(_type) : _type; 57 | 58 | try { 59 | return Enum.Parse(t, (cb.SelectedValue as string).Replace(' ', '_') ); 60 | } catch { 61 | return cb.SelectedIndex; 62 | } 63 | } 64 | 65 | bool _isListItem; 66 | 67 | public bool IsListItem { 68 | get { 69 | return _isListItem; 70 | } 71 | set { 72 | _isListItem = value; 73 | ListItemStateChanged(); 74 | } 75 | } 76 | 77 | private void ListItemStateChanged() { 78 | 79 | if( _isListItem ) { 80 | cb.Background = Brushes.Gray; 81 | } 82 | } 83 | 84 | 85 | public event EventHandler ValueChanged; 86 | void OnValueChanged() { 87 | if( ValueChanged != null ) 88 | ValueChanged(this, EventArgs.Empty); 89 | } 90 | 91 | private void cb_SelectionChanged(object sender, SelectionChangedEventArgs e) { 92 | 93 | OnValueChanged(); 94 | } 95 | 96 | 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/CommandTextEditor.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/CommandTextEditor.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: CommandTextEditor.xaml.cs 5 | Created: 2013-01-19 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Windows; 17 | using System.Windows.Controls; 18 | 19 | namespace ServiceBusMQManager.Controls { 20 | 21 | public enum CommandTextType { Xml, Json } 22 | 23 | /// 24 | /// Interaction logic for CommandTextEditor.xaml 25 | /// 26 | public partial class CommandTextEditor : UserControl { 27 | 28 | public CommandTextEditor() { 29 | InitializeComponent(); 30 | } 31 | 32 | public static readonly DependencyProperty TextProperty = 33 | DependencyProperty.Register("Text", typeof(string), typeof(CommandTextEditor), new UIPropertyMetadata(string.Empty)); 34 | 35 | public string Text { 36 | get { return tb.Text; } 37 | set { tb.SetText(value); } 38 | } 39 | 40 | 41 | CommandTextType _textType; 42 | public CommandTextType TextType { 43 | get { return _textType; } 44 | set { _textType = value; 45 | 46 | if( _textType == CommandTextType.Xml ) 47 | tb.CodeLanguage = NServiceBus.Profiler.Common.CodeParser.CodeLanguage.Xml; 48 | else tb.CodeLanguage = NServiceBus.Profiler.Common.CodeParser.CodeLanguage.Json; 49 | } 50 | 51 | } 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ComplexDataTemplateControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | 11 | 14 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ComplexDataViewControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/FailedDeserializingCommandException.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: FailedDeserializingCommandException.cs 5 | Created: 2013-01-20 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2013 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | 18 | namespace ServiceBusMQManager.Controls { 19 | public class FailedDeserializingCommandException : Exception { 20 | 21 | public FailedDeserializingCommandException() : base() {} 22 | public FailedDeserializingCommandException(Exception e) : base(e.Message, e) { 23 | 24 | } 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/IInputControl.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: IInputControl.cs 5 | Created: 2012-11-22 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | 18 | namespace ServiceBusMQManager.Controls { 19 | public interface IInputControl { 20 | 21 | void UpdateValue(object value); 22 | 23 | object RetrieveValue(); 24 | 25 | bool IsListItem { get; set; } 26 | 27 | event EventHandler ValueChanged; 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/QueueListControl.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/QueueListItemControl.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/RemoveItemButton.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/RemoveItemButton.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: RemoveItemButton.xaml.cs 5 | Created: 2012-11-30 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Windows; 18 | using System.Windows.Controls; 19 | using System.Windows.Media; 20 | 21 | namespace ServiceBusMQManager.Controls { 22 | /// 23 | /// Interaction logic for RemoveItemButton.xaml 24 | /// 25 | public partial class RemoveItemButton : UserControl { 26 | 27 | readonly SolidColorBrush BORDER_LISTITEM = new SolidColorBrush(Color.FromRgb(201, 201, 201)); 28 | 29 | 30 | public RemoveItemButton() { 31 | InitializeComponent(); 32 | } 33 | 34 | private void btn_Click(object sender, RoutedEventArgs e) { 35 | 36 | if( Click != null ) 37 | Click(this, e); 38 | 39 | } 40 | 41 | public event EventHandler Click; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/RoundMetroButton.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/RoundMetroButton.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: RoundMetroButton.xaml.cs 5 | Created: 2012-12-04 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Windows; 17 | using System.Windows.Controls; 18 | 19 | namespace ServiceBusMQManager.Controls { 20 | /// 21 | /// Interaction logic for RoundMetroButton.xaml 22 | /// 23 | public partial class RoundMetroButton : UserControl { 24 | 25 | public RoundMetroButton() { 26 | InitializeComponent(); 27 | 28 | } 29 | 30 | 31 | private void btn_Click(object sender, RoutedEventArgs e) { 32 | RaiseEvent(new RoutedEventArgs(ClickEvent)); 33 | } 34 | 35 | public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent("Click", 36 | RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(RoundMetroButton)); 37 | 38 | public event RoutedEventHandler Click { 39 | add { AddHandler(ClickEvent, value); } 40 | remove { RemoveHandler(ClickEvent, value); } 41 | } 42 | 43 | 44 | public static readonly DependencyProperty SourceProperty = 45 | DependencyProperty.Register("Source", typeof(string), typeof(RoundMetroButton), new UIPropertyMetadata(string.Empty)); 46 | 47 | public string Source { 48 | get { return (string)GetValue(SourceProperty); } 49 | set { SetValue(SourceProperty, value); } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/SavedCommandsControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 26 | 27 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/ServerConnectionParamControl.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 22 | 23 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/StringListControl.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 25 | 26 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/StringListItemControl.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/StringListItemControl.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: StringListItemControl.xaml.cs 5 | Created: 2012-12-22 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Windows; 18 | using System.Windows.Controls; 19 | 20 | namespace ServiceBusMQManager.Controls { 21 | 22 | 23 | public class DeleteStringListItemRoutedEventArgs : RoutedEventArgs { 24 | 25 | public int Id { get; set; } 26 | 27 | public DeleteStringListItemRoutedEventArgs(RoutedEvent e) 28 | : base(e) { 29 | } 30 | } 31 | 32 | 33 | 34 | /// 35 | /// Interaction logic for StringListItemControl.xaml 36 | /// 37 | public partial class StringListItemControl : UserControl { 38 | 39 | public StringListItemControl(string value, int id) { 40 | InitializeComponent(); 41 | 42 | tb.Text = value; 43 | btn.Tag = id; 44 | } 45 | 46 | 47 | private void btnDelete_Click(object sender, RoutedEventArgs e) { 48 | var btn = sender as RoundMetroButton; 49 | 50 | var e2 = new DeleteStringListItemRoutedEventArgs(RemovedItemEvent); 51 | 52 | e2.Id = (int)btn.Tag; 53 | 54 | RaiseEvent(e2); 55 | } 56 | 57 | 58 | 59 | public static readonly RoutedEvent RemovedItemEvent = EventManager.RegisterRoutedEvent("RemovedItem", 60 | RoutingStrategy.Direct, typeof(EventHandler), typeof(StringListItemControl)); 61 | 62 | public event EventHandler RemovedItem { 63 | add { AddHandler(RemovedItemEvent, value); } 64 | remove { RemoveHandler(RemovedItemEvent, value); } 65 | } 66 | 67 | 68 | 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/TextEditor.xaml: -------------------------------------------------------------------------------- 1 |  9 | 11 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 36 | 37 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/TextInputControl.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/TextInputImageButton.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/TextInputImageButton.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: TextInputImageButton.xaml.cs 5 | Created: 2012-12-23 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Windows; 17 | using System.Windows.Controls; 18 | 19 | namespace ServiceBusMQManager.Controls { 20 | /// 21 | /// Interaction logic for TextInputImageButton.xaml 22 | /// 23 | public partial class TextInputImageButton : UserControl { 24 | public TextInputImageButton() { 25 | InitializeComponent(); 26 | } 27 | 28 | 29 | 30 | private void btn_Click(object sender, RoutedEventArgs e) { 31 | RaiseEvent(new RoutedEventArgs(ClickEvent)); 32 | } 33 | 34 | public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent("Click", 35 | RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(TextInputImageButton)); 36 | 37 | public event RoutedEventHandler Click { 38 | add { AddHandler(ClickEvent, value); } 39 | remove { RemoveHandler(ClickEvent, value); } 40 | } 41 | 42 | 43 | 44 | public static readonly DependencyProperty SourceProperty = 45 | DependencyProperty.Register("Source", typeof(string), typeof(TextInputImageButton), new UIPropertyMetadata(string.Empty)); 46 | 47 | public string Source { 48 | get { return (string)GetValue(SourceProperty); } 49 | set { SetValue(SourceProperty, value); } 50 | } 51 | 52 | 53 | 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/TextInputLabelButton.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Controls/TextInputLabelButton.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: TextInputLabelButton.xaml.cs 5 | Created: 2012-12-23 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System.Windows; 17 | using System.Windows.Controls; 18 | 19 | namespace ServiceBusMQManager.Controls { 20 | /// 21 | /// Interaction logic for TextInputLabelButton.xaml 22 | /// 23 | public partial class TextInputLabelButton : UserControl { 24 | public TextInputLabelButton() { 25 | InitializeComponent(); 26 | } 27 | 28 | 29 | private void btn_Click(object sender, RoutedEventArgs e) { 30 | RaiseEvent(new RoutedEventArgs(ClickEvent)); 31 | } 32 | 33 | public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent("Click", 34 | RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(TextInputLabelButton)); 35 | 36 | public event RoutedEventHandler Click { 37 | add { AddHandler(ClickEvent, value); } 38 | remove { RemoveHandler(ClickEvent, value); } 39 | } 40 | 41 | 42 | 43 | public static readonly DependencyProperty TextProperty = 44 | DependencyProperty.Register("Text", typeof(string), typeof(TextInputLabelButton), new UIPropertyMetadata(string.Empty)); 45 | 46 | public string Text { 47 | get { return (string)GetValue(TextProperty); } 48 | set { SetValue(TextProperty, value); } 49 | } 50 | 51 | 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Dialogs/CreateTemplateDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | #region File Information 2 | /******************************************************************** 3 | Project: ServiceBusMQManager 4 | File: CreateTemplateDialog.xaml.cs 5 | Created: 2012-11-24 6 | 7 | Author(s): 8 | Daniel Halan 9 | 10 | (C) Copyright 2012 Ingenious Technology with Quality Sweden AB 11 | all rights reserved 12 | 13 | ********************************************************************/ 14 | #endregion 15 | 16 | using System; 17 | using System.Linq; 18 | using System.Windows; 19 | using System.Windows.Controls; 20 | using System.Windows.Input; 21 | 22 | using ServiceBusMQ; 23 | 24 | namespace ServiceBusMQManager.Dialogs { 25 | /// 26 | /// Interaction logic for CreateTemplateDialog.xaml 27 | /// 28 | public partial class CreateTemplateDialog : Window { 29 | 30 | DataTemplateManager.DataTemplate[] _existing; 31 | Type _type; 32 | 33 | public CreateTemplateDialog(DataTemplateManager.DataTemplate[] existing, Type type) { 34 | InitializeComponent(); 35 | 36 | _existing = existing; 37 | _type = type; 38 | 39 | tbName.Focus(); 40 | } 41 | 42 | private void btnCreate_Click(object sender, RoutedEventArgs e) { 43 | 44 | if( !string.IsNullOrEmpty(tbName.Text) ) 45 | DialogResult = true; 46 | } 47 | 48 | 49 | private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { 50 | this.MoveOrResizeWindow(e); 51 | } 52 | 53 | 54 | private void Window_MouseMove(object sender, MouseEventArgs e) { 55 | Cursor = this.GetBorderCursor(); 56 | } 57 | 58 | private void HandleCloseClick(Object sender, RoutedEventArgs e) { 59 | Close(); 60 | } 61 | 62 | private void tbName_TextChanged(object sender, TextChangedEventArgs e) { 63 | bool exist = _existing.Any( s => s.TypeName == _type.FullName && string.Compare(s.Name, tbName.Text, true) == 0 ); 64 | 65 | if( exist ) { 66 | lbInfo.Content = "Template with that name already exists"; 67 | } else { 68 | if( lbInfo.Content != null ) 69 | lbInfo.Content = null; 70 | } 71 | 72 | btnCreate.IsEnabled = tbName.Text.Length > 0 && !exist; 73 | } 74 | 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-Processed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-Processed.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-Processed.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-Processed.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-Send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-Send.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-processed-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-processed-warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-processed-warn.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-processed-warn.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-send-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-send-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command-warn.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command-warn.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Command.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Command.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Delete.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Delete.selected-org.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Delete.selected-org.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Delete.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Delete.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Delete.selected16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Delete.selected16.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Error-Processed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Error-Processed.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Error-Processed.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Error-Processed.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Error-background-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Error-background-icon.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Error-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Error-black.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Error.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Error.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Error.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event-Processed-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event-Processed-warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event-Processed-warn.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event-Processed-warn.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event-Processed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event-Processed.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event-Processed.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event-Processed.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event-warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event-warn.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event-warn.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Event.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Event.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Item-Icon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Item-Icon.psd -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Message.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Error.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Error.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Error.psd -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Error2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Error2.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Info.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Info.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Info.psd -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Warn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Warn -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Msg.Warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Msg.Warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Settings.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/Settings.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/Settings.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/StackTrace-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/StackTrace-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/StackTrace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/StackTrace.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/add-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/add-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/add.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.arrow.down.up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.arrow.down.up.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.arrow.left.right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.arrow.left.right.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.camera.flash.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.camera.flash.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.chevron.right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.chevron.right.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.console.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.email-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.email-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.email.hardedge-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.email.hardedge-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.email.minimal-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.email.minimal-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.email.minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.email.minimal.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.email.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.reply.email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.reply.email.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/appbar.stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/appbar.stop.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/back-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/back-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/back.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/calendar-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/calendar-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/calendar.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/clock-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/clock-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/copy-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/copy-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/delete-item-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/delete-item-gray.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/delete-item-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/delete-item-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/delete-item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/delete-item.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/delete-item2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/delete-item2.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/doc.xml-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/doc.xml-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/doc.xml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/doc.xml.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/edit-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/edit-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/folder.open-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/folder.open-gray.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/folder.open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/folder.open.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/history-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/history-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/history.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/info-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/info-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/info.circle-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/info.circle-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/info.circle.dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/info.circle.dark.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/info.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/info1-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/info1-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/info1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/info1.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/lightbulb-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/lightbulb-gray.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/lightbulb.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/lightbulb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/lightbulb2.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/lightbulb3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/lightbulb3.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/loading-bar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/loading-bar.gif -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/loading-queues.GIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/loading-queues.GIF -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/loading-white.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/loading-white.gif -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/loading.gif -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/loading2.GIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/loading2.GIF -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/main.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/main.ico -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/main24ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/main24ico.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/main32ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/main32ico.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message-Processed-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message-Processed-warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message-Processed-warn.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message-Processed-warn.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message-Processed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message-Processed.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message-Processed.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message-Processed.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message-warn.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message-warn.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message-warn.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/message.selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/message.selected.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/minimize.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/next-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/next-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/pinned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/pinned.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/refresh-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/refresh-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/refresh.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/save-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/save-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/save.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/sbmqm-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/sbmqm-logo.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/sbmqm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/sbmqm.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/sbmqm.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/sbmqm.psd -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/search-filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/search-filter.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/search-item-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/search-item-gray.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/search-item-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/search-item-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/search-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/search-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/search.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/subscribe_rss_icon_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/subscribe_rss_icon_black.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/template-fold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/template-fold.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/trayIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/trayIcon.ico -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/trayIconActivity.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/trayIconActivity.ico -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/unpinned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/unpinned.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/viewSubs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/viewSubs.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/warning-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/warning-white.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Images/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Images/warning.png -------------------------------------------------------------------------------- /src/ServiceBusMQManager/NLog.config: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | 11 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34014 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ServiceBusMQManager.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/Properties/main.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/Properties/main.ico -------------------------------------------------------------------------------- /src/ServiceBusMQManager/SampleData/QueueItemSampleData.xaml: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/SciLexer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/SciLexer.dll -------------------------------------------------------------------------------- /src/ServiceBusMQManager/SciLexer64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/SciLexer64.dll -------------------------------------------------------------------------------- /src/ServiceBusMQManager/ServiceBusMQ.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/ServiceBusMQManager/ServiceBusMQ.snk -------------------------------------------------------------------------------- /src/ServiceBusMQManager/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/ServiceBusMQManager/sendCommands.bat: -------------------------------------------------------------------------------- 1 | 2 | FOR /L %%G IN (1,1,2000) DO bin\Release\ServiceBusMQManager.exe --send Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test;Test -------------------------------------------------------------------------------- /src/libraries/NServiceBus.Profiler.Common/NServiceBus.Profiler.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/libraries/NServiceBus.Profiler.Common/NServiceBus.Profiler.Common.dll -------------------------------------------------------------------------------- /src/libraries/Newtonsoft.Json/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/libraries/Newtonsoft.Json/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /src/libraries/Ookii.Dialogs.Wpf/Ookii.Dialogs.Wpf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/libraries/Ookii.Dialogs.Wpf/Ookii.Dialogs.Wpf.dll -------------------------------------------------------------------------------- /src/libraries/WpfAnimatedGif-1.3.5/WpfAnimatedGif.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danielHalan/ServiceBusMQManager/467d7a53ade8abaf37ef9dbcb23acd36f5aa7598/src/libraries/WpfAnimatedGif-1.3.5/WpfAnimatedGif.dll --------------------------------------------------------------------------------