public JsonNetResult GetAllTables(int?dataSourceId)
        {
            DataSource dataSource = getDataSourceById(dataSourceId);

            var tables           = _dataSourceService.GetTablesFromSource(dataSource.DataConnectionInfo);
            var selectableTables = new List <SelectableTableInfo>(tables.Count);

            foreach (var table in tables)
            {
                selectableTables.Add(new SelectableTableInfo
                {
                    IsSelected = dataSource.Tables.FirstOrDefault(i => i.ObjectId == table.ObjectId) != null, // TODO: Improve performance
                    TableInfo  = table
                });
            }
            return(new JsonNetResult()
            {
                Data = selectableTables
            });
        }