Esempio n. 1
0
	public Class1()
	{
        DataTable PCR;
        DataTable NGS;

        //Read in PCR files
        var filesPCR = Directory.EnumerateFiles("path", "PCR*.csv");
        foreach (string file in files)
        {
            using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
            {
                   DataAdapter.fill(ReadCSVFile(file), "PCR");

            }
        }

        var filesNGS = Directory.EnumerateFiles("path", "NGS*.csv");
        foreach (string file in files)
        {
            using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
            {
                DataAdapter.fill(ReadCSVFile(file), "NGS");

            }

            

            // merge tables 

        }

        ////////////////// now merge the two data tables
        ///


        // set primary keys of tables
        NGS.PrimaryKey = new DataColumn[] { idColumn };

        PCR.PrimaryKey = new DataColumn[] { idColumn };

        DataTable Merged;

        // merge the two tables.  using linQ
        var result = from dataRows1 in PCR.AsEnumerable()
                     join dataRows2 in NGS.AsEnumerable()
                     on dataRows1.Field<string>("ID") equals dataRows2.Field<string>("ID")

                     select dtResult.LoadDataRow(new object[]
                     {
                dataRows1.Field<string>("ID"),
                dataRows1.Field<string>("name"),
                dataRows2.Field<int>("etc"),
                      }, false);


    }