private void Load1()
        {
            _items = new List <SavedCommandItem3>();

            foreach (var file in Directory.GetFiles(_itemsFolder, "*.cmd"))
            {
                try {
                    var cmd  = JsonFile.Read <SavedCommand>(file);
                    var cmd3 = new SavedCommand3()
                    {
                        ConnectionStrings = new Dictionary <string, object> {
                            { "server", cmd.Server }
                        },
                        ServiceBus = cmd.ServiceBus,
                        Queue      = cmd.Queue,
                        Transport  = cmd.Transport,
                        Command    = cmd.Command
                    };

                    var item = new SavedCommandItem3(cmd.DisplayName, file, false, cmd.LastSent);

                    item.SetCommand(cmd3);

                    _items.Add(item);
                } catch { }
            }

            _items = _items.OrderByDescending(i => i.LastSent).ToList();
        }
        public SavedCommandItem3 AddCommand(object command, string serviceBus, string transport, Dictionary <string, object> connectionSettings, string queue)
        {
            SavedCommandItem3 item = null;

            var co = new CompareObjects();

            foreach (var c in _items)
            {
                if (co.Compare(c.SentCommand, command))
                {
                    item = c; // TODO: When we show what ServiceBus/Server/Queue the command has been sent to,
                    // then also compare those values
                    break;
                }
            }

            if (item == null)
            {
                item = new SavedCommandItem3(command.GetType().GetDisplayName(command).CutEnd(70), null, false, DateTime.Now);

                SavedCommand3 cmd = new SavedCommand3();
                cmd.Command = command;

                cmd.ServiceBus        = serviceBus;
                cmd.Transport         = transport;
                cmd.ConnectionStrings = connectionSettings;
                cmd.Queue             = queue;

                item.SetCommand(cmd);

                _items.Insert(0, item);
            }

            item.LastSent = DateTime.Now;

            Save();

            return(item);
        }