static void Main(string[] args) { Console.OutputEncoding = Encoding.GetEncoding(1251); ArgumentService argsService = new ArgumentService(); argsService.CheckGeneratorArguments(args); //Проверка входных параметров на корректность //Получение параметров int columnQuantity = argsService.GetInteger(args[1]); int rowQuantity = argsService.GetInteger(args[3]); int stringLenght = argsService.GetInteger(args[5]); Encoding encoding = argsService.GetEncoding(args[7]); //Получение кодировки string outputFileName = args[9]; var formatter = new Formatter(outputFileName, encoding); ServiceCSV service = new ServiceCSV(formatter); //Создание сервиса для клиента List<Row> randomRows = service.GetRandomRows(columnQuantity, rowQuantity, stringLenght); //Получение сгенерированных строк service.PutRows(randomRows); //Запись строк }
static void Main(string[] args) { Console.OutputEncoding = Encoding.GetEncoding(1251); ArgumentService argsService = new ArgumentService(); argsService.CheckSearcherArguments(args); //Проверка входных параметров на корректность //Получение параметров string inputFileName = args[1]; string outputFileName = args[3]; Encoding encoding = argsService.GetEncoding(args[5]); //Получение кодировки string columnName = args[7]; string filter = args[9]; var parser = new Parser(inputFileName, encoding); var formatter = new Formatter(outputFileName, encoding); ServiceCSV service = new ServiceCSV(parser, formatter); //Создание сервиса для клиента List<Row> rows = service.GetRows(); //Получение строк List<Row> foundRows = service.GetRowsByFilter(rows, columnName, filter); //Поиск service.PutRows(foundRows); //Запись строк }
//Поиск public List<Row> GetRowsByFilter(List<Row> rows, string columnName, string filter) { var foundRows = new List<Row>(); Row header = rows.Single(row => row.IsHeader == true); foundRows.Add(header); rows.Remove(header); int columnId = parser.GetColumnId(header, columnName); ConverteType typeFilter = parser.GetFilterType(header, columnName); ArgumentService service = new ArgumentService(); service.CheckFilterType(filter, typeFilter); //Проверка соответствия фильтра типу foreach(var row in rows) { Cell targetCell = row.Cells.Single(cell => cell.ColumnId == columnId); if (targetCell.ToString().Contains(filter)) //Поиск foundRows.Add(row); } return foundRows; }