public void ExecuteCommands()
        {
            _console.WriteLine("EXECUTING COMMANDS.");

            while (Commands.Count > 0)
            {
                var command = Commands.Dequeue();
                command.Execute();
                _undoStack.Push(command);
            }
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
 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();
 }
Ejemplo n.º 10
0
        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));
        }
Ejemplo n.º 11
0
        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));
            }
        }
Ejemplo n.º 12
0
        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();
        }
Ejemplo n.º 13
0
        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;
            }
        }
Ejemplo n.º 14
0
 public void WriteLine(string text)
 {
     OnConsoleWrite(text + Environment.NewLine);
     Console?.WriteLine(text);
 }
Ejemplo n.º 15
0
 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);
     }
 }