protected override void ProcessRow(RecordRow aRow, int rowNumber) { if (!base.m_dataSet.IsReferenceToSharedDataSet && this.m_canWriteDataChunk) { this.m_dataChunkWriter.WriteRecordRow(aRow); } }
private void ReadNextRow() { this.m_recordRow = (RecordRow)this.m_chunkReader.Value.ReadRIFObject(); if (!this.m_mappingIdentical) { this.m_recordRow.ApplyFieldMapping(this.m_mappingDataSetFieldIndexesToDataChunk); } }
private static List <Declaration> GetDataChunkDeclarations() { List <Declaration> list = new List <Declaration>(4); list.Add(RecordSetInfo.GetDeclaration()); list.Add(RecordRow.GetDeclaration()); list.Add(RecordField.GetDeclaration()); list.Add(RecordSetPropertyNames.GetDeclaration()); return(list); }
private static List <Declaration> GetDataChunkDeclarations() { return(new List <Declaration>(4) { RecordSetInfo.GetDeclaration(), RecordRow.GetDeclaration(), RecordField.GetDeclaration(), RecordSetPropertyNames.GetDeclaration() }); }
private void Dispose(bool disposing) { Close(); _currentRow = null; _columns = null; if (disposing) { GC.SuppressFinalize(this); } }
public static CatalogImportItem BuildRecord(RecordRow readerRawRecord) { var record = new CatalogImportItem(); readerRawRecord.AsParallel().ForAll(kvp => record[kvp.Key] = kvp.Value); record.Source = readerRawRecord.Source; record.SourceArgument = readerRawRecord.SourceArgument; return(record); }
private void GenerateRecordSet(RecordSet recordSet) { IDictionaryEnumerator ide = _nodeStore.GetEnumerator(); while (ide.MoveNext()) { if (ide.Value is LeafNode) { LeafNode leaf = (LeafNode)ide.Value; List <string> keys = leaf.Keys; if (_isGrouped) { RecordRow row = recordSet.CreateRow() as RecordRow; if (leaf.AttributeValues != null) { foreach (KeyValuePair <string, object> entry in leaf.AttributeValues.Values) { if (recordSet.Columns[entry.Key].DataType == ColumnDataType.Object) { recordSet.Columns[entry.Key].DataType = RecordSet.ToColumnDataType(entry.Value); } row[entry.Key] = entry.Value; } } row.Tag = keys; recordSet.Rows.Add(row); } else { foreach (string key in keys) { RecordRow row = recordSet.CreateRow() as RecordRow; if (leaf.AttributeValues != null) { foreach (KeyValuePair <string, object> entry in leaf.AttributeValues.Values) { if (recordSet.Columns[entry.Key].DataType == ColumnDataType.Object) { recordSet.Columns[entry.Key].DataType = RecordSet.ToColumnDataType(entry.Value); } row[entry.Key] = entry.Value; } } row[QueryKeyWords.KeyColumn] = key; recordSet.Rows.Add(row); } } } else { (ide.Value as MultiRootTree).GenerateRecordSet(recordSet); } } }
public bool MoveToFirstRow() { if (m_chunkStream == null || !m_chunkStream.CanSeek) { return(false); } m_chunkReader.Value.Seek(m_firstRow, SeekOrigin.Begin); m_currentRow = -1; m_previousStreamOffset = -1L; m_recordRow = null; return(true); }
public bool MoveToFirstRow() { if (this.m_chunkStream != null && this.m_chunkStream.CanSeek) { this.m_chunkReader.Value.Seek(this.m_firstRow, SeekOrigin.Begin); this.m_currentRow = -1; this.m_previousStreamOffset = -1L; this.m_recordRow = null; return(true); } return(false); }
private bool ReadAndProcessOneRow(out bool isAggregateRow) { isAggregateRow = false; int rowIndex; RecordRow recordRow = ReadOneRow(out rowIndex); if (recordRow == null) { return(false); } isAggregateRow = recordRow.IsAggregateRow; m_dataProcessingController.NextRow(recordRow, rowIndex, useRowOffset: true, base.HasServerAggregateMetadata); return(true); }
private bool ReadAndProcessOneRow(out bool isAggregateRow) { isAggregateRow = false; int rowNumber = default(int); RecordRow recordRow = base.ReadOneRow(out rowNumber); if (recordRow == null) { return(false); } isAggregateRow = recordRow.IsAggregateRow; base.m_dataProcessingController.NextRow(recordRow, rowNumber, true, base.HasServerAggregateMetadata); return(true); }
public bool Read() { if (_recordSetEnumerator == null) { return(false); } bool next = _recordSetEnumerator.MoveNext(); if (next) { _currentRow = _recordSetEnumerator.Current; } return(next); }
internal void WriteRecordRow(RecordRow recordRow) { try { if (m_chunkStream == null) { CreateDataChunkAndWriteHeader(m_recordSetInfo); } recordRow.StreamPosition = m_chunkStream.Position; m_chunkWriter.Value.Write(recordRow); } catch (Exception) { Close(); throw; } }
private void Dispose(bool disposing) { if (disposing) { if (this.m_chunkReader.HasValue) { this.m_chunkReader = null; } if (this.m_chunkStream != null) { this.m_chunkStream.Close(); this.m_chunkStream = null; } } this.m_recordRow = null; this.m_recordSetInfo = null; }
public void WriteRecordRow(RecordRow recordRow) { try { if (this.m_chunkStream == null) { this.CreateDataChunkAndWriteHeader(this.m_recordSetInfo); } recordRow.StreamPosition = this.m_chunkStream.Position; this.m_chunkWriter.Value.Write(recordRow); } catch (Exception) { this.Close(); throw; } }
public void CalculateDataSetAggregates() { try { int rowNumber = default(int); RecordRow recordRow = base.ReadOneRow(out rowNumber); if (recordRow != null) { base.m_dataProcessingController.NextRow(recordRow, rowNumber, true, base.HasServerAggregateMetadata); } base.m_dataProcessingController.AllRowsRead(); } catch (Exception) { this.CleanupForException(); this.FinalCleanup(); throw; } }
public void CalculateDataSetAggregates() { try { int rowIndex; RecordRow recordRow = ReadOneRow(out rowIndex); if (recordRow != null) { m_dataProcessingController.NextRow(recordRow, rowIndex, useRowOffset: true, base.HasServerAggregateMetadata); } m_dataProcessingController.AllRowsRead(); } catch (Exception) { CleanupForException(); FinalCleanup(); throw; } }
public void Render() { List <SessionRecord> sessionRecords = recordsController.GetRecords(); sessionRecords = sessionRecords.OrderByDescending(s => s.score).ToList(); int iteration = 1; foreach (SessionRecord sessionRecord in sessionRecords) { GameObject newRow = Instantiate(recordRowPrefab); newRow.transform.parent = containerTranfsorm; RecordRow row = newRow.GetComponent <RecordRow>(); row.SetInfo(sessionRecord); if (iteration >= maxCount) { break; } ++iteration; } }
private void startFetching() { if (currentCoroutine != null) { StopCoroutine(currentCoroutine); } foreach (Transform child in content) { Destroy(child.gameObject); } content.GetComponent <RectTransform>().sizeDelta = new Vector2(content.GetComponent <RectTransform>().sizeDelta.x, 300f); RecordRow record = Instantiate(recordRowPrefab, content).GetComponent <RecordRow>(); record.nameText.text = ""; record.numText.text = ""; record.scoreTimeText.text = "讀取中..."; record.scoreAmountText.text = ""; record.scoreBlocksText.text = ""; record.ChangeOrder(0); currentCoroutine = StartCoroutine(DataFetch()); }
public IPersistable CreateRIFObject(ObjectType objectType, ref IntermediateFormatReader context) { IPersistable persistable = null; if (objectType == ObjectType.Null) { return(null); } switch (objectType) { case ObjectType.RecordSetInfo: persistable = new RecordSetInfo(); break; case ObjectType.RecordRow: persistable = new RecordRow(); break; case ObjectType.RecordField: persistable = new RecordField(); break; case ObjectType.IntermediateFormatVersion: persistable = new IntermediateFormatVersion(); break; case ObjectType.RecordSetPropertyNames: persistable = new RecordSetPropertyNames(); break; default: Global.Tracer.Assert(false); break; } persistable.Deserialize(context); return(persistable); }
private IEnumerable<RecordRow> GetExcelRecords() { if (!_opened) yield break; var columns = _rule.Columns.Where(c => c.Active).ToArray(); var columnsCount = columns.Length; for (_currentRowIndex = _rule.RowOffset; _currentRowIndex <= _maxRowIndex; _currentRowIndex++) { bool isValidRow = true; var record = new RecordRow(columnsCount) { Source = _source, SourceArgument = String.Format(@"[{0}:{1},{2}]", _rule.WorksheetIndex, _currentRowIndex, _rule.ColumnOffset) }; for (int index = 0; index < columnsCount; index++) { var column = columns[index]; var range = _worksheet.Cells[_currentRowIndex, column.Index + _rule.ColumnOffset]; var value = (range.Value2 ?? range.Text).ToString(); if (column.Required && value.Length == 0) { isValidRow = false; ReportCurrentRowSkip(@"Отсутствует обязательное поле"); break; } record[column.Name] = value; } if (isValidRow) yield return record; } }
public ReaderResultSet GetRecordSet(string readerId, int nextIndex, bool inproc, OperationContext context) { ReaderResultSet readerChunk = null; IRecordSet partialRecordSet = null; ReaderResultSet reader = null; RecordRow row = null; CacheEntry entry = null; CompressedValueEntry cmpEntry = null; int size = 0; try { if (!string.IsNullOrEmpty(readerId)) { if (_readers.ContainsKey(readerId)) { reader = _readers[readerId]; } } if (reader != null) { if (nextIndex != 0 && reader.RecordSet.SubsetInfo.LastAccessedRowID == nextIndex) { reader.RecordSet.RemoveRows(reader.RecordSet.SubsetInfo.StartIndex, nextIndex - reader.RecordSet.SubsetInfo.StartIndex); } if (reader.RecordSet.RowCount > 0) { readerChunk = new ReaderResultSet(); partialRecordSet = new RecordSet(reader.RecordSet.GetColumnMetaData()); int chunkSize = reader.ChunkSize; reader.RecordSet.SubsetInfo.StartIndex = nextIndex; int nextRowID = nextIndex; while (size <= chunkSize) { row = reader.RecordSet.GetRow(nextRowID++); if (row == null) { break; } row = row.Clone() as RecordRow; if (reader.GetData && !reader.IsGrouped) { entry = _context.CacheImpl.Get(row.GetColumnValue(QueryKeyWords.KeyColumn), context); if (entry != null) { if (inproc) { row.SetColumnValue(QueryKeyWords.ValueColumn, entry.Value); } else { cmpEntry = new CompressedValueEntry(); cmpEntry.Value = entry.Value; if (cmpEntry.Value is CallbackEntry) { cmpEntry.Value = ((CallbackEntry)cmpEntry.Value).Value; } cmpEntry.Flag = ((CacheEntry)entry).Flag; row.SetColumnValue(QueryKeyWords.ValueColumn, cmpEntry); } size += entry.Size; } if (entry != null) { partialRecordSet.AddRow(row); size += row.GetSize(); } } else { partialRecordSet.AddRow(row); size += row.GetSize(); } } //Value column has been filled if getData is true if (reader.GetData && !reader.IsGrouped) { reader.RecordSet.GetColumnMetaData()[QueryKeyWords.ValueColumn].IsFilled = true; } reader.RecordSet.SubsetInfo.LastAccessedRowID += partialRecordSet.RowCount; readerChunk.RecordSet = partialRecordSet; readerChunk.NextIndex = reader.RecordSet.SubsetInfo.LastAccessedRowID; if (!inproc && _context.Render != null) { readerChunk.NodeAddress = _context.Render.IPAddress.ToString(); //server address } readerChunk.OrderByArguments = reader.OrderByArguments; readerChunk.IsGrouped = reader.IsGrouped; readerChunk.ReaderID = reader.ReaderID; } else { DisposeReader(reader.ReaderID); } } return(readerChunk); } catch (Exception ex) { if (ex is InvalidReaderException) { DisposeReader(reader.ReaderID); } throw; } }
private static DeclarationList CreateCurrentDeclarations() { DeclarationList declarationList = new DeclarationList(); int num = 1; declarationList[num++] = IDOwner.GetDeclaration(); declarationList[num++] = ReportItem.GetDeclaration(); num++; declarationList[num++] = Report.GetDeclaration(); declarationList[num++] = PageSection.GetDeclaration(); declarationList[num++] = Line.GetDeclaration(); declarationList[num++] = Rectangle.GetDeclaration(); declarationList[num++] = Image.GetDeclaration(); num++; declarationList[num++] = CheckBox.GetDeclaration(); declarationList[num++] = TextBox.GetDeclaration(); declarationList[num++] = SubReport.GetDeclaration(); declarationList[num++] = ActiveXControl.GetDeclaration(); declarationList[num++] = DataRegion.GetDeclaration(); num++; declarationList[num++] = ReportHierarchyNode.GetDeclaration(); declarationList[num++] = Grouping.GetDeclaration(); declarationList[num++] = Sorting.GetDeclaration(); declarationList[num++] = List.GetDeclaration(); declarationList[num++] = Pivot.GetDeclaration(); declarationList[num++] = Matrix.GetDeclaration(); declarationList[num++] = PivotHeading.GetDeclaration(); declarationList[num++] = MatrixHeading.GetDeclaration(); declarationList[num++] = MatrixColumn.GetDeclaration(); num++; declarationList[num++] = MatrixRow.GetDeclaration(); num++; declarationList[num++] = Subtotal.GetDeclaration(); declarationList[num++] = Table.GetDeclaration(); declarationList[num++] = TableColumn.GetDeclaration(); num++; declarationList[num++] = TableGroup.GetDeclaration(); declarationList[num++] = TableRow.GetDeclaration(); num++; declarationList[num++] = OWCChart.GetDeclaration(); declarationList[num++] = ChartColumn.GetDeclaration(); num++; declarationList[num++] = ReportItemCollection.GetDeclaration(); declarationList[num++] = ReportItemIndexer.GetDeclaration(); num++; declarationList[num++] = Style.GetDeclaration(); num++; declarationList[num++] = AttributeInfo.GetDeclaration(); declarationList[num++] = Visibility.GetDeclaration(); declarationList[num++] = ExpressionInfo.GetDeclaration(); num++; declarationList[num++] = DataAggregateInfo.GetDeclaration(); num++; declarationList[num++] = RunningValueInfo.GetDeclaration(); num++; num++; declarationList[num++] = Filter.GetDeclaration(); num++; declarationList[num++] = DataSource.GetDeclaration(); num++; declarationList[num++] = DataSet.GetDeclaration(); num++; declarationList[num++] = ReportQuery.GetDeclaration(); declarationList[num++] = Field.GetDeclaration(); num++; declarationList[num++] = ParameterValue.GetDeclaration(); num++; num++; num++; num++; declarationList[num++] = ReportSnapshot.GetDeclaration(); declarationList[num++] = SenderInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = ReceiverInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = DocumentMapNode.GetDeclaration(); declarationList[num++] = InfoBase.GetDeclaration(); declarationList[num++] = OffsetInfo.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = ReportItemInstanceInfo.GetDeclaration(); declarationList[num++] = ReportInstanceInfo.GetDeclaration(); declarationList[num++] = ReportItemColInstanceInfo.GetDeclaration(); declarationList[num++] = LineInstanceInfo.GetDeclaration(); declarationList[num++] = TextBoxInstanceInfo.GetDeclaration(); declarationList[num++] = RectangleInstanceInfo.GetDeclaration(); declarationList[num++] = CheckBoxInstanceInfo.GetDeclaration(); declarationList[num++] = ImageInstanceInfo.GetDeclaration(); declarationList[num++] = SubReportInstanceInfo.GetDeclaration(); declarationList[num++] = ActiveXControlInstanceInfo.GetDeclaration(); declarationList[num++] = ListInstanceInfo.GetDeclaration(); declarationList[num++] = ListContentInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixHeadingInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixCellInstanceInfo.GetDeclaration(); declarationList[num++] = TableInstanceInfo.GetDeclaration(); declarationList[num++] = TableGroupInstanceInfo.GetDeclaration(); declarationList[num++] = TableRowInstanceInfo.GetDeclaration(); declarationList[num++] = OWCChartInstanceInfo.GetDeclaration(); declarationList[num++] = ChartInstanceInfo.GetDeclaration(); declarationList[num++] = NonComputedUniqueNames.GetDeclaration(); declarationList[num++] = InstanceInfoOwner.GetDeclaration(); declarationList[num++] = ReportItemInstance.GetDeclaration(); num++; declarationList[num++] = ReportInstance.GetDeclaration(); declarationList[num++] = ReportItemColInstance.GetDeclaration(); declarationList[num++] = LineInstance.GetDeclaration(); declarationList[num++] = TextBoxInstance.GetDeclaration(); declarationList[num++] = RectangleInstance.GetDeclaration(); declarationList[num++] = CheckBoxInstance.GetDeclaration(); declarationList[num++] = ImageInstance.GetDeclaration(); declarationList[num++] = SubReportInstance.GetDeclaration(); declarationList[num++] = ActiveXControlInstance.GetDeclaration(); declarationList[num++] = ListInstance.GetDeclaration(); declarationList[num++] = ListContentInstance.GetDeclaration(); num++; declarationList[num++] = MatrixInstance.GetDeclaration(); declarationList[num++] = MatrixHeadingInstance.GetDeclaration(); num++; declarationList[num++] = MatrixCellInstance.GetDeclaration(); num++; num++; declarationList[num++] = TableInstance.GetDeclaration(); declarationList[num++] = TableRowInstance.GetDeclaration(); declarationList[num++] = TableColumnInstance.GetDeclaration(); declarationList[num++] = TableGroupInstance.GetDeclaration(); num++; declarationList[num++] = OWCChartInstance.GetDeclaration(); declarationList[num++] = ParameterInfo.GetDeclaration(); num++; num++; num++; declarationList[num++] = InstanceInfo.GetDeclaration(); num++; declarationList[num++] = RecordSetInfo.GetDeclaration(); declarationList[num++] = RecordRow.GetDeclaration(); declarationList[num++] = RecordField.GetDeclaration(); declarationList[num++] = ValidValue.GetDeclaration(); num++; declarationList[num++] = ParameterDataSource.GetDeclaration(); declarationList[num++] = ParameterDef.GetDeclaration(); num++; declarationList[num++] = ParameterBase.GetDeclaration(); num++; declarationList[num++] = ProcessingMessage.GetDeclaration(); declarationList[num++] = MatrixSubtotalHeadingInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixSubtotalCellInstance.GetDeclaration(); declarationList[num++] = CodeClass.GetDeclaration(); num++; declarationList[num++] = TableDetail.GetDeclaration(); declarationList[num++] = TableDetailInstance.GetDeclaration(); num++; declarationList[num++] = TableDetailInstanceInfo.GetDeclaration(); num++; declarationList[num++] = Action.GetDeclaration(); declarationList[num++] = ActionInstance.GetDeclaration(); declarationList[num++] = Chart.GetDeclaration(); declarationList[num++] = ChartHeading.GetDeclaration(); declarationList[num++] = ChartDataPoint.GetDeclaration(); num++; declarationList[num++] = MultiChart.GetDeclaration(); declarationList[num++] = MultiChartInstance.GetDeclaration(); num++; declarationList[num++] = Axis.GetDeclaration(); declarationList[num++] = AxisInstance.GetDeclaration(); declarationList[num++] = ChartTitle.GetDeclaration(); declarationList[num++] = ChartTitleInstance.GetDeclaration(); declarationList[num++] = ThreeDProperties.GetDeclaration(); declarationList[num++] = PlotArea.GetDeclaration(); declarationList[num++] = Legend.GetDeclaration(); declarationList[num++] = GridLines.GetDeclaration(); declarationList[num++] = ChartDataLabel.GetDeclaration(); declarationList[num++] = ChartInstance.GetDeclaration(); declarationList[num++] = ChartHeadingInstance.GetDeclaration(); declarationList[num++] = ChartHeadingInstanceInfo.GetDeclaration(); num++; declarationList[num++] = ChartDataPointInstance.GetDeclaration(); declarationList[num++] = ChartDataPointInstanceInfo.GetDeclaration(); num++; num++; declarationList[num++] = RenderingPagesRanges.GetDeclaration(); num++; declarationList[num++] = IntermediateFormatVersion.GetDeclaration(); declarationList[num++] = ImageInfo.GetDeclaration(); declarationList[num++] = ActionItem.GetDeclaration(); declarationList[num++] = ActionItemInstance.GetDeclaration(); num++; num++; declarationList[num++] = DataValue.GetDeclaration(); declarationList[num++] = DataValueInstance.GetDeclaration(); num++; num++; declarationList[num++] = Tablix.GetDeclaration(); declarationList[num++] = TablixHeading.GetDeclaration(); declarationList[num++] = CustomReportItem.GetDeclaration(); declarationList[num++] = CustomReportItemInstance.GetDeclaration(); declarationList[num++] = CustomReportItemHeading.GetDeclaration(); declarationList[num++] = CustomReportItemHeadingInstance.GetDeclaration(); num++; num++; num++; num++; declarationList[num++] = CustomReportItemCellInstance.GetDeclaration(); num++; num++; declarationList[num++] = DataValueCRIList.GetDeclaration(); declarationList[num++] = BookmarkInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = DrillthroughInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); num++; declarationList[num++] = CustomReportItemInstanceInfo.GetDeclaration(); declarationList[num++] = ImageMapAreaInstanceList.GetDeclaration(); declarationList[num++] = ImageMapAreaInstance.GetDeclaration(); num++; declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = SortFilterEventInfo.GetDeclaration(); declarationList[num++] = EndUserSort.GetDeclaration(); num++; num++; declarationList[num++] = RecordSetPropertyNames.GetDeclaration(); num++; num++; num++; declarationList[num++] = PageSectionInstance.GetDeclaration(); num++; declarationList[num++] = PageSectionInstanceInfo.GetDeclaration(); declarationList[num++] = SimpleTextBoxInstanceInfo.GetDeclaration(); declarationList[num++] = ScopeLookupTable.GetDeclaration(); num++; declarationList[num++] = ReportDrillthroughInfo.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); Global.Tracer.Assert(declarationList.Count == num, "(current.Count == index)"); return(declarationList); }
public RecordRowChangeEvent(RecordRow row, global::System.Data.DataRowAction action) { this.eventRow = row; this.eventAction = action; }
IEnumerator DataFetch() { WaitForSeconds wait = new WaitForSeconds(1f); string stmt = ""; string jsonString = null; bool first = false; recordList.Clear(); stmt = $"SELECT * FROM class WHERE class_id = '{roomId}';"; yield return(StartCoroutine(NetworkManager.GetRequest(stmt, returnValue => { jsonString = returnValue; }))); print(jsonString); if (jsonString == null) { Debug.Log("sql Error"); yield break; } else if (jsonString.Trim() == "[]" || jsonString.Trim() == "") { Debug.Log("table empty"); content.GetChild(0).GetComponent <RecordRow>().scoreTimeText.text = "找不到此房間!"; yield break; } while (true) { Debug.Log("leaderBoard fetching"); stmt = $"SELECT class_member.member_id, member_name, CASE WHEN SUM(score_time) IS NULL THEN 0 ELSE count(*) END AS num, coalesce(SUM(score_time),0) AS sum_score_time, coalesce(SUM(score_amount),0) AS sum_score_amount, coalesce(SUM(score_blocks),0) AS sum_score_blocks FROM class_member LEFT JOIN play_record ON class_member.member_id = play_record.member_id where class_id = '{roomId}'{ ( ( courseId == null ) ? "" : $" AND course_id = '{courseId}'" ) } GROUP BY class_member.member_id ORDER BY {orderBy[orderId]} {( ( ascending ) ? "ASC" : "DESC" )};"; yield return(StartCoroutine(NetworkManager.GetRequest(stmt, returnValue => { jsonString = returnValue; }))); if (!first) { foreach (Transform child in content) { Destroy(child.gameObject); } first = true; } if (jsonString == null) { Debug.Log("sql Error"); yield break; } else if (jsonString.Trim() == "[]" || jsonString.Trim() == "") { recordList.Clear(); foreach (Transform child in content) { Destroy(child.gameObject); } Debug.Log("table empty"); RecordRow record = Instantiate(recordRowPrefab, content).GetComponent <RecordRow>(); record.nameText.text = ""; record.numText.text = ""; record.scoreTimeText.text = "尚未有遊玩紀錄"; record.scoreAmountText.text = ""; record.scoreBlocksText.text = ""; yield break; } var jsonO = MiniJSON.Json.Deserialize(jsonString) as List <object>; int num = 0; int sum_score_time = 0; int sum_score_amount = 0; int sum_score_blocks = 0; float height = recordRowPrefab.GetComponent <RectTransform>().sizeDelta.y *jsonO.Count; content.GetComponent <RectTransform>().sizeDelta = new Vector2(content.GetComponent <RectTransform>().sizeDelta.x, height); int i = 0; foreach (Dictionary <string, object> item in jsonO) { Dictionary <string, object> it = item as Dictionary <string, object>; string member_name = it["member_name"] as string; string member_id = it["member_id"] as string; num = 0; sum_score_time = 0; sum_score_amount = 0; sum_score_blocks = 0; if (it["sum_score_time"] != null) { num = int.Parse(it["num"] as string); sum_score_time = int.Parse(it["sum_score_time"] as string); sum_score_amount = int.Parse(it["sum_score_amount"] as string); sum_score_blocks = int.Parse(it["sum_score_blocks"] as string); } RecordRow record; if (recordList.ContainsKey(member_id)) { record = recordList[member_id]; } else { record = Instantiate(recordRowPrefab, content).GetComponent <RecordRow>(); recordList.Add(member_id, record); if (member_id == VariablesStorage.memberId) { record.GetComponent <Image>().color = new Color(1.0f, 0.501960784f, 0.250980392f); } } record.nameText.text = member_name; record.numText.text = num.ToString(); record.scoreTimeText.text = sum_score_time.ToString(); record.scoreAmountText.text = sum_score_amount.ToString(); record.scoreBlocksText.text = sum_score_blocks.ToString(); record.ChangeOrder(i++); } yield return(wait); } }
public bool GetNextRow() { this.m_currentRow = this.m_dataSource.ReadNextRow(); return(this.m_currentRow != null); }
private IEnumerable<RecordRow> GetCsvRecords() { var columns = _rule.Columns.Where(c => c.Active).ToArray(); var columnsCount = columns.Length; var lastColumnIndex = columns.Max(c => c.Index) + _rule.ColumnOffset - 1; _currentRowIndex = _rule.RowOffset - 1; using (var input = new StreamReader(_csvFile, Encoding.Default)) { for (int index = 0; index < _currentRowIndex; index++) ReadNextCsvLine(input); RecordRow record = null; while (!input.EndOfStream && _opened) { bool isValidRow = true; _currentRowIndex++; try { var row = ReadNextCsvLine(input).Split('\t'); if (row.Length < lastColumnIndex) { ReportCurrentRowSkip(@"Недостаточно полей"); continue; } record = new RecordRow(columnsCount) { Source = _source, SourceArgument = String.Format(@"[{0}:{1},{2}]", _rule.WorksheetIndex, _currentRowIndex, _rule.ColumnOffset) }; for (int index = 0; index < columnsCount; index++) { var column = columns[index]; var value = row[column.Index + _rule.ColumnOffset - 1]; if (value.StartsWith("\"")) { value = LeadingTailingQuoteRegex.Replace(value, String.Empty); value = DoubleQuoteRegex.Replace(value, "\""); } if (column.Required && value.Length == 0) { isValidRow = false; ReportCurrentRowSkip(@"Отсутствует обязательное поле"); break; } record[column.Name] = value; } } catch (Exception ex) { Log.Exception(ex); #if DEBUG throw ex; #endif } if (isValidRow) yield return record; } } }
public bool GetNextRow() { m_currentRow = m_dataSource.ReadNextRow(); return(m_currentRow != null); }