Ejemplo n.º 1
0
        public async Task Send()
        {
            if (Data?.Fields?.Length == 0)
            {
                throw new ArgumentException("please name the fields in Data");
            }
            var rdr = new RowDataReader(valuesToBeSent, Data.Fields);
            var con = Data.ConnectionString;

            using (var sbc = new SqlBulkCopy(con, Options))
            {
                sbc.DestinationTableName = Data.TableName;

                await sbc.WriteToServerAsync(rdr);
            }
        }
Ejemplo n.º 2
0
        public async Task TestDataIsOkForRowDataReader()
        {
            #region arrange
            var rows   = new List <IRow>();
            int nrRows = 10;
            for (int i = 0; i < nrRows; i++)
            {
                var rowAndrei = new Mock <IRow>();

                rowAndrei.SetupProperty(it => it.Values,
                                        new Dictionary <string, object>()
                {
                    ["ID"]        = i,
                    ["FirstName"] = "Andrei" + i,
                    ["LastName"]  = "Ignat" + i
                }
                                        );

                rows.Add(rowAndrei.Object);
            }

            #endregion
            #region act
            var rr = new RowDataReader(rows.ToArray(), "ID", "FirstName");

            #endregion
            #region assert
            int nrRecords = 0;
            while (await rr.ReadAsync())
            {
                Assert.AreEqual(nrRecords, rr["ID"]);
                Assert.AreEqual("Andrei" + nrRecords, rr["FirstName"]);
                nrRecords++;
            }
            Assert.AreEqual(nrRows, nrRecords);
            #endregion
        }