public List <string> GetActivities()
        {
            var list = new List <string>();

            if (StateRequestQueue.Any())
            {
                list.Add("states");
            }
            if (CommandRequestQueue.Any())
            {
                list.Add("commands");
            }
            if (ChangesQueue.Any())
            {
                list.Add("changes");
            }
            if (_appConfigFlag)
            {
                list.Add("applicationConfig");
            }
            if (_platformConfigFlag)
            {
                list.Add("platformConfig");
            }

            return(list);
        }
        public void SendCommand(string commandName, string targetId, Dictionary <string, string> parameters)
        {
            var cmd = new Command()
            {
                MessageId         = Guid.NewGuid(),
                CorrelationId     = Guid.NewGuid(),
                PreviousMessageId = null,
                TimeStamp         = DateTimeOffset.Now,
                Ttl                = TimeSpan.FromMinutes(5),
                Entity             = targetId,
                CommandName        = commandName,
                RequestingEntity   = "System.Server:SampleServer",
                PermissionedEntity = ""
            };

            foreach (var item in parameters ?? Enumerable.Empty <KeyValuePair <string, string> >())
            {
                cmd.Parameters.Add(item.Key, item.Value);
            }


            CommandRequestQueue.Enqueue(cmd);
        }