Пример #1
0
        new static void Main(string[] args)
        {
            AppBase.Program <AppSettings> .Main(args);

            Reload.Execute(ref AppSettings);

            while (true)
            {
                Console.Write("> ");
                var input = Console.ReadLine();
                var arg   = input.Contains(" ")
                    ? new string[] { input.Substring(0, input.IndexOf(" ")), input.Substring(input.IndexOf(" ") + 1) }
                    : new string[] { input };

                Parser.Default
                .ParseArguments <Login, CreateQuery, UpdateQuery, InsertQuery, DeleteQuery, Print, Reload, Exit>(arg)
                .MapResult(
                    (Login opts) => Login.Execute(ref AppSettings, ref Generator, opts),
                    (CreateQuery opts) => new CreateQuery().Execute(ref AppSettings, ref Generator, opts),
                    (UpdateQuery opts) => new UpdateQuery().Execute(ref AppSettings, ref Generator, opts),
                    (InsertQuery opts) => new InsertQuery().Execute(ref AppSettings, ref Generator, opts),
                    (DeleteQuery opts) => new DeleteQuery().Execute(ref AppSettings, ref Generator, opts),
                    (Print opts) => Print.Execute(ref AppSettings, opts),
                    (Reload opts) => Reload.Execute(ref AppSettings, opts),
                    (Exit opts) => Exit.Execute(opts),
                    errs => 1);

                if (arg.Length == 1 && arg[0] == "exit")
                {
                    break;
                }
            }

            Exit.Execute();
        }
Пример #2
0
        new static void Main(string[] args)
        {
            AppBase.Program <AppSettings> .Main(args);

            Reload.Execute(ref AppSettings);

            while (true)
            {
                Console.Write("> ");
                var arg = Console.ReadLine().Split(' ');

                Parser.Default
                .ParseArguments <Exit, Login, Run, Reload, Print>(arg)
                .MapResult(
                    (Login opts) => Login.Execute(ref AppSettings, ref Updater, opts),
                    (Run opts) => Run.Execute(ref AppSettings, ref Updater, opts),
                    (Reload opts) => Reload.Execute(ref AppSettings, opts),
                    (Print opts) => Print.Execute(ref AppSettings, opts),
                    (Exit opts) => Exit.Execute(opts),
                    errs => 1);

                if (arg.Length == 1 && arg[0] == "exit")
                {
                    break;
                }
            }

            Exit.Execute();
        }
Пример #3
0
        private void Reload()
        {
            var command = new Reload();
            var context = GetContext();

            if (!command.CanExecute(context))
            {
                return;
            }

            AppHost.Usage.ReportCommand(command, context);
            command.Execute(context);
        }