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); } }
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(); }