예제 #1
0
        public void Test_CSV_HeadingBeyondData( )
        {
            string csv =
                "\n1,2\nA,B";

            var service  = new CsvFileReaderService( );
            var settings = new DataFileReaderSettings( );

            settings.FirstDataRowNumber = 2;
            settings.HeadingRowNumber   = 3;
            SampleDataCreator creator = new SampleDataCreator( );

            using (Stream stream = SheetTestHelper.GetCsvStream(csv))
            {
                SampleTable table = creator.CreateSample(stream, settings, service);

                Assert.That(table, Is.Not.Null);
                Assert.That(table.Columns, Has.Count.EqualTo(2));
                Assert.That(table.Rows, Has.Count.EqualTo(0));

                SampleColumn column = table.Columns [0];
                Assert.That(column.ColumnName, Is.EqualTo("1"));
                Assert.That(column.Name, Is.EqualTo("A"));
                column = table.Columns [1];
                Assert.That(column.ColumnName, Is.EqualTo("2"));
                Assert.That(column.Name, Is.EqualTo("B"));
            }
        }
예제 #2
0
        public void Test_CSV( )
        {
            string csv =
                "TestString,TestNumber\nA,1\nB,2\nC,3\nD,4\nE,5\nA,1\nB,2\nC,3\nD,4\nE,5\n,A,1\nB,2\nC,3\nD,4\nE,5\n";

            var service  = new CsvFileReaderService( );
            var settings = new DataFileReaderSettings( );
            SampleDataCreator creator = new SampleDataCreator( );

            using (Stream stream = SheetTestHelper.GetCsvStream(csv))
            {
                SampleTable table = creator.CreateSample(stream, settings, service);

                Assert.That(table, Is.Not.Null);
                Assert.That(table.Columns, Has.Count.EqualTo(2));
                Assert.That(table.Rows, Has.Count.EqualTo(10));

                SampleColumn column = table.Columns[0];
                Assert.That(column.ColumnName, Is.EqualTo("1"));
                Assert.That(column.Name, Is.EqualTo("TestString"));
                column = table.Columns[1];
                Assert.That(column.ColumnName, Is.EqualTo("2"));
                Assert.That(column.Name, Is.EqualTo("TestNumber"));

                SampleRow row = table.Rows[0];
                Assert.That(row.Values, Has.Count.EqualTo(2));
                Assert.That(row.Values[0], Is.EqualTo("A"));
                Assert.That(row.Values[1], Is.EqualTo("1"));
                row = table.Rows[9];
                Assert.That(row.Values, Has.Count.EqualTo(2));
                Assert.That(row.Values[0], Is.EqualTo("E"));
                Assert.That(row.Values[1], Is.EqualTo("5"));
            }
        }
예제 #3
0
        public void Test_Excel_Test2_NoHeadingRow( )
        {
            var service = new ExcelFileReaderService( );
            SampleDataCreator creator = new SampleDataCreator( );

            using (Stream stream = SheetTestHelper.GetStream("SampleDataTests.xlsx"))     // IMPORTANT: Ensure TestRowNumbers has the right number of rows
            {
                var settings = new DataFileReaderSettings( );
                settings.SheetId            = SheetTestHelper.GetSheetId("SampleDataTests.xlsx", "Test2");
                settings.HeadingRowNumber   = 0;
                settings.FirstDataRowNumber = 3;

                SampleTable table = creator.CreateSample(stream, settings, service);

                Assert.That(table, Is.Not.Null);
                Assert.That(table.Columns, Has.Count.EqualTo(3));
                Assert.That(table.Rows, Has.Count.EqualTo(2));

                SampleColumn column = table.Columns [0];
                Assert.That(column.ColumnName, Is.EqualTo("A"));
                Assert.That(column.Name, Is.EqualTo("A"));
                column = table.Columns [2];
                Assert.That(column.ColumnName, Is.EqualTo("C"));
                Assert.That(column.Name, Is.EqualTo("C"));

                SampleRow row = table.Rows [0];
                Assert.That(row.Values, Has.Count.EqualTo(3));
                Assert.That(row.Values [2], Is.EqualTo("3"));
            }
        }
예제 #4
0
        private void RelaTableNameChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox     list   = (ComboBox)sender;
            SampleColumn column = (SampleColumn)list.Tag;

            column.RelaColumns.Clear();
            var pro = _dbtype.GetProperty(column.RelaTableName);

            Type dataType;

            if (pro.PropertyType.IsGenericType)
            {
                dataType = pro.PropertyType.GenericTypeArguments[0];
            }
            else if (pro.PropertyType.IsArray)
            {
                dataType = pro.PropertyType.GetElementType();
            }
            else if (pro.PropertyType.HasElementType)
            {
                dataType = pro.PropertyType.GetElementType();
            }
            else
            {
                return;
            }
            var properties = dataType.GetProperties().Where(m => m.GetCustomAttribute <Way.EntityDB.WayLinqColumnAttribute>() != null);

            foreach (var p in properties)
            {
                column.RelaColumns.Add(p.Name);
            }
        }
예제 #5
0
        SampleColumn getColumn(PropertyInfo pro)
        {
            var column = new SampleColumn
            {
                Name         = pro.Name,
                caption      = pro.GetCustomAttribute <Way.EntityDB.WayLinqColumnAttribute>().Comment,
                PropertyInfo = pro,
            };

            return(column);
        }
예제 #6
0
        /// <summary>
        ///     Get all the mapping columns from selected entity Type.
        /// </summary>
        private static void AddAllFields(ImportConfig importConfig, SampleTable sample)   // List<ColumnInfo> mappingColumnCollection, EntityType type, DbDataTable sampleDataTable )
        {
            EntityType type      = importConfig.ImportConfigMapping.MappedType;
            var        allFields = EntityTypeHelper.GetAllFields(type);

            foreach (Field field in allFields)
            {
                if (field.Name == "Alias")
                {
                    continue;
                }

                SampleColumn column = sample.Columns.FirstOrDefault(col => col.Name == field.Name);
                if (column == null)
                {
                    continue;
                }

                ApiFieldMapping fieldMapping = new ApiFieldMapping( );
                fieldMapping.Name        = column.ColumnName;
                fieldMapping.MappedField = field;
                importConfig.ImportConfigMapping.ResourceMemberMappings.Add(fieldMapping.As <ApiMemberMapping>( ));
            }
        }