コード例 #1
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
 public void Execute(ConsoleEnvironment env, string[] args)
 {
     if (args.Length != 1)
         throw new ArgumentException("Expected at least 2 args");
     var id = int.Parse(args[0]);
     env.FactoryAppService.When(new OpenFactory(new FactoryId(id)));
 }
コード例 #2
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
        public void Execute(ConsoleEnvironment env, string[] args)
        {
            if (args.Length < 2)
                throw new ArgumentException("Expected at least 2 args");

            var id = int.Parse(args[0]);
            var name = args[1];
            var parts = args.Skip(2).GroupBy(s => s).Select(g => new CarPart(g.Key, g.Count())).ToArray();
            env.FactoryAppService.When(new ReceiveShipmentInCargoBay(new FactoryId(id), name, parts));
        }
コード例 #3
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
 public void Execute(ConsoleEnvironment env, string[] args)
 {
     if (args.Length < 2)
     {
         throw new ArgumentException("Expected at least 2 args");
     }
     var id = int.Parse(args[0]);
     var name = string.Join(" ", args.Skip(1));
     env.FactoryAppService.When(new AssignEmployeeToFactory(new FactoryId(id), name));
 }
コード例 #4
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
 public void Execute(ConsoleEnvironment env, string[] args)
 {
     if (args.Length < 2)
     {
         throw new ArgumentException("Expected at least 2 args");
     }
     
     var design = args[0];
     var parts = args.Skip(1).GroupBy(s => s).Select(g => new CarPart(g.Key, g.Count())).ToArray();
     env.Blueprints.Register(design, parts);
 }
コード例 #5
0
 public void Execute(ConsoleEnvironment env, string[] args)
 {
     if (args.Length > 0)
     {
         IShellAction value;
         if (!env.Handlers.TryGetValue(args[0], out value))
         {
             env.Log.Error("Can't find help for '{0}'", args[0]);
             return;
         }
         env.Log.Info(value.Usage ?? "No Help available");
         return;
     }
     env.Log.Info("Available commands");
     foreach (var handler in env.Handlers)
     {
         env.Log.Info("  {0}", handler.Key.ToUpperInvariant());
         if (!string.IsNullOrWhiteSpace(handler.Value.Usage))
         {
             env.Log.Info("    {0}", handler.Value.Usage);
         }
     }
 }
コード例 #6
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
        public void Execute(ConsoleEnvironment env, string[] args)
        {
            int factoryId = 1;
            if (args.Length>0)
            {
                int.TryParse(args[0], out factoryId);
            }
            var id = new FactoryId(factoryId);
            var story = new List<ICommand>
                {
                    new OpenFactory(id),
                    new AssignEmployeeToFactory(id, "Luke"),
                    new AssignEmployeeToFactory(id, "Han"),
                    new ReceiveShipmentInCargoBay(id, "from uncle Ben", new[]
                        {
                            new CarPart("wheel", 10),
                            new CarPart("light saber", 2),
                            new CarPart("C3P0", 1),
                        }),
                    new ReceiveShipmentInCargoBay(id, "from Yoda", new[]
                        {
                            new CarPart("engine", 2),
                            new CarPart("chassis", 1),
                        }),
                    new UnpackAndInventoryShipmentInCargoBay(id, "Han"),
                    new ProduceACar(id, "Luke", "model-t")
                };

            foreach (var command in story)
            {
                env.FactoryAppService.Execute(command);
            }
        }
コード例 #7
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
 public void Execute(ConsoleEnvironment env, string[] args)
 {
     Environment.Exit(0);
 }
コード例 #8
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
        public void Execute(ConsoleEnvironment env, string[] args)
        {
            if (args.Length > 0)
            {
                IShellAction value;
                if (!env.Handlers.TryGetValue(args[0], out value))
                {
                    env.Log.Error("Can't find help for '{0}'", args[0]);
                    return;
                }
                env.Log.Info(value.Usage ?? "No Help available");
                return;
            }
            env.Log.Info("Available commands");
            foreach (var handler in env.Handlers)
            {
                env.Log.Info("  {0}", handler.Key.ToUpperInvariant());
                if (!string.IsNullOrWhiteSpace(handler.Value.Usage))
                {
                    env.Log.Info("    {0}", handler.Value.Usage);
                }
            }

        }
コード例 #9
0
ファイル: ConsoleActions.cs プロジェクト: PeddleM/btw-samples
        public void Execute(ConsoleEnvironment env, string[] args)
        {
            if (args.Length < 2)
            {
                throw new ArgumentException("Expected at least 2 args");
            }
            var id = int.Parse(args[0]);
            var employee = string.Join(" ", args.Skip(1));
            env.FactoryAppService.When(new UnpackAndInventoryShipmentInCargoBay(new FactoryId(id), employee));

        }
コード例 #10
0
 public void Execute(ConsoleEnvironment env, string[] args)
 {
     Environment.Exit(0);
 }