Esempio n. 1
0
        public void AddGroupedRow(VirtualRow row)
        {
            if (_groupedRows == null)
            {
                _groupedRows = new List<VirtualRow>();
            }

            _groupedRows.Add(row);
        }
        protected internal override object GetValue(DataSet dataSet, VirtualRow virtualRow)
        {
            object leftValue = _leftColumn.GetValue(dataSet, virtualRow);
            object rightValue = _rightColumn.GetValue(dataSet, virtualRow);

            if (leftValue == null || rightValue == null)
            {
                return null;
            }

            TimeSpan timeSpan = Convert.ToDateTime(leftValue) - Convert.ToDateTime(rightValue);

            return timeSpan.TotalDays;
        }
        private void AddRowToMasterRowForGroup(VirtualRow row, List<VirtualRow> masterRows)
        {
            foreach (VirtualRow masterRow in masterRows)
            {
                if (RowsArePartOfSameGroup(row, masterRow))
                {
                    masterRow.AddGroupedRow(row);

                    return;
                }
            }

            masterRows.Add(row);
            row.AddGroupedRow(row);
        }
Esempio n. 4
0
        protected internal override object GetValue(DataSet dataSet, VirtualRow virtualRow)
        {
            List<VirtualRow> groupedRows = virtualRow.GetGroupedRows();

            int count = 0;

            foreach (VirtualRow row in groupedRows)
            {
                object value = row.GetColumnValue(_column);

                if (DataType.IsNotNull(value))
                {
                    ++count;
                }
            }

            return count;
        }
        protected internal override object GetValue(DataSet dataSet, VirtualRow virtualRow)
        {
            List<VirtualRow> groupedRows = virtualRow.GetGroupedRows();

            DateTime max = DateTime.MinValue;

            foreach (VirtualRow row in groupedRows)
            {
                object value = row.GetColumnValue(_column);

                if (DataType.IsNotNull(value))
                {
                    DateTime dateTimeValue = (DateTime)value;

                    max = (dateTimeValue > max) ? dateTimeValue : max;
                }
            }

            return max;
        }
        internal DataTable ExecuteDataTable(DataSet dataSet, VirtualRow outerRow)
        {
            _dataSet = dataSet;
            _outerRow = outerRow;

            List<VirtualRow> rows = ApplyFrom();

            rows = ApplyJoins(rows);

            rows = ApplyWhere(rows);

            rows = ApplyGroupBy(rows);

            rows = ApplyHaving(rows);

            rows = ApplyDistinct(rows);

            rows = ApplyOrderBy(rows);

            DataTable resultsDataTable = CreateResultsDataTable(rows);

            return resultsDataTable;
        }
 protected internal override object GetValue(DataSet dataSet, VirtualRow virtualRow)
 {
     return _value;
 }
        private bool RowsMatch(VirtualRow a, VirtualRow b)
        {
            foreach (MappedColumn mappedColumn in _select._mappedColumns)
            {
                object aValue = mappedColumn.GetValue(_dataSet, a);
                object bValue = mappedColumn.GetValue(_dataSet, b);

                if (!aValue.Equals(bValue))
                {
                    return false;
                }
            }

            return true;
        }
        private bool RowsArePartOfSameGroup(VirtualRow a, VirtualRow b)
        {
            foreach (Column column in _select._groupBy)
            {
                object aValue = column.GetValue(_dataSet, a);
                object bValue = column.GetValue(_dataSet, b);

                if (!aValue.Equals(bValue))
                {
                    return false;
                }
            }

            return true;
        }
Esempio n. 10
0
        private bool RowMatchesAnyRowInList(VirtualRow row, List<VirtualRow> rows)
        {
            foreach (VirtualRow distinctRow in rows)
            {
                if (RowsMatch(row, distinctRow))
                {
                    return true;
                }
            }

            return false;
        }
Esempio n. 11
0
        private List<VirtualRow> ApplyFrom()
        {
            List<VirtualRow> rows = new List<VirtualRow>();

            foreach (DataRow row in GetDataTable(_dataSet, _select._fromTable).Rows)
            {
                VirtualRow data = new VirtualRow();
                data.SetRowForTable(_select._fromTable, row);
                rows.Add(data);
            }

            return rows;
        }
Esempio n. 12
0
 public object GetValue(DataSet dataSet, VirtualRow virtualRow)
 {
     return _column.GetValue(dataSet, virtualRow);
 }
Esempio n. 13
0
 protected internal virtual object GetValue(DataSet dataSet, VirtualRow virtualRow)
 {
     return virtualRow.GetColumnValue(this);
 }
Esempio n. 14
0
 protected internal override object GetValue(DataSet dataSet, VirtualRow virtualRow)
 {
     DataTable dataTable = _select.ExecuteDataTable(dataSet, virtualRow);
     // TODO: Validate scalar result was returned!
     return dataTable.Rows[0][0];
 }
Esempio n. 15
0
 public void SetOuterRow(VirtualRow outerRow)
 {
     _outerRow = outerRow;
 }
Esempio n. 16
0
        protected internal override object GetValue(DataSet dataSet, VirtualRow virtualRow)
        {
            List<VirtualRow> groupedRows = virtualRow.GetGroupedRows();

            return groupedRows.Count;
        }