public static void Execute()
        {
            var pipeLine = new PipeLineContext <Region>()
                           .SetOrigin(new PlainTextOrigin <Region>()
                                      .SetPath("Regiao.csv")
                                      .SetSeparator(';')
                                      .SetMapping(x => new Region()
            {
                Id       = Convert.ToInt32(x[0]),
                Initials = x[1],
                Name     = x[2]
            }))
                           .SetDestiny(new SqlServerDestiny()
                                       .SetConnection(Connections.LocalDataBase)
                                       .SetTable("Regiao")
                                       .SetMapping(
                                           new List <Map>()
            {
                new Map("Id", "Identidade"),
                new Map("Initials", "Sigla"),
                new Map("Name", "NomeDaRegiao")
            }))
                           .Extract()
                           .Transform <Region>()
                           .Load();

            pipeLine.WriteNotifications();
            Console.WriteLine(pipeLine.Destiny.Result.Message);
        }
示例#2
0
        public void InserterTest()
        {
            PipeLineContext c = new PipeLineContext();

            c.PathToSourceFile      = @"C:\Users\C51188\Documents\CSAHC_Tradedetails_20180228\blabla.txt";
            c.ConnectionString      = @"Data Source=NLGSPIDCS34019\S0QRMSN;Initial Catalog=QRM_TDM_DMT_LIQ_DEV_DWH;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            c.FieldDelimiter        = '|';
            c.DestinationTableName  = "MurexTradeDetails";
            c.IsSuggestingDataTypes = false;
            c.LinesToScan           = 2000;
            ConcurrentQueue <List <string> > RowsCollection = new ConcurrentQueue <List <string> >();
            SourceFileReader        Reader     = new SourceFileReader(c, RowsCollection);
            Inserter                Writer     = new Inserter(c, RowsCollection);
            DestinationTableCreator TableMaker = new DestinationTableCreator(c);

            Reader.ReadFinished += Writer.StopWriting;

            Writer.FinishedWriting += IsDone;

            TableMaker.CreateTable();
            Reader.StartReading();
            Writer.CreateConcurrentWriter();
            Writer.CreateConcurrentWriter();

            while (!Done)
            {
                Thread.Sleep(2000);
            }
        }
示例#3
0
        public void CsvToSqlServerComUmaColunaAMenosExecute()
        {
            var pipeLine = new PipeLineContext <Region>()
                           .SetOrigin(new PlainTextOrigin <Region>()
                                      .SetPath(CSV.Path)
                                      .SetSeparator(';')
                                      .SetMapping(x => new Region()
            {
                Id       = Convert.ToInt32(x[0]),
                Initials = x[1],
                Name     = x[2]
            }))
                           .SetDestiny(new SqlServerDestiny()
                                       .SetConnection(Connections.LocalDataBase)
                                       .SetTable("RegiaoTestMinus")
                                       .SetMapping(
                                           new List <Map>()
            {
                new Map("Id", "Identidade"),
                new Map("Initials", "Sigla"),
            }))
                           .Extract()
                           .Transform(x => new
            {
                x.Id,
                x.Initials
            })
                           .Load();

            Assert.Equal("3 itens incluídos", pipeLine.Destiny.Result.Message);
        }
示例#4
0
        public void CreateTableTest()
        {
            PipeLineContext c = new PipeLineContext();

            c.PathToSourceFile = @"C:\Users\C51188\Documents\Axiom ultimo Jan 2018.txt";
            c.ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Liquidity;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            c.FieldDelimiter   = '\t';
            DestinationTableCreator creator = new DestinationTableCreator(c);

            creator.CreateTable();
        }
示例#5
0
        public void SuggestDataTypeTest()
        {
            PipeLineContext c = new PipeLineContext();

            c.PathToSourceFile = @"C:\Users\C51188\Documents\Axiom ultimo Jan 2018.txt";
            c.FieldDelimiter   = '\t';
            DataTypeSuggester killssis = new DataTypeSuggester(c);

            string[] result = killssis.SuggestDataType().Result;

            foreach (string s in result)
            {
                Console.WriteLine(s);
            }
        }