public void ExecuteCommands() { _console.WriteLine("EXECUTING COMMANDS."); while (Commands.Count > 0) { var command = Commands.Dequeue(); command.Execute(); _undoStack.Push(command); } }
private static void AddCommandListText(IConsoleAdapter console, CommandLineInterpreterConfiguration config, IOptionNameHelpAdorner adorner, CommandExecutionMode executionMode) { var commands = config.Commands.Where(c => c.Name != null && CommandModeFilter(executionMode, c)).OrderBy(c => c.Name).ToList(); if (commands.Any()) { console.WriteLine("Available commands"); console.WriteLine(); var commandItems = commands.Select(c => new { Command = c.Name, Text = FormatShortCommandDescription(c) }); console.FormatTable(commandItems, FormattingOptions, ColumnSeperator); } }
private void ReportDatabases(IConsoleAdapter console, Server srv) { console.FormatTable(new[] { new { Server = Server, Version = srv.Information.Version } }); console.WriteLine(); console.WrapLine("Databases"); console.WriteLine(); var databases = srv.Databases.Enumerate() .Where(d => !d.IsSystemObject) .Select(d => new { d.Name, d.CreateDate, Size = $"{d.Size} MB" }) .OrderBy(d => d.CreateDate); console.FormatTable(databases); console.WriteLine(); }
public void Handle(IConsoleAdapter console, IErrorAdapter error) { var context = BlobContextFactory.Get(this, true); var container = context.GetContainer("test"); console.WrapLine("Getting a shared access signature:"); console.WrapLine(container.GetSharedAccessSignature(30).Cyan()); console.WrapLine("Uploading to test.txt"); container.UploadText("test.txt", "my test text"); console.WriteLine(); console.WrapLine("Listing blobs"); console.FormatTable(container.ListBlobs("").Select(s => new { BlobName = s })); console.WrapLine("Deleting blob"); container.DeleteBlob("test.txt"); console.WriteLine(); console.WrapLine("Listing blobs again"); console.FormatTable(container.ListBlobs("").Select(s => new { BlobName = s })); console.WriteLine(); console.WrapLine("Uploading stream data"); using (var data = File.OpenRead(Assembly.GetExecutingAssembly().Location)) { container.Upload("exedata", data); } console.WriteLine(); console.WrapLine("Downloading stream data"); using (var stream = container.OpenStream("exedata")) { var bytesRead = 0; var totalBytesRead = 0; var buffer = new Byte[100]; while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; } console.WrapLine($"{totalBytesRead} read."); } }
public void Move(int forwardDistance) { if (forwardDistance == 0) { return; } if (forwardDistance > 0) { _console.WriteLine("Robot moved forwards {0}mm.", forwardDistance); } else { _console.WriteLine("Robot moved backwards {0}mm.", -forwardDistance); } }
public void Handle(IConsoleAdapter adapter) { if (!DbOptions.ValidateDatabaseParameters(adapter)) { return; } adapter.WrapLine("Server: {0} Database: {1}", DbOptions.Server ?? "(config)", DbOptions.Database ?? "(config)"); adapter.WriteLine(); adapter.WrapLine("Export data from {0} to {1} to file \"{2}\".", From.ToString().White(), To.ToString().White(), File.White()); adapter.WriteLine(); }
public void Handle(IConsoleAdapter console, IErrorAdapter error) { console.WrapLine("Default table format"); console.WriteLine(); var data1 = Enumerable.Range(0, 5) .Select(i => new {Text = string.Format("item {0}", i), Index = i}); console.FormatTable(data1); console.WriteLine(); var report = Enumerable.Range(0, 5) .Select(i => new {Text = string.Format("item {0}", i), Index = i}) .AsReport(x => x.AddColumn(c => c.Index, d => d.Heading("Just The Index")) .AddColumn(c => string.Format("{0} miles", c.Index*2), d => d.Heading("Index in miles"))); console.WriteLine(); console.WrapLine("Report with custom headings"); console.WriteLine(); console.FormatTable(report); console.WriteLine(); var report2 = Enumerable.Range(0, 5) .Select(i => new {Text = string.Format("item {0}", i), Index = i}) .AsReport(x => x.AddColumn(c => c.Index, d => d.Heading("Fixed Width Index (12 wide)") .Width(12)) .AddColumn(c => string.Format("{0} miles", c.Index*2), d => d.Heading("Index in miles"))); console.WriteLine(); console.WrapLine("Report with fixed width column"); console.WriteLine(); console.FormatTable(report2); }
public void Handle(IConsoleAdapter console) { console.WrapLine("Get user input".BGWhite().Black()); console.WriteLine(); var item = console.ReadInput(new {String = Read.String().Prompt("Enter some text".Yellow())}); var characters = item.String.Value .Select(c => string.Format(@"""{0}"" = {1}".Red(), ConsoleIOExtensions.Yellow(c.ToString()), string.Format("{0:X}", (byte) c).PadLeft(2, '0').Green())); console.WriteLine(); console.WrapLine(string.Join(" ", characters)); console.WriteLine(); console.ReadLine(); }
private static void PrintResults(Results result) { _consoleAdapter.WriteLine($"--- {result.Title} --- Part 1"); _consoleAdapter.WriteLine($"Solution: {result.FirstResult}"); _consoleAdapter.WriteLine(); _consoleAdapter.WriteLine($"--- {result.Title} --- Part 2"); _consoleAdapter.WriteLine($"Solution: {result.SecondResult}"); _consoleAdapter.WriteLine(); _consoleAdapter.WriteLine($"Elapsed time: {result.TotalMilliseconds}ms"); _consoleAdapter.WriteLine(); }
public IActionResult Submit([FromBody] SurveyViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _consoleAdapter.WriteLine("Survey Received:"); _consoleAdapter.WriteLine(" Title: " + viewModel.Title); _consoleAdapter.WriteLine(" Name: " + viewModel.Name); _consoleAdapter.WriteLine(" Date Of Birth: " + viewModel.DateOfBirth); _consoleAdapter.WriteLine(" Location: " + viewModel.Location); _consoleAdapter.WriteLine(" Now: " + viewModel.Now); _consoleAdapter.WriteLine(" Feedback: " + viewModel.Feedback); return(Ok(viewModel)); }
private async Task ReceiveMessagesFromDeviceAsync(string partition, IConsoleAdapter adapter, CancellationToken ct) { var eventHubReceiver = _eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow); while (true) { if (ct.IsCancellationRequested) { break; } EventData eventData = await eventHubReceiver.ReceiveAsync(); if (eventData == null) { continue; } string data = Encoding.UTF8.GetString(eventData.GetBytes()); adapter.WriteLine(string.Format("Partition:{0} Message: \"{1}\"", partition, data)); } }
public void Handle(IConsoleAdapter console, IErrorAdapter error, Settings settings) { console.WriteLine("On average, encryption with compression is taking {0} to complete, press enter to continue..", ProcessingTime.GetAverageTime()); console.ReadLine(); ProcessingTime.StartTimer(); //the file is stored in a byte array called data var data = BufferUtils.GetFileContents(OriginalFile); //if they have selected the option of external key then the variable key will contain the //external key, otherwise the public key is taken from the settings object var key = OtherKey ? GetExternalKey() : settings.PublicKey; if (NoCompression) { //if the user selected the option no compression then the file is encrypted without compressing first data = PublicKeyEncryption.Encrypt(key, data); console.WrapLine("Encryption complete".Blue()); } else { //if the user didn't specify the option no compression then the file is compressed and then encrypted data = Compression.Compress(data); console.WrapLine("Compression complete".Green()); data = PublicKeyEncryption.Encrypt(key, data); console.WrapLine("Encryption complete".Blue()); } //the byte array is then written to the encrypted file location BufferUtils.WriteToFile(EncryptedFile, data); console.WrapLine("OriginalFile = {0}".Yellow(), OriginalFile.Cyan()); console.WrapLine("EncryptedFile = {0}".Yellow(), EncryptedFile.Cyan()); ProcessingTime.StopTimer(); }
public async void Handle(IConsoleAdapter console, IErrorAdapter error) { try { var table = TableContextFactory.Get(this, Constants.TestTable, true); var variables = new[] { "Alpha", "Beta", "Charlie", "Delta", "Echo" }.ToList(); var partition = DateTime.Now.ToString("s"); console.WrapLine($"Partition key = {partition}"); var entities = Enumerable.Range(0, 20) .Select(e => { var item = new TestEntity { Alpha = variables[0], Beta = variables[1], Charlie = variables[2], Delta = variables[3], Echo = variables[4], PartitionKey = partition, RowKey = variables[1] + " " + Guid.NewGuid().ToString() }; var top = variables[0]; variables.RemoveAt(0); variables.Add(top); return(item); }).ToList(); console.WrapLine("Generating entities using batch add..."); foreach (var entity in entities) { table.BatchAdd(entity); } table.BatchExecuteAsync().Wait(); console.WrapLine("Performing batch updates"); table.BatchDelete(entities[5]); entities[7].Alpha = "Updated (Batch)"; table.BatchUpdate(entities[7]); entities[8].Beta = "Updated (Batch)"; table.BatchUpdate(entities[8]); table.BatchExecuteAsync().Wait(); console.WrapLine("Performing individual delete"); table.DeleteAsync(entities[9]).Wait(); console.WrapLine("Retrieving deleted item"); var deletedItem = table.GetAsync <TestEntity>(entities[9].PartitionKey, entities[9].RowKey).Result; if (deletedItem == null) { console.WrapLine("Deleted item not found"); } else { console.WrapLine("Deleted item found".Red()); } console.WrapLine("Performing delete again"); try { table.DeleteAsync(entities[9]).Wait(); } catch { console.WrapLine("Caught exception"); } console.WrapLine("Performing individual update"); entities[10].Beta = "Updated (Individual)"; table.UpdateAsync(entities[10]).Wait(); console.WrapLine("Retrieving test partition:"); var query = new TableQuery <TestEntity>(); query.FilterString = TableQuery.GenerateFilterCondition("PartitionKey", "eq", partition); var items = table.Query(query, e => error.WrapLine($"Unable to complete query due to exception:\r\n{e.Message}")) .Select(i => new { i.Alpha, i.Beta, i.Charlie, i.Delta, i.Echo }) .OrderBy(i => i.Alpha) .ThenBy(i => i.Beta) .ThenBy(i => i.Charlie) .ThenBy(i => i.Delta) .ThenBy(i => i.Echo); console.FormatTable(items); console.WriteLine(); console.WrapLine("Running test query:"); var whereForQuery = $"PartitionKey eq '{partition}' and (Alpha eq 'Delta' or Alpha eq 'Alpha' and Delta eq 'Beta')"; var queryWithWhere = new TableQuery <TestEntity>().Where(whereForQuery); var resultWithWhere = table.Query(queryWithWhere, e => error.WrapLine($"Unable to complete query due to exception:\r\n{e.Message}")) .Select(i => new { i.Alpha, i.Beta, i.Charlie, i.Delta, i.Echo }) .OrderBy(i => i.Alpha) .ThenBy(i => i.Beta) .ThenBy(i => i.Charlie) .ThenBy(i => i.Delta) .ThenBy(i => i.Echo); console.WrapLine(whereForQuery); console.FormatTable(resultWithWhere); console.WriteLine(); console.WrapLine("Dynamic query (same where)"); var dynamicQ = new TableQuery <DynamicTableEntity> { SelectColumns = new List <string> { "Alpha", "Charlie" } }; var dynamicItems = table.CreateDynamicQuery(dynamicQ.Where(whereForQuery), e => error.WrapLine($"Unable to complete query due to exception:\r\n{e.Message}")) .Select(a => new { Alpha = a.Properties["Alpha"].StringValue, Charlie = a.Properties["Charlie"].StringValue, }) .OrderBy(i => i.Alpha) .ThenBy(i => i.Charlie) .ToList(); console.FormatTable(dynamicItems); console.WrapLine("Done"); } catch (Exception e) { error.WrapLine(e.ToString().Red()); throw; } }
public void WriteLine(string text) { OnConsoleWrite(text + Environment.NewLine); Console?.WriteLine(text); }
public void Run() { try { RunImpl(); } catch (Exception ex) { _console.SetTextStyle(ConsoleTextStyle.Error); _console.WriteLine(Resources.ErrConsoleFatalError); _console.WriteLine(ex.ToString()); _console.SetTextStyle(ConsoleTextStyle.Normal); _console.WriteLine(Resources.MsgPressAnyKeyToExit); _console.Read(); } }
public void Handle(IConsoleAdapter console, Options command, IErrorAdapter error) { console.WriteLine("Text from handler class."); error.WriteLine("Error text"); }
public void Handle(IConsoleAdapter console, IErrorAdapter error, Options command, CustomObject custom) { console.WriteLine("Custom string is \"{0}\"", custom.Message); }
public void Handle(IConsoleAdapter console, IErrorAdapter error, Options command) { console.WriteLine("Parameter is \"{0}\"", command.Pos); }
public void Handle(IConsoleAdapter adapter) { var item = adapter.ReadInput(new {String = string.Empty, Int = 0}); adapter.WriteLine(); if (item == null) { adapter.WrapLine("Invalid input. No item received."); } else { adapter.WrapLine("Input received."); adapter.WrapLine("String was \"{0}\", integer was {1}", item.String, item.Int); } }