Example #1
0
        public void Add(Database database, string tableName)
        {
            if (database is null)
            {
                throw new ArgumentNullException(nameof(database));
            }
            if (tableName is null)
            {
                throw new ArgumentNullException(nameof(tableName));
            }

            if (!_tableValidator.IsValidName(tableName: tableName))
            {
                throw new ArgumentException($"Invalid table name {tableName}.");
            }

            if (!_tableValidator.IsUniqueName(database: database, tableName: tableName))
            {
                throw new ArgumentException($"The table {tableName} is already exists in the database {database.Name}.");
            }

            Table table = new Table(name: tableName)
            {
                DatabaseId = database.Id
            };

            _tableRepository.Add(entity: table);

            _attributeService.AddPrimaryKey(table: table, primaryKeyName: "Id");
        }
Example #2
0
        public void RenameTable(Table table, string tableName)
        {
            if (table is null)
            {
                throw new ArgumentNullException(nameof(table));
            }
            if (tableName is null)
            {
                throw new ArgumentNullException(nameof(tableName));
            }

            if (table.Name == tableName)
            {
                return;
            }

            if (!_tableValidator.IsValidName(tableName: tableName))
            {
                throw new ArgumentException($"Invalid table name {tableName}.");
            }

            Database database = _databaseService.GetById(id: table.DatabaseId);

            if (database is null)
            {
                throw new ArgumentException($"The table {table.Name} does not belog to any database.");
            }

            if (!_tableValidator.IsUniqueName(database: database, tableName: tableName))
            {
                throw new ArgumentException($"The table {tableName} is already exists in the database {database.Name}.");
            }

            if (_deployService.IsDeployed(database: database))
            {
                _deployService.RenameDeployedTable(table: table, validNewTableName: tableName);
            }

            _tableService.Rename(table: table, name: tableName);
        }