Esempio n. 1
0
        private async Task <FrameworkElement> BuildChildRecordDataGrid(IReferenceDataSource dataSource, object[] keyValues, CancellationToken cancellationToken)
        {
            var executionModel  = dataSource.CreateExecutionModel(keyValues);
            var executionResult = await _outputViewer.ConnectionAdapter.ExecuteChildStatementAsync(executionModel, cancellationToken);

            var childReferenceDataSources = await _outputViewer.StatementValidator.ApplyReferenceConstraintsAsync(executionResult, _outputViewer.ConnectionAdapter.DatabaseModel, cancellationToken);

            var resultInfo = executionResult.ResultInfoColumnHeaders.Keys.Last();
            var resultSet  = await _outputViewer.ConnectionAdapter.FetchRecordsAsync(resultInfo, ConfigurationProvider.Configuration.ResultGrid.FetchRowsBatchSize, cancellationToken);

            var childRecordDataGrid =
                new DataGrid
            {
                RowHeaderWidth = 0,
                Style          = (Style)Application.Current.Resources["ResultSetDataGrid"],
                ItemsSource    = new ObservableCollection <object[]>(resultSet)
            };

            childRecordDataGrid.AddHandler(VirtualizingStackPanel.CleanUpVirtualizedItemEvent, (CleanUpVirtualizedItemEventHandler)CleanUpVirtualizedItemHandler);
            childRecordDataGrid.BeginningEdit += App.DataGridBeginningEditCancelTextInputHandlerImplementation;
            childRecordDataGrid.RowStyle       = (Style)Resources["DataGridRowStyle"];

            var columnHeaders = executionResult.ResultInfoColumnHeaders.Values.Last();

            DataGridHelper.InitializeDataGridColumns(childRecordDataGrid, columnHeaders, _outputViewer.StatementValidator, _outputViewer.ConnectionAdapter);
            AddChildReferenceColumns(childRecordDataGrid, childReferenceDataSources);

            foreach (var columnTemplate in childRecordDataGrid.Columns)
            {
                columnTemplate.HeaderStyle = (Style)Application.Current.Resources["ColumnHeaderClickBubbleCancelation"];
            }

            return(childRecordDataGrid);
        }
Esempio n. 2
0
        public void GetAllItemsByCode_Array()
        {
            var sources = new IReferenceDataSource[] { new SqlReferenceDataSource(),
                                                       new XmlReferenceDataSource(), new ApiReferenceDataSource() };
            var items = sources.GetAllItemsByCode("xyz");

            Assert.AreEqual(6, items.Count());
        }
Esempio n. 3
0
        public void GetAllItemsByCode_Array()
        {
            //-- Arrange
            IReferenceDataSource[] sources = new IReferenceDataSource[]
            {
                new ApiReferenceDataSource(),
                new SqlReferenceDataSource(),
                new XmlReferenceDataSource()
            };

            //-- Act
            int actual = sources.GetAllItemsByCode("xyz").Count();

            //-- Assert
            Assert.AreEqual(6, actual);
        }
 public static IEnumerable <ReferenceDataItem> GetItemsByCode(this IReferenceDataSource source, string code)
 {
     return(source.GetItems().Where(x => x.Code == code));
 }
Esempio n. 5
0
 public static IEnumerable <ReferenceDataItem> GetItemsByCode
     (this IReferenceDataSource source, string code)
 {
     Contract.Requires(source != null);
     return(source.GetItems().Where(x => x.Code == code));
 }
Esempio n. 6
0
		private async Task<FrameworkElement> BuildChildRecordDataGrid(IReferenceDataSource dataSource, object[] keyValues, CancellationToken cancellationToken)
		{
			var executionModel = dataSource.CreateExecutionModel(keyValues);
			var executionResult = await _outputViewer.ConnectionAdapter.ExecuteChildStatementAsync(executionModel, cancellationToken);
			var childReferenceDataSources = await _outputViewer.StatementValidator.ApplyReferenceConstraintsAsync(executionResult, _outputViewer.ConnectionAdapter.DatabaseModel, cancellationToken);
			var resultInfo = executionResult.ResultInfoColumnHeaders.Keys.Last();
			var resultSet = await _outputViewer.ConnectionAdapter.FetchRecordsAsync(resultInfo, ConfigurationProvider.Configuration.ResultGrid.FetchRowsBatchSize, cancellationToken);

			var childRecordDataGrid =
				new DataGrid
				{
					RowHeaderWidth = 0,
					Style = (Style)Application.Current.Resources["ResultSetDataGrid"],
					ItemsSource = new ObservableCollection<object[]>(resultSet)
				};

			childRecordDataGrid.AddHandler(VirtualizingStackPanel.CleanUpVirtualizedItemEvent, (CleanUpVirtualizedItemEventHandler)CleanUpVirtualizedItemHandler);
			childRecordDataGrid.BeginningEdit += App.DataGridBeginningEditCancelTextInputHandlerImplementation;
			childRecordDataGrid.RowStyle = (Style)Resources["DataGridRowStyle"];

			var columnHeaders = executionResult.ResultInfoColumnHeaders.Values.Last();
			DataGridHelper.InitializeDataGridColumns(childRecordDataGrid, columnHeaders, _outputViewer.StatementValidator, _outputViewer.ConnectionAdapter);
			AddChildReferenceColumns(childRecordDataGrid, childReferenceDataSources);

			foreach (var columnTemplate in childRecordDataGrid.Columns)
			{
				columnTemplate.HeaderStyle = (Style)Application.Current.Resources["ColumnHeaderClickBubbleCancelation"];
			}

			return childRecordDataGrid;
		}