Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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);
                }
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public ThenRowsSuccess(RowsResult result)
 {
     _result = result;
 }
Esempio n. 5
0
 public RowsResult AddRow(RowsResult result)
 {
     return((RowsResult)result.WithRow(GetParameters()));
 }
Esempio n. 6
0
        public static RowsResult CreateAppliedInfoRowsResultWithoutMovie(bool applied)
        {
            var result = new RowsResult("[applied]");

            return((RowsResult)result.WithRow(applied));
        }