public void Execute(params string[] parameters) { var errors = CommandLib.ParseArguments <int>(parameters, out var parsed); if (errors.Count != 0) { Console.WriteLine($"Обнаружены ошибки ввода: {string.Join(", ", errors)}"); return; } var missing = CommandLib.CheckShapeIndexes(parsed, picture, out var indexes); if (missing.Count != 0) { Console.WriteLine($"Отсутствуют фигуры с индексами: {string.Join(", ", missing)}"); } if (indexes.Count == 0) { return; } Console.WriteLine($"Удаляем фигуры с индексами: {string.Join(", ", indexes)}"); foreach (var index in indexes) { picture.RemoveAt(index); } }
public void Execute(params string[] parameters) { // Проверяем количество параметров if (parameters.Length <= 1) { Console.WriteLine("Недостаточное количество аргументов"); return; } // Проверяем ошибки во вводе var errors = CommandLib.ParseArguments <int>(parameters, out var parsed); if (errors.Count != 0) { Console.WriteLine($"Обнаружены ошибки ввода: {string.Join(", ", errors)}"); return; } // Проверяем ширину var width = parsed[0]; if (width < 0) { Console.WriteLine("Задана неверная ширина"); return; } // Проверяем существование индексов var cut = parsed.Skip(1).ToList(); var missing = CommandLib.CheckShapeIndexes(cut, picture, out var indexes); if (missing.Count != 0) { Console.WriteLine($"Отсутствуют фигуры с индексами: {string.Join(", ", missing)}"); } // Выполняем действия if (indexes.Count == 0) { return; } Console.WriteLine($"Изменяем ширину фигур с индексами: {string.Join(", ", indexes)}"); foreach (var index in indexes) { picture.ResizeAt(index, (uint)width); } }
public void Execute(params string[] parameters) { // Проверяем количество параметров if (parameters.Length <= 1) { Console.WriteLine("Недостаточное количество аргументов"); return; } // Проверяем правильность цвета var color = Color.FromName(parameters[0]); if (!color.IsKnownColor) { Console.WriteLine("Указан неизвестный цвет!"); return; } // Проверяем ошибки во вводе индексов var cut = parameters.Skip(1).ToArray(); var errors = CommandLib.ParseArguments <int>(cut, out var parsed); if (errors.Count != 0) { Console.WriteLine($"Обнаружены ошибки ввода: {string.Join(", ", errors)}"); return; } // Проверяем существование индексов var missing = CommandLib.CheckShapeIndexes(parsed, picture, out var indexes); if (missing.Count != 0) { Console.WriteLine($"Отсутствуют фигуры с индексами: {string.Join(", ", missing)}"); } // Выполняем действия if (indexes.Count == 0) { return; } Console.WriteLine($"Окрашиваем фигуры с индексами: {string.Join(", ", indexes)}"); foreach (var index in indexes) { picture.RecolorAt(index, color); } }