Пример #1
0
        public async Task ConstructorTableToSql()
        {
            var c = new ConfigValues()
            {
                StorageAccountConnection = "UseDevelopmentStorage=true;",
                SqlConnection = "Server=localhost;Database=King.BTrak.Data;Trusted_Connection=True;",
                SqlTableName = "TableData",
                StorageTableName = "sqlserverdata",
                Direction = Direction.TableToSql,
            };

            var tableName = "testsynctabletosql";
            var table = new TableStorage(tableName, c.StorageAccountConnection);
            await table.CreateIfNotExists();
            var entity = new TableEntity
            {
                PartitionKey = Guid.NewGuid().ToString(),
                RowKey = Guid.NewGuid().ToString(),
            };
            await table.InsertOrReplace(entity);

            var s = new Synchronizer(c);
            await s.Run();

            await table.Delete();

            var statement = string.Format("SELECT 1 AS [Exists] FROM [dbo].[TableData] WHERE TableName='{0}' AND PartitionKey = '{1}' AND RowKey = '{2}';", tableName, entity.PartitionKey, entity.RowKey);
            var executor = new Executor(new SqlConnection(c.SqlConnection));
            var ds = await executor.Query(statement);
            var r = ds.Model<DataRow>();
            Assert.IsNotNull(r);
            Assert.IsTrue(r.Exists);
        }
Пример #2
0
 public async Task QueryStatementNull()
 {
     var connection = new SqlConnection();
     var e = new Executor(connection);
     await e.Query((string)null);
 }
Пример #3
0
 public async Task QueryCommandNull()
 {
     var connection = new SqlConnection();
     var e = new Executor(connection);
     await e.Query((SqlCommand)null);
 }
Пример #4
0
 public async Task QuerySprocNull()
 {
     var connection = new SqlConnection();
     var e = new Executor(connection);
     await e.Query((IStoredProcedure)null);
 }
Пример #5
0
        public async Task SelectStatement()
        {
            var random = new Random();
            var id = random.Next();
            var unique = Guid.NewGuid();
            var statement = string.Format("SELECT {0} AS [Identifier];", id, unique);

            using (var con = new SqlConnection(connectionString))
            {
                var executor = new Executor(con);
                var data = await executor.Query(statement);

                Assert.IsNotNull(data);

                var obj = data.Model<SelectData>();

                Assert.IsNotNull(obj);
                Assert.AreEqual(id, obj.Identifier);
            }
        }
Пример #6
0
        public async Task Select()
        {
            var sproc = SimulatedSelectStatement.Create();

            using (var con = new SqlConnection(connectionString))
            {
                var executor = new Executor(con);
                var data = await executor.Query(sproc);

                Assert.IsNotNull(data);

                var obj = data.Model<SelectData>();

                Assert.IsNotNull(obj);
                Assert.AreEqual(sproc.TestInt, obj.Identifier);
                Assert.AreEqual(sproc.TestBigInt, obj.BigInt);
                Assert.AreEqual(sproc.TestBit, obj.Bit);
                Assert.AreEqual(sproc.TestDate.Value.Date, obj.Date.Date);
                Assert.AreEqual(sproc.TestDateTime.Value.Date, obj.DateTime.Date);
                Assert.AreEqual(sproc.TestDateTime2.Value.Date, obj.DateTime2.Date);
                Assert.AreEqual(Math.Round(sproc.TestDecimal.Value, 4), Math.Round(obj.Decimal, 4));
                Assert.AreEqual(sproc.TestFloat, obj.Float);
                Assert.AreEqual(Math.Round((decimal)sproc.TestMoney, 4), obj.Money);
                Assert.AreEqual(sproc.TestNChar, obj.NChar.ToString());
                Assert.AreEqual(sproc.TestNText, obj.NText);
                Assert.AreEqual(sproc.TestText, obj.Text);
                CollectionAssert.AreEqual(sproc.TestBinary, obj.Binary);
                CollectionAssert.AreEqual(sproc.TestImage, obj.Image);
                Assert.AreEqual(sproc.TestGuid, obj.Unique);
            }
        }