Exemple #1
0
        public IAlterExistenceCheckQuery Column(TableColumnConfiguration column)
        {
            name       = column.ColumnName;
            objectType = IGNDbObjectTypeEnum.Column;
            string operand = isAddQuery ? "" : "COLUMN";

            queriable.AddOperation(operand, queriable.FormatFieldOptionals(column), "");
            return(this);
        }
Exemple #2
0
        public void BAlterTableIfExists()
        {
            var dataProvider = new MySqlDataDriver("*****@*****.**");
            var query        = IGNQueriable.Begin("*****@*****.**", dataProvider).
                               Alter().
                               Table("ignusers").
                               IfExists().
                               Add().
                               Column(TableColumnConfiguration.FromConfig("test1", typeof(string), 25, false, false, false, string.Empty)).
                               IfNotExists().
                               Add().
                               Column(TableColumnConfiguration.FromConfig("test2", typeof(string), 25, false, false, false, string.Empty)).
                               IfNotExists().
                               Go();

            dataProvider.Execute(query);
            query = IGNQueriable.Begin("*****@*****.**", dataProvider).
                    Alter().
                    Table("ignusers").
                    IfExists().
                    Alter().
                    Column(TableColumnConfiguration.FromConfig("test1", typeof(string), 50, false, false, false, string.Empty)).
                    IfExists().
                    Go();
            dataProvider.Execute(query);
            query = IGNQueriable.Begin("*****@*****.**", dataProvider).
                    Alter().
                    Table("ignusers").
                    IfExists().
                    Drop("test1").
                    IfExists().
                    Drop("test2").
                    IfExists().
                    Go();
            dataProvider.Execute(query);
            var dataDriver = new MySqlDataDriver("*****@*****.**");
            var column     = TableColumnConfiguration.FromConfig("createdOn", typeof(DateTime), 0, false, true, false, string.Empty);
            var altquery   = IGNQueriable.Begin("*****@*****.**", dataDriver).
                             Alter().
                             Table("ignusers").
                             IfExists().
                             Add().
                             Column(column).
                             IfNotExists().
                             Go();

            dataDriver.Execute(altquery);
        }
Exemple #3
0
        public void CreateTableQueryShouldGiveCorrectSyntax()
        {
            var dbDriverMock = new Mock <IDataDriver>();

            dbDriverMock.Setup(x => x.Dialect).Returns(Enums.DialectEnum.MSSQL);
            dbDriverMock.Setup(x => x.GoTerminator()).Returns("\nGO");
            dbDriverMock.Setup(x => x.GetDbAutoGenFor(It.IsAny <Type>(), It.IsAny <int>())).Returns(" IDENTITY(1,1)");
            var query = IGNQueriable.Begin("*****@*****.**", dbDriverMock.Object).Create().Table("test", new List <TableColumnConfiguration>()
            {
                TableColumnConfiguration.FromConfig("id", typeof(long), 0, true, true, true, null),
                TableColumnConfiguration.FromConfig("name", typeof(string), 255, false, false, false, null)
            }).IfNotExists().Go();
            var expected = "CREATE TABLE [test]([id] BIGINT NOT NULL IDENTITY(1,1),[name] NVARCHAR(255) NULL,CONSTRAINT PK_test PRIMARY KEY([id]))  \nGO";

            Assert.AreEqual(expected, query.ToString());
        }
Exemple #4
0
        public async Task <DataForMatcherUi> Handle(XlsxOrderColumnMatcherQuery message)
        {
            message.FilePath = Path.GetTempPath() + message.FileName;
            var order = new Order();

            var columnData = new DataForMatcherUi
            {
                XlsxColumns  = (await _excelIoWrapper.GetImportColumnData(message)).ToArray(),
                FileName     = message.FileName,
                TableColumns = new List <TableColumnConfiguration>
                {
                    TableColumnConfiguration.Create(() => order.Id, new SingleColumnData("Order ID")),
                    TableColumnConfiguration.Create(() => order.OrderDate, new SingleColumnData("Order Date", required: false)),
                }
            };

            return(columnData);
        }
        public async Task <DataForMatcherUi> Handle(XlsProductColumnMatcherQuery message, CancellationToken cancellationToken)
        {
            message.FilePath = Path.GetTempPath() + message.FileName;
            var product = new Product();

            var columnData = new DataForMatcherUi
            {
                XlsxColumns  = (await _excelIoWrapper.GetImportColumnData(message)).ToArray(),
                FileName     = message.FileName,
                TableColumns = new List <TableColumnConfiguration>
                {
                    TableColumnConfiguration.Create("ProductCategoryCode", new SingleColumnData("Category Code")),
                    TableColumnConfiguration.Create(() => product.ProductName, new SingleColumnData("Product Name", required: false)),
                }
            };

            return(columnData);
        }
Exemple #6
0
        public void ACreateTableIfNotExists()
        {
            var dataProvider = new MySqlDataDriver("*****@*****.**");
            var paramList    = new List <TableColumnConfiguration>()
            {
                TableColumnConfiguration.FromConfig("id", typeof(long), 0, true, true, true, string.Empty),
                TableColumnConfiguration.FromConfig("userId", typeof(long), 0, true, false, false, null),
                TableColumnConfiguration.FromConfig("mail", typeof(string), 254, true, false, false, string.Empty),
                TableColumnConfiguration.FromConfig("active", typeof(bool), 0, true, false, false, true)
            };
            var query = IGNQueriable.Begin("*****@*****.**", dataProvider).
                        Create().
                        Table("ignusers", paramList).
                        IfNotExists().
                        Go();

            dataProvider.Execute(query);
        }
Exemple #7
0
        public void AlterColumnsQueryShouldGiveCorrectSyntax()
        {
            var dbDriverMock = new Mock <IDataDriver>();

            dbDriverMock.Setup(x => x.Dialect).Returns(Enums.DialectEnum.MSSQL);
            dbDriverMock.Setup(x => x.GoTerminator()).Returns("\nGO");
            var query = IGNQueriable.Begin("*****@*****.**", dbDriverMock.Object).
                        Alter().
                        Table("test").
                        IfExists().
                        Alter().
                        Column(TableColumnConfiguration.FromConfig("test1", typeof(string), 25, false, false, false, "")).
                        IfExists().
                        Go();
            var expected = "ALTER TABLE [test] ALTER COLUMN [test1] NVARCHAR(25) NULL \nGO";

            Assert.AreEqual(expected, query.ToString());
        }
        public async Task <DataForMatcherUi> Handle(XlsxProductCategoryColumnMatcherQuery message)
        {
            message.FilePath = Path.GetTempPath() + message.FileName;
            var cat = new ProductCategory();

            var columnData = new DataForMatcherUi
            {
                XlsxColumns  = (await _excelIoWrapper.GetImportColumnData(message)).ToArray(),
                FileName     = message.FileName,
                TableColumns = new List <TableColumnConfiguration>
                {
                    TableColumnConfiguration.Create(() => cat.Id, new SingleColumnData("Category Id")),
                    TableColumnConfiguration.Create(() => cat.CategoryName, new SingleColumnData("Category Name")),
                    TableColumnConfiguration.Create(() => cat.CategoryCode, new SingleColumnData("Category Code")),
                }
            };

            return(columnData);
        }
Exemple #9
0
 internal string FormatFieldOptionals(TableColumnConfiguration column)
 {
     return(column.AsCreateTableQueryField(dataDriver, GetDbType, GetDefaultValue, GetDbAutoGenFunc));
 }