示例#1
0
 protected override void ProcessRow(RecordRow aRow, int rowNumber)
 {
     if (!base.m_dataSet.IsReferenceToSharedDataSet && this.m_canWriteDataChunk)
     {
         this.m_dataChunkWriter.WriteRecordRow(aRow);
     }
 }
示例#2
0
 private void ReadNextRow()
 {
     this.m_recordRow = (RecordRow)this.m_chunkReader.Value.ReadRIFObject();
     if (!this.m_mappingIdentical)
     {
         this.m_recordRow.ApplyFieldMapping(this.m_mappingDataSetFieldIndexesToDataChunk);
     }
 }
示例#3
0
            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()
     });
 }
示例#5
0
 private void Dispose(bool disposing)
 {
     Close();
     _currentRow = null;
     _columns    = null;
     if (disposing)
     {
         GC.SuppressFinalize(this);
     }
 }
示例#6
0
        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);
        }
示例#7
0
        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);
 }
示例#9
0
 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);
 }
示例#10
0
        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);
        }
示例#12
0
        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;
     }
 }
示例#14
0
 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;
 }
示例#15
0
 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;
     }
 }
示例#16
0
 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;
     }
 }
示例#18
0
    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;
        }
    }
示例#19
0
    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);
        }
示例#21
0
        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;
            }
        }
示例#22
0
        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);
        }
示例#24
0
 public RecordRowChangeEvent(RecordRow row, global::System.Data.DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }
示例#25
0
    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);
 }
示例#27
0
        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;
                }
            }
        }
示例#28
0
 public bool GetNextRow()
 {
     m_currentRow = m_dataSource.ReadNextRow();
     return(m_currentRow != null);
 }