public override void ExecuteRows <ActiveRecord>(DataTable <ActiveRecord> table, SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor) { var queryCmd = createSelect(table, query.Condition, true); appendOrderBy(queryCmd, query.Ordering); appendLimit(queryCmd, query); var results = new List <ActiveRecord>(); using (var reader = queryCmd.ExecuteReader()) { while (reader.Read()) { var columns = new ColumnsReader(reader); var result = table.CreateRecord(columns); results.Add(result); } reader.Close(); } var totalRowsScalar = executeScalar("SELECT FOUND_ROWS()"); var totalRows = Convert.ToInt32(totalRowsScalar); var rowsResult = new RowsResult <ActiveRecord>(results, totalRows); executor(rowsResult); }
/// <summary> /// </summary> /// <param name="excelFile">文件路径</param> /// <param name="sheetIndex">0 start</param> /// <param name="skipRow">0 start</param> public void Read(Stream excelFile, int sheetIndex, int skipRow) { using (excelFile) { var workbook = new HSSFWorkbook(excelFile, false); ISheet sheet = workbook.GetSheetAt(0); int start = sheet.FirstRowNum > skipRow ? sheet.FirstRowNum : skipRow; int end = sheet.LastRowNum; if (start >= end) { return; } for (int i = start; i <= end; i++) { IRow row = sheet.GetRow(i); var array = new List <ICell>(); int cellsNumber = row.Cells.Count; for (short cellIndex = row.FirstCellNum; cellIndex <= cellsNumber; cellIndex++) { array.Add(row.GetCell(cellIndex, MissingCellPolicy.CREATE_NULL_AS_BLANK)); } List <ValidationResult> result; _process.Process(array.ToArray(), out result); RowsResult.Add(result); } } }
public override void ExecuteRows <ActiveRecord>(DataTable <ActiveRecord> table, SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor) { var rows = applyCondition(table, query.Condition); rows = rows.Skip(query.Start).Take(query.MaxCount); var result = new RowsResult <ActiveRecord>(rows, table.MemoryRecords.Count); executor(result); }
public ThenRowsSuccess(RowsResult result) { _result = result; }
public RowsResult AddRow(RowsResult result) { return((RowsResult)result.WithRow(GetParameters())); }
public static RowsResult CreateAppliedInfoRowsResultWithoutMovie(bool applied) { var result = new RowsResult("[applied]"); return((RowsResult)result.WithRow(applied)); }