Example #1
0
        static void Main(string[] args)
        {
            var reader = new ConsoleInputReader();
            var writer = new ConsoleOutputWriter();

            new Solver(reader, writer).Solve();
        }
        public static void Main()
        {
            var database = new PerformanceDatabase();
            var reader = new ConsoleInputReader();
            var writer = new ConsoleOutputWriter();

            var engine = new Engine(database, reader, writer);
            engine.Run();
        }
    public static void Main()
    {
        IInputReader  inputReader  = new ConsoleInputReader();
        IOutputWriter outputWriter = new ConsoleOutputWriter();
        HeroManager   manager      = new HeroManager();

        Engine engine = new Engine(inputReader, outputWriter, manager);

        engine.Run();
    }
Example #4
0
        public static void Run(bool detailed)
        {
            var result = ListCommandHandler.Run();

            if (result.Messages.Any())
            {
                ConsoleOutputWriter.WriteToConsole(result.Messages);
            }
            ConsoleOutputWriter.WriteToConsole(detailed, result.Programs);
        }
Example #5
0
        public static IEnumerable <ConsoleColorOutput> Run(StartupProgram program)
        {
            var existingPrograms     = ListCommandHandler.Run().Programs.ToList();
            var programAlreadyStarts = existingPrograms.FirstOrDefault(x => x.Path.Contains(program.File.FullName, StringComparison.OrdinalIgnoreCase) && !x.Disabled);
            var nameInUseBy          = existingPrograms.FirstOrDefault(x => x.Name.Equals(program.Name, StringComparison.OrdinalIgnoreCase));

            if (nameInUseBy != null)
            {
                return(new [] {
                    new ConsoleColorOutput(WriteMode.Write, program.Name, ConsoleColor.Yellow),
                    new ConsoleColorOutput(WriteMode.Writeline, " is already in use, please try again with a different name", ConsoleColor.Red),
                });
            }

            if (programAlreadyStarts != null)
            {
                var messages = new [] {
                    new ConsoleColorOutput(WriteMode.Write, program.File.Name, ConsoleColor.Yellow),
                    new ConsoleColorOutput(WriteMode.Writeline, " already starts with windows", ConsoleColor.Red),
                    new ConsoleColorOutput(WriteMode.Write, "Want to add another instance of it to startup? y/n: "),
                };
                ConsoleOutputWriter.WriteToConsole(messages);

                var userWantsToContinue = ConsoleStepWizard.PromptUserForBool("y", "n", $"Want to add another? y/n: ");
                if (!userWantsToContinue)
                {
                    return(new List <ConsoleColorOutput>());
                }
            }

            if (program.AllUsers || program.Administrator)
            {
                if (!WindowsIdentityService.IsElevated())
                {
                    return(new [] {
                        new ConsoleColorOutput(WriteMode.Writeline, "This requires you run the command as administrator", ConsoleColor.Red)
                    });
                }
            }

            //Current user only programs requires a schedule task to run as Administrator
            if (program.Administrator && !program.AllUsers)
            {
                TaskSchedulerService.AddProgramToStartup(program);
            }
            else
            {
                RegistryService.AddProgramToStartup(program);
            }
            return(new [] {
                new ConsoleColorOutput(WriteMode.Write, "Added "),
                new ConsoleColorOutput(WriteMode.Write, program.Name, ConsoleColor.Yellow),
                new ConsoleColorOutput(WriteMode.Writeline, " to startup")
            });
        }
Example #6
0
        public static IEnumerable <ConsoleColorOutput> Run(string name, bool confirm)
        {
            var program = ListCommandHandler.Run().Programs.FirstOrDefault(x => x.Name.Equals(name, StringComparison.OrdinalIgnoreCase));

            if (program == null)
            {
                return(new [] {
                    new ConsoleColorOutput(WriteMode.Write, "Could not find a program with name ", ConsoleColor.Red),
                    new ConsoleColorOutput(WriteMode.Writeline, name, ConsoleColor.Yellow),
                });
            }

            if (program.RequireAdministrator && !WindowsIdentityService.IsElevated())
            {
                return(new [] {
                    new ConsoleColorOutput(WriteMode.Write, $"To modify settings for ", ConsoleColor.Red),
                    new ConsoleColorOutput(WriteMode.Write, program.Name, ConsoleColor.Yellow),
                    new ConsoleColorOutput(WriteMode.Writeline, " you need to run the command with administrator (sudo)", ConsoleColor.Red),
                });
            }

            if (!confirm)
            {
                var message  = $"Are you sure you want to remove '{program.Name}' y/n: ";
                var messages = new [] {
                    new ConsoleColorOutput(WriteMode.Write, message),
                };
                ConsoleOutputWriter.WriteToConsole(messages);
                var confirmation = ConsoleStepWizard.PromptUserForBool("y", "n", message);
                if (!confirmation)
                {
                    return(new List <ConsoleColorOutput>());
                }
            }

            switch (program.Type)
            {
            case Models.StartupList.StartupType.TaskScheduler:
                TaskSchedulerService.RemoveProgramFromStartup(program.Name);
                break;

            case Models.StartupList.StartupType.Shortcut:
                DirectoryService.RemoveProgramFromStartup(program);
                break;

            case Models.StartupList.StartupType.Regedit:
                RegistryService.RemoveProgramFromStartup(program);
                break;
            }
            return(new [] {
                new ConsoleColorOutput(WriteMode.Write, program.Name, ConsoleColor.Yellow),
                new ConsoleColorOutput(WriteMode.Writeline, " has been removed"),
            });
        }
        public static void Main()
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

            var database = new HotelBookingSystemData();
            var reader = new ConsoleInputReader();
            var writer = new ConsoleOutputWriter();
            var engine = new Engine(database, reader, writer);

            engine.StartOperation();
        }
Example #8
0
        public static void Main()
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

            var database = new HotelBookingSystemData();
            var reader   = new ConsoleInputReader();
            var writer   = new ConsoleOutputWriter();
            var engine   = new Engine(database, reader, writer);

            engine.StartOperation();
        }
Example #9
0
    public static void Main()
    {
        IInputReader  inputReader  = new ConsoleInputReader();
        IOutputWriter outputWriter = new ConsoleOutputWriter();
        IHeroFactory  factory      = new HeroFactory();
        IInventory    inventory    = new HeroInventory();
        IList <IHero> heroes       = new List <IHero>();
        IManager      manager      = new HeroManager(factory, inventory, heroes);
        Engine        engine       = new Engine(inputReader, outputWriter, manager);

        engine.Run();
    }
Example #10
0
        static void Main(string[] args)
        {
            var            flightBuilder  = new FlightBuilder();
            IList <Flight> flights        = flightBuilder.GetFlights();
            var            flightSelector = GetFlightSelector();

            var filteredFlights = flightSelector.Select(flights);

            var outputWriter = new ConsoleOutputWriter(new ConsoleWrapper());

            outputWriter.Write(filteredFlights);
        }
Example #11
0
        public MainWindow(MainWindowViewModel viewModel)
        {
            this.DataContext = viewModel;

            InitializeComponent();
            ConsoleOutputWriter writer = new ConsoleOutputWriter(this.ConsoleTextBox);

            Console.SetOut(writer);

            this.StreamKey.Password     = ApplicationSettings.Default.AuthKey;
            this.WeatherApiKey.Password = ApplicationSettings.Default.OpenWeatherMapApiKey;
        }
Example #12
0
        /// <summary>
        /// The Main method of the project.
        /// </summary>
        /// <param name="args">Arguments passed to the Main method.</param>
        public static void Main(string[] args)
        {
            IRepository<ICommand> commandRepository = new CommandRepository();
            IHandler<ICommandArguments> commandHandler = new CommandHandler(commandRepository);
            IInputReader inputReader = new ConsoleInputReader();
            IOutputWriter outputWriter = new ConsoleOutputWriter();
            IRepository<IBlob> blobRepository = new BlobRepository();
            ICommandArguments commandArguments = new CommandArguments(blobRepository, outputWriter);
            IEngine gameEngine = new Engine(commandHandler, commandArguments, inputReader, (IUpdateable)blobRepository);
            commandArguments.Stopable = gameEngine;

            gameEngine.Run();
        }
Example #13
0
        public async Task FetchJson_Convert_WriteOutput()
        {
            var logger    = new TestContextLogger();
            var reader    = new PeopleJsonReader(logger);
            var jsonModel = await reader.GetModel();

            Assert.IsNotNull(jsonModel);

            var converter = new PeopleConverter();
            var model     = converter.Convert(jsonModel);
            var writer    = new ConsoleOutputWriter(logger);

            writer.Write(model);
        }
Example #14
0
        private static IOutputWriter GetOutputWriter(CommandOptions options)
        {
            IOutputWriter outputWriter = null;

            if (options.IsTextOutput)
            {
                outputWriter = new ConsoleOutputWriter();
            }
            else
            {
                outputWriter = new FileStreamOutputWriter(options.OutputPath);
            }

            return(new AutoIndentOutputWriter(outputWriter));
        }
Example #15
0
        public static void Main(string[] args)
        {
            string stopJSON;
            string transportAndScheduleJSON;

            using (WebClient webClient = new WebClient())
            {
                stopJSON = webClient.DownloadString("https://api.trafi.com/api/stops?userLocationId=kaunas");
                transportAndScheduleJSON = webClient.DownloadString("https://api.trafi.com/api/v3/schedules?userLocationId=kaunas");
            }

            ILocationParser locationParser   = new TrafiApiLocationParser(stopJSON);
            var             locationsWithIds = ((TrafiApiLocationParser)locationParser).ParseLocationsWithIds();

            ITransportParser transportParser = new TrafiApiTransportParser(transportAndScheduleJSON);
            var transports = transportParser.ParseTransports(locationsWithIds);

            IGraphFormer <AStarNode> graphFormer = new GraphFormer <AStarNode>();
            var stopGraph = graphFormer.FormGraph(locationsWithIds, transports);

            ITransitAdder pedestrianPathAdder = new PedestrianTransitAdder();

            stopGraph = pedestrianPathAdder.AddTransits(stopGraph);

            IWeightCalculator       weightCalculator    = new PenalisingWeightCalculator(new WeightCalculator());
            IWeightCalculator       heuristicCalculator = new HeuristicCalculator();
            IPathFinder <AStarNode> pathFinder          = new AStarPathFinder(stopGraph, weightCalculator, heuristicCalculator);

            IInputReader  inputReader  = new ConsoleInputReader();
            IOutputWriter outputWriter = new ConsoleOutputWriter();
            var           stopWatch    = new Stopwatch();

            var startingStopID = ((ConsoleInputReader)inputReader).ReadStopID(locationsWithIds);
            var endingStopID   = ((ConsoleInputReader)inputReader).ReadStopID(locationsWithIds);
            var departureTime  = inputReader.ReadTime();

            stopWatch.Reset();
            stopWatch.Start();
            var path = pathFinder.FindBestPath(stopGraph.Nodes[startingStopID], stopGraph.Nodes[endingStopID], departureTime);

            stopWatch.Stop();

            path.Squash();
            outputWriter.WriteElapsedTime(stopWatch.Elapsed);
            outputWriter.WritePath(path);
        }
Example #16
0
        static async Task Main(string[] _)
        {
            // see http://agl-developer-test.azurewebsites.net/

            var logger = new ConsoleLogger();

            var reader    = new PeopleJsonReader(logger);
            var jsonModel = await reader.GetModel();

            if (jsonModel != null)
            {
                var converter = new PeopleConverter();
                var model     = converter.Convert(jsonModel);
                var writer    = new ConsoleOutputWriter(logger);
                writer.Write(model);
            }

            // todo: DI for JSON web request and Console output

            // HttpClientFactory for web request - note where to add auth, retries, etc.

            // end-to-end integration tests
        }
Example #17
0
        public static void Run(string name)
        {
            var messages = EnableDisableCommandHandler.Run(name, false);

            ConsoleOutputWriter.WriteToConsole(messages);
        }
Example #18
0
        private static void ExecuteHandler(StartupProgram startupProgram)
        {
            var messages = AddCommandHandler.Run(startupProgram);

            ConsoleOutputWriter.WriteToConsole(messages);
        }
Example #19
0
 public ConsoleOutputWriterTest()
 {
     this.writer = new ConsoleOutputWriter(captureStandardOut: false);
 }
Example #20
0
        public static void Run(string name, bool confirm)
        {
            var result = RemoveCommandHandler.Run(name, confirm);

            ConsoleOutputWriter.WriteToConsole(result);
        }
Example #21
0
 /// <summary>
 ///     Writes the specified format.
 /// </summary>
 /// <param name="format">The format.</param>
 /// <param name="header">The header.</param>
 /// <param name="color">The color.</param>
 internal static void Write(string format, string header, ConsoleColor color = ConsoleColor.White)
 => ConsoleOutputWriter.Write(format, header, color);