Beispiel #1
0
        void Execute(IrcEventArgs e, DataContext context, string commandText)
        {
            if (context.Commands.Any(x => x.Username == e.Data.Nick))
            {
                var commands = context.Commands.Where(x => x.Username == e.Data.Nick).OrderBy(x => x.Posted).Select(x => x.Command).ToArray();
                var toExecute = string.Join(Environment.NewLine, commands);
                toExecute += commandText;
                RunInSandbox(toExecute, e.Data);

                foreach (var command in context.Commands.Where(x => x.Username == e.Data.Nick))
                    context.DeleteObject(command);

                context.SaveChanges();
            }
            else
            {
                RunInSandbox(commandText, e.Data);
            }
        }
Beispiel #2
0
        void QueueCommand(IrcEventArgs e, DataContext context, string commandText)
        {
            commandText = commandText.Substring(2).Trim();
            var command = new Commands { Id = Guid.NewGuid(), Command = commandText.Trim(), Posted = DateTime.Now, Username = e.Data.Nick };

            context.Commands.AddObject(command);
            context.SaveChanges();
        }