diff --git a/Projects/Bugbusters/app.py b/Projects/Bugbusters/app.py new file mode 100644 index 000000000..aeba0d533 --- /dev/null +++ b/Projects/Bugbusters/app.py @@ -0,0 +1,449 @@ +import os +from flask import Flask, render_template, request,jsonify +import sqlite3 +import json, csv +import pandas as pd + +class DBBrowserApp: + def __init__(self, db_file_path=os.path.join(os.getcwd(), 'database'), + db_file_name=None, + csv_file_name = None, + csv_file_path =os.path.join(os.getcwd(), 'csv'), + json_file_path = os.path.join(os.getcwd(), 'json'), + json_file_name = None, + scsv_file_path = os.path.join(os.getcwd(), 'savecsv'), + scsv_file_name = None,): + + self.app = Flask(__name__) + self._db_file_path = db_file_path + self._db_file_name = db_file_name + self._db = None # db açık mı değil mi kontrol etmek için + self._csv_file_name = csv_file_name + self._csv_file_path = csv_file_path + self._json_file_path = json_file_path + self._json_file_name = json_file_name + self._scsv_file_path = scsv_file_path + self._scsv_file_name = scsv_file_name + self.setup_routes() + + def setup_routes(self): + @self.app.route('/') + def index(): + return render_template('index.html') + + @self.app.route('/fileinfo', methods=['GET']) + def get_file_info(): + return {'file_path': self._db_file_path} + + @self.app.route('/save', methods=['POST']) + def save_file(): + data = request.get_json() + self._db_file_path = data.get('file_path') + self._db_file_name = data.get('file_name') + + if not self._db_file_name.endswith(".db"): + self._db_file_name += ".db" + + if self._db_file_path and self._db_file_name: + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + if not os.path.exists(self._db_file_path): + os.makedirs(self._db_file_path) + # with open(db_file_path, 'w') as f: + # pass # boş dosya oluşturulur + conn = sqlite3.connect(db_file_path) + + cursor = conn.cursor() + # Tabloları al + cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") + tables = cursor.fetchall() + table_names = [table[0] for table in tables] + + # Tablolara ait sütun adlarını ve türlerini al + table_columns = {} + for table_name in table_names: + cursor.execute(f"PRAGMA table_info({table_name});") + columns_info = cursor.fetchall() + columns = [{'name': col[1], 'type': col[2]} for col in columns_info] + table_columns[table_name] = columns + + return {'message': 'File saved successfully','tables': table_names, 'table_columns': table_columns}, 201 + else: + return {'error': 'File path or variable error'}, 400 + + @self.app.route('/save-sql', methods=['POST']) # gerek yok gibi + def save_sql(): + data = request.get_json() + sql_query = data.get('sql') + + if self._db_file_name and sql_query: + try: + cursor = self._db_file_name.cursor() + cursor.execute(sql_query) + self._db_file_name.commit() + return jsonify({'message': 'SQL executed and table created successfully'}) + except sqlite3.Error as e: + return jsonify({'error': str(e)}), 400 + else: + return jsonify({'error': 'Invalid SQL query or database connection'}), 400 + + + @self.app.route('/create_table', methods=['POST']) #yeni tablo oluşturulduktan sonra fronta + def create_table(): + data = request.get_json() + sql_query = data.get('sql_query') + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + if not sql_query: + return {'error': 'SQL query is missing'}, 400 + + try: + with sqlite3.connect(db_file_path) as db: + cursor = db.cursor() + cursor.execute(sql_query) + db.commit() + return {'message': 'Table created successfully'}, 201 + except sqlite3.Error as e: + return {'error': str(e)}, 500 + + @self.app.route('/close_database', methods=['POST']) + def close_database(): + if self._db: # Bağlantı kontrolü + try: + self._db.close() + self._db = None + self._db_file_name = None + return jsonify({'message': 'Database successfully closed'}), 200 + except Exception as e: + return jsonify({'error': f'Error closing the database: {str(e)}'}), 500 + else: + return jsonify({'error': 'No database connection to close'}), 400 + + + + @self.app.route('/open_database', methods=['POST']) + def open_database(): + try: + self._db_file_name = request.json.get('file_name') + if not self._db_file_name: + return jsonify({'error': 'No file name provided'}), 400 + if self._db_file_name.endswith('.db'): + conn = os.path.join(self._db_file_path, self._db_file_name) + self._db = sqlite3.connect(conn) # Bağlantıyı self._db içine atayın + cursor = self._db.cursor() + + cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") + tables = cursor.fetchall() + table_names = [table[0] for table in tables] + + table_columns = {} + for table_name in table_names: + cursor.execute(f"PRAGMA table_info({table_name});") + columns_info = cursor.fetchall() + columns = [{'name': col[1], 'type': col[2]} for col in columns_info] + table_columns[table_name] = columns + + return jsonify({'message': 'Database opened successfully', 'tables': table_names, 'table_columns': table_columns}), 200 + else: + return jsonify({'error': 'Invalid file format'}), 400 + except Exception as e: + return jsonify({'error': str(e)}), 500 + + @self.app.route('/execute_sql', methods=['POST']) + def execute_sql(): + try: + # Gelen JSON verisinden SQL sorgusunu alın + sql_query = request.json.get('sql_query', '') + + # Eğer veritabanı bağlantısı yoksa veya SQL sorgusu yoksa hata döndür + if not self._db or not sql_query: + return jsonify({'error': 'Invalid database connection or SQL query'}), 400 + + conn = os.path.join(self._db_file_path, self._db_file_name) + self._db = sqlite3.connect(conn) + # SQL sorgusunu veritabanında çalıştırın + cursor = self._db.cursor() + cursor.execute(sql_query) + result = cursor.fetchall() + + # Sütun adlarını al + column_names = [description[0] for description in cursor.description] + + # Sonucu JSON formatına dönüştürün + result_data = {'column_names': column_names, 'result': result} + + # Sonucu JSON olarak yanıtlayın + return jsonify({'data': result_data}), 200 + except sqlite3.Error as e: + # Bir hata oluşursa, hata mesajını JSON olarak yanıtlayın + return jsonify({'error': str(e)}), 500 + + @self.app.route('/open_csv', methods=['POST']) + def open_csv(): + try: + data = request.get_json() + self._csv_file_name = data.get('csvFile') + print(f"csv_file_name: {self._csv_file_name}") + print(f"csv_file_path: {self._csv_file_path}") + print(f"db_file_path: {self._db_file_path}") + print(f"db_file_name: {self._db_file_name}") + csv_file_path = os.path.join(self._csv_file_path, self._csv_file_name) + + if not os.path.exists(csv_file_path): + return jsonify({'error': 'CSV file not found'}), 400 + + df = pd.read_csv(csv_file_path) + tables = df.values.tolist() + column_names = df.columns.tolist() + preview_data = { + 'column_names': column_names, + 'tables': tables, + 'message': 'CSV file opened successfully' + } + + return jsonify(preview_data), 200 + except Exception as e: + return jsonify({'error': str(e)}), 500 + + @self.app.route('/update_csv_preview', methods=['POST']) + def update_csv_preview(): + try: + data = request.get_json() + self._csv_file_name = data.get('csvFile') + settings = data.get('settings') + csv_file_path = os.path.join(self._csv_file_path, self._csv_file_name) + + if not os.path.exists(csv_file_path): + return jsonify({'error': 'CSV file not found'}), 400 + + column_names_in_first_line = settings.get('columnNamesInFirstLine', True) + field_separator = settings.get('fieldSeparator', ',') + quote_character = settings.get('quoteCharacter', '"') + encoding = settings.get('encoding', 'utf-8') + trim_fields = settings.get('trimFields', False) + + df = pd.read_csv( + csv_file_path, + sep=field_separator, + quotechar=quote_character, + encoding=encoding, + skipinitialspace=trim_fields, + header=0 if column_names_in_first_line else None + ) + + tables = df.values.tolist() + column_names = df.columns.tolist() + + preview_data = { + 'column_names': column_names, + 'tables': tables + } + + return jsonify(preview_data), 200 + except Exception as e: + return jsonify({'error': str(e)}), 500 + + @self.app.route('/add_csv_to_db', methods=['POST']) + def add_csv_to_db(): + data = request.json + table_name = data.get('table_name') + + csv_file_path = os.path.join(self._csv_file_path, self._csv_file_name) + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + print(f"csv_file_path: {csv_file_path}") + print(f"db_file_path: {db_file_path}") + print(f"table_name: {table_name}") + print(f"db dosya yolu: {self._db_file_path}") + print(f"db dosya adı: {self._db_file_name}") + print(f"csv dosya adı: {self._csv_file_name}") + print(f"csv dosya yolu: {self._csv_file_path}") + + if not csv_file_path or not db_file_path or not table_name: + return jsonify({"error": "Missing required parameters"}), 400 + + # Check if CSV file exists + if not os.path.exists(csv_file_path): + return jsonify({"error": "CSV file not found"}), 404 + + # Check if database file exists + if not os.path.exists(db_file_path): + return jsonify({"error": "Database file not found"}), 404 + + try: + # Read the CSV file into a DataFrame + df = pd.read_csv(csv_file_path) + + # Connect to the SQLite database + conn = sqlite3.connect(db_file_path) + cursor = conn.cursor() + + # Create table if it doesn't exist + df.to_sql(table_name, conn, if_exists='replace', index=False) + + conn.commit() + + return jsonify({"message": f"CSV data added to table '{table_name}' in database."}), 200 + except Exception as e: + return jsonify({"error": str(e)}), 500 + + @self.app.route('/show_table', methods=['GET']) + def show_table(): + try: + print(f"db_file_path: {self._db_file_path}") + print(f"db_file_name: {self._db_file_name}") + if not self._db_file_name: + return jsonify({'error': 'No file name provided'}), 400 + if self._db_file_name.endswith('.db'): + # Dosya yolunu oluştur + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + + # Veritabanını aç ve self._db'yi güncelle + self._db = sqlite3.connect(db_file_path) + cursor = self._db.cursor() + cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") + table_names = cursor.fetchall() + + tables_data = {} + + for table in table_names: + table_name = table[0] + + # Get the structure of the table + cursor.execute("PRAGMA table_info({})".format(table_name)) + table_structure = cursor.fetchall() + + # Get column names + columns = [column[1] for column in table_structure] + + # Query the data + cursor.execute('SELECT * FROM {}'.format(table_name)) + data = cursor.fetchall() + + # Store data in a dictionary + tables_data[table_name] = { + 'columns': columns, + 'data': data + } + + return jsonify({'message': 'Tables fetched successfully', 'tables': tables_data}), 200 + else: + return jsonify({'error': 'Invalid file format'}), 400 + except Exception as e: + return jsonify({'error': str(e)}), 500 + + @self.app.route('/get_table_names', methods=['GET']) + def get_table_names(): + try: + if not self._db_file_name: + return jsonify({'error': 'No file name provided'}), 400 + if self._db_file_name.endswith('.db'): + # Dosya yolunu oluştur + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + + # Veritabanını aç ve self._db'yi güncelle + self._db = sqlite3.connect(db_file_path) + cursor = self._db.cursor() + cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") + table_names = cursor.fetchall() + + # Extract table names from the fetched data + table_names = [table[0] for table in table_names] + + return jsonify({'message': 'Table names fetched successfully', 'table_names': table_names}), 200 + else: + return jsonify({'error': 'Invalid file format'}), 400 + except Exception as e: + return jsonify({'error': str(e)}), 500 + + + @self.app.route('/save_json', methods=['POST']) + def save_json(): + try: + # Frontend'den gelen tablo adlarını al + selected_tables = request.json.get("selectedTables") + + # Veritabanı dosyasını aç + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + self._db = sqlite3.connect(db_file_path) + cursor = self._db.cursor() + + # Seçili tabloların verilerini al ve JSON dosyası oluştur + for table_name in selected_tables: + cursor.execute(f"SELECT * FROM {table_name}") + data = cursor.fetchall() + + # JSON dosyasını oluştur + if self._db_file_name.endswith(".db"): + self._json_file_name = f"{self._db_file_name[:-3]}.json" + else: + self._json_file_name = f"{self._db_file_name}.json" + json_file_path = os.path.join(self._json_file_path, self._json_file_name) + + # Sütun adlarını al + cursor.execute(f"PRAGMA table_info({table_name})") + columns_info = cursor.fetchall() + column_names = [col[1] for col in columns_info] + + # JSON verisine sütun adlarını dahil et + json_data = { + "table_name": table_name, + "column_names": column_names, + "data": data + } + # JSON dosyasına yaz + with open(json_file_path, "w") as json_file: + json.dump(json_data, json_file) + + return jsonify({"message": "Data successfully saved as JSON files"}), 200 + + except Exception as e: + # Hata durumunda hatayı dön + return jsonify({"error": str(e)}), 500 + + @self.app.route('/save_csv', methods=['POST']) + def save_csv(): + try: + selected_tables = request.json.get("selectedTables") + + # Veritabanı dosyasını aç + db_file_path = os.path.join(self._db_file_path, self._db_file_name) + self._db = sqlite3.connect(db_file_path) + cursor = self._db.cursor() + + # CSV dosyasını oluştur + if self._db_file_name.endswith(".db"): + self._scsv_file_name = f"{self._db_file_name[:-3]}.csv" + else: + self._scsv_file_name = f"{self._db_file_name}.csv" + csv_file_path = os.path.join(self._scsv_file_path, self._scsv_file_name) + + # Seçili tabloların verilerini al ve CSV dosyasına dönüştür + with open(csv_file_path, mode='w', newline='') as csv_file: + writer = csv.writer(csv_file) + for table_name in selected_tables: + # Tablo verilerini al + cursor.execute(f"SELECT * FROM {table_name}") + table_data = cursor.fetchall() + + # # Tablo başlığını yaz + # writer.writerow([f"Table: {table_name}"]) + + # Tablo verilerini yaz + column_names = [description[0] for description in cursor.description] + writer.writerow(column_names) # Sütun başlıklarını yaz + + for row in table_data: + writer.writerow(row) + + return jsonify({"message": "Data successfully saved as CSV file"}), 200 + + except Exception as e: + # Hata durumunda hatayı dön + return jsonify({"error": str(e)}), 500 + + + + def run(self): + self.app.run(debug=True) + +if __name__ == '__main__': + app = DBBrowserApp() + app.run() \ No newline at end of file diff --git a/Projects/Bugbusters/csv/data.csv b/Projects/Bugbusters/csv/data.csv new file mode 100644 index 000000000..f6bb143e1 --- /dev/null +++ b/Projects/Bugbusters/csv/data.csv @@ -0,0 +1,994 @@ +product,price +Crab - Imitation Flakes,$17.00 +Broom - Push,$28.29 +Muffin - Banana Nut Individual,$24.46 +"Chicken - Leg, Boneless",$19.85 +Ecolab - Hobart Upr Prewash Arm,$20.54 +Island Oasis - Strawberry,$17.62 +Bread - Raisin,$5.57 +Wine - Chateau Timberlay,$29.01 +"Coffee - Colombian, Portioned",$17.84 +Daikon Radish,$18.78 +Paper Cocktail Umberlla 80 - 180,$6.82 +Mushroom - Chanterelle Frozen,$23.84 +"Pepsi, 355 Ml",$22.23 +Chinese Foods - Cantonese,$1.14 +Celery Root,$9.71 +Bacardi Breezer - Strawberry,$12.93 +"Ice - Clear, 300 Lb For Carving",$15.85 +Dried Apple,$6.85 +Scallops - 20/30,$14.59 +Foil Wrap,$24.60 +Buffalo - Tenderloin,$3.61 +Carbonated Water - Blackcherry,$14.55 +Wood Chips - Regular,$21.82 +"Juice - Apple, 1.36l",$26.45 +"Nut - Almond, Blanched, Sliced",$7.82 +Longos - Chicken Cordon Bleu,$8.44 +"Juice - Grape, White",$23.54 +Cheese - Marble,$16.06 +"Mushroom - Shitake, Fresh",$21.60 +Grenadillo,$27.89 +Tarts Assorted,$16.51 +Numi - Assorted Teas,$8.41 +Wine - Puligny Montrachet A.,$6.28 +Dill Weed - Fresh,$24.59 +Tomatoes - Grape,$17.91 +Rosemary - Fresh,$16.54 +Maple Syrup,$6.52 +Longos - Chicken Curried,$26.65 +Cheese - Roquefort Pappillon,$1.93 +External Supplier,$2.16 +"Asparagus - Green, Fresh",$18.18 +Nori Sea Weed,$23.20 +"Wine - Red, Antinori Santa",$5.42 +Hipnotiq Liquor,$20.22 +Blueberries - Frozen,$15.00 +Sprouts - Onion,$12.45 +Okra,$12.82 +Mustard Prepared,$1.08 +Cod - Black Whole Fillet,$26.29 +Butcher Twine 4r,$6.54 +Veal - Kidney,$11.57 +Towels - Paper / Kraft,$13.74 +"Potatoes - Instant, Mashed",$1.98 +Cocoa Powder - Dutched,$1.31 +Fuji Apples,$26.44 +Wine - Baron De Rothschild,$5.22 +Barramundi,$14.08 +Cornstarch,$23.40 +Port - 74 Brights,$12.62 +Cream - 35%,$13.63 +Soup Campbells Split Pea And Ham,$8.82 +Yoplait Drink,$12.21 +Mushroom - Chanterelle Frozen,$25.77 +"Wine - Red, Wolf Blass, Yellow",$23.30 +Food Colouring - Blue,$1.80 +Sprouts - Peppercress,$17.64 +Salt - Sea,$24.32 +Chocolate - Semi Sweet,$12.84 +Rice - 7 Grain Blend,$7.48 +Truffle Shells - White Chocolate,$29.27 +The Pop Shoppe - Cream Soda,$19.72 +"Mushroom - Oyster, Fresh",$12.41 +The Pop Shoppe - Lime Rickey,$21.35 +"Juice - Apple, 341 Ml",$5.90 +Tuna - Loin,$13.30 +Nantucket Orange Juice,$24.91 +Tuna - Yellowfin,$23.23 +"Lamb - Leg, Diced",$12.36 +Chocolate - Chips Compound,$7.77 +Zucchini - Green,$11.30 +Gherkin - Sour,$19.13 +Sole - Fillet,$17.97 +Lettuce - Baby Salad Greens,$23.01 +Toamtoes 6x7 Select,$7.70 +Mace Ground,$24.48 +Wine - Black Tower Qr,$22.37 +Pants Custom Dry Clean,$23.76 +Veal - Leg,$25.48 +"Chocolate - Pistoles, Lactee, Milk",$20.28 +Beans - Butter Lrg Lima,$22.82 +Pepper - Yellow Bell,$27.60 +Bread Roll Foccacia,$11.94 +Muffin - Bran Ind Wrpd,$24.22 +Rye Special Old,$25.71 +Island Oasis - Lemonade,$21.13 +"Soup - Campbells, Butternut",$17.47 +Eggwhite Frozen,$17.63 +Cookie - Dough Variety,$8.36 +Numi - Assorted Teas,$20.33 +Madeira,$16.60 +Wine - Chardonnay South,$5.22 +Jam - Apricot,$1.54 +"Pasta - Lasagna Noodle, Frozen",$13.42 +Fish - Bones,$25.04 +"Pasta - Penne Primavera, Single",$10.14 +"Orange - Canned, Mandarin",$10.73 +Salt - Seasoned,$1.18 +V8 Splash Strawberry Kiwi,$3.58 +Flour - Strong,$7.27 +Cheese - Feta,$17.86 +"Tart Shells - Sweet, 3",$15.20 +"Star Anise, Whole",$10.67 +Pickle - Dill,$29.57 +Cocktail Napkin Blue,$4.26 +Cream Of Tartar,$10.43 +"Pepper - Black, Whole",$11.70 +Icecream - Dstk Super Cone,$8.01 +Salmon - Canned,$25.30 +Beets - Pickled,$3.09 +Wiberg Super Cure,$19.96 +Sausage - Blood Pudding,$7.08 +Dooleys Toffee,$28.64 +Bag Stand,$18.48 +"Pepper - Green, Chili",$12.37 +"Ecolab - Orange Frc, Cleaner",$15.49 +Container - Clear 16 Oz,$24.48 +Salt - Table,$29.27 +Wine - Savigny - Les - Beaune,$17.15 +Miso - Soy Bean Paste,$16.92 +Ginger - Crystalized,$29.76 +Pork - Backfat,$2.97 +Appetizer - Chicken Satay,$23.76 +Sausage - Chorizo,$26.74 +"Extract - Vanilla,artificial",$14.19 +"Pasta - Rotini, Colour, Dry",$13.13 +Cake - Mini Cheesecake,$26.39 +"Wine - Red, Lurton Merlot De",$10.26 +Nantucket Cranberry Juice,$2.75 +Truffle Cups Green,$16.49 +Chips Potato Swt Chilli Sour,$15.89 +"Brandy - Orange, Mc Guiness",$17.18 +Jameson - Irish Whiskey,$5.34 +Chocolate - Dark,$9.40 +Strawberries - California,$22.26 +Sage - Ground,$9.12 +Table Cloth 54x72 Colour,$24.52 +Soup - Campbells Beef Stew,$20.37 +Wine - Vidal Icewine Magnotta,$10.80 +Calypso - Strawberry Lemonade,$21.32 +Spinach - Spinach Leaf,$2.99 +Veal - Heart,$18.58 +"Yogurt - Cherry, 175 Gr",$21.29 +Veal - Liver,$9.98 +Foil Wrap,$3.66 +Smoked Tongue,$11.06 +Veal - Striploin,$7.80 +Creme De Cacao Mcguines,$24.02 +Beans - Butter Lrg Lima,$17.34 +Pork - Inside,$27.87 +"Basil - Primerba, Paste",$22.98 +Pie Pecan,$9.34 +Bread - Raisin Walnut Oval,$5.55 +"Wine - Magnotta - Red, Baco",$3.15 +"Beef - Tenderlion, Center Cut",$5.95 +Sherbet - Raspberry,$25.05 +True - Vue Containers,$17.47 +Stainless Steel Cleaner Vision,$4.89 +Beef - Inside Round,$24.82 +Bacardi Breezer - Strawberry,$21.23 +Appetizer - Tarragon Chicken,$9.72 +Tea - Herbal - 6 Asst,$25.09 +Vodka - Moskovskaya,$27.30 +"Cheese - Romano, Grated",$19.72 +Dc - Sakura Fu,$20.07 +Urban Zen Drinks,$19.52 +Wine - Gato Negro Cabernet,$20.17 +Rootbeer,$9.98 +Creme De Menth - White,$11.98 +Beer - Molson Excel,$20.22 +"Rice Pilaf, Dry,package",$9.51 +Nougat - Paste / Cream,$20.53 +Wine - Pinot Noir Pond Haddock,$19.83 +Corn Syrup,$27.68 +Bandage - Flexible Neon,$26.09 +Chocolate - White,$1.26 +Dasheen,$22.40 +Mushroom - Lg - Cello,$27.01 +"Bread - Pullman, Sliced",$29.62 +French Kiss Vanilla,$5.08 +"Tart Shells - Sweet, 4",$26.89 +Tuna - Sushi Grade,$8.29 +"Bread - Dark Rye, Loaf",$12.93 +Water - Evian 355 Ml,$5.02 +"Veal - Leg, Provimi - 50 Lb Max",$1.49 +Salmon Steak - Cohoe 8 Oz,$20.80 +"Jam - Strawberry, 20 Ml Jar",$4.77 +"Wine - White, Pinot Grigio",$7.99 +"Cheese - Boursin, Garlic / Herbs",$20.55 +Chicken - Livers,$9.44 +Bay Leaf,$8.60 +Cake - Box Window 10x10x2.5,$15.14 +Flour - Fast / Rapid,$11.97 +Cups 10oz Trans,$20.10 +Parsley - Fresh,$20.62 +"Mushrooms - Black, Dried",$4.18 +Wine - Chardonnay Mondavi,$3.45 +Curry Powder,$29.67 +Bag Stand,$2.65 +Muffin - Mix - Bran And Maple 15l,$17.44 +Tea - Jasmin Green,$20.74 +Beer - True North Lager,$5.08 +Raisin - Golden,$10.98 +Raspberries - Fresh,$1.34 +"Rum - Coconut, Malibu",$11.54 +"Nut - Walnut, Chopped",$10.64 +Lettuce - Baby Salad Greens,$23.88 +Salt - Seasoned,$26.89 +Wine - Valpolicella Masi,$12.92 +"Pepper - Green, Chili",$24.05 +"Ecolab - Orange Frc, Cleaner",$28.09 +Water - Green Tea Refresher,$25.71 +Vol Au Vents,$6.36 +Sauce - Plum,$22.61 +Wine - Fino Tio Pepe Gonzalez,$10.31 +"Leeks - Baby, White",$1.31 +"Crush - Grape, 355 Ml",$21.60 +Calypso - Pineapple Passion,$18.53 +Onions - Vidalia,$13.84 +Beef - Shank,$17.98 +"Nut - Peanut, Roasted",$22.05 +Tomatoes - Hot House,$24.74 +Muffin Mix - Oatmeal,$4.87 +"Soup - Canadian Pea, Dry Mix",$15.35 +Bread - Granary Small Pull,$22.03 +Longos - Grilled Veg Sandwiches,$8.69 +Soup Campbells Mexicali Tortilla,$6.93 +Beef Flat Iron Steak,$10.34 +Vinegar - White,$2.68 +Cinnamon - Stick,$18.69 +Mousse - Banana Chocolate,$6.55 +Ecolab Crystal Fusion,$20.05 +Wood Chips - Regular,$9.36 +Pork - Back Ribs,$4.63 +Lambcasing,$21.20 +Croissants Thaw And Serve,$12.16 +"Bread - Dark Rye, Loaf",$27.37 +"Bread - Sticks, Thin, Plain",$20.20 +"Olives - Black, Pitted",$9.41 +Corn Kernels - Frozen,$14.73 +Godiva White Chocolate,$29.98 +"Pepper - White, Ground",$24.42 +Chocolate Bar - Smarties,$27.57 +Orange Roughy 4/6 Oz,$28.22 +Teriyaki Sauce,$17.25 +Piping Jelly - All Colours,$18.74 +Chicken Thigh - Bone Out,$24.30 +Lobster - Tail 6 Oz,$25.06 +"Nestea - Ice Tea, Diet",$26.90 +"Pork - Butt, Boneless",$9.67 +"Zucchini - Mini, Green",$28.53 +"Pork - Tenderloin, Frozen",$27.90 +Turkey Leg With Drum And Thigh,$16.40 +"Nut - Almond, Blanched, Whole",$24.85 +Puree - Raspberry,$15.95 +Foam Espresso Cup Plain White,$13.51 +"Cherries - Maraschino,jar",$9.04 +Pie Shell - 9,$11.30 +Soup Campbells,$6.35 +Sole - Fillet,$20.02 +Chevere Logs,$17.75 +Cheese Cloth No 60,$4.86 +Longos - Burritos,$11.96 +Beef - Inside Round,$10.29 +Raisin - Golden,$25.48 +"Veal - Round, Eye Of",$9.48 +"Oil - Truffle, Black",$2.42 +Cheese - Sheep Milk,$16.80 +Tart - Raisin And Pecan,$28.89 +Bread - Raisin,$15.71 +Ice Cream - Fudge Bars,$6.98 +Squid - Breaded,$1.38 +Cinnamon - Ground,$7.24 +Shrimp - 100 / 200 Cold Water,$9.88 +"Ecolab - Orange Frc, Cleaner",$9.99 +Tea - Lemon Scented,$26.02 +Tahini Paste,$25.15 +Beer - True North Lager,$28.08 +Cookie Trail Mix,$3.82 +Pastry - Cherry Danish - Mini,$20.03 +Pastry - Baked Scones - Mini,$12.44 +Sprouts - Peppercress,$27.49 +Marjoram - Fresh,$20.44 +Island Oasis - Sweet And Sour Mix,$29.90 +Honey - Lavender,$19.71 +"Wine - Red, Pelee Island Merlot",$25.75 +Cabbage - Green,$15.18 +Mayonnaise,$3.91 +"Pepsi, 355 Ml",$13.30 +"Crush - Grape, 355 Ml",$1.13 +Table Cloth 62x114 Colour,$8.27 +"Wine - Red, Pelee Island Merlot",$22.97 +Wine - Ice Wine,$15.68 +Lime Cordial - Roses,$5.25 +Soup - Campbellschix Stew,$11.80 +Gelatine Leaves - Envelopes,$12.70 +Mousse - Passion Fruit,$28.55 +Yoplait Drink,$5.83 +"Salt - Rock, Course",$8.86 +Pastry - Plain Baked Croissant,$15.04 +"Napkin - Cocktail,beige 2 - Ply",$29.47 +Bag Stand,$26.26 +Yeast Dry - Fleischman,$27.98 +"Mushroom - Enoki, Dry",$5.41 +Cake - Cheese Cake 9 Inch,$22.62 +Dried Peach,$20.75 +"Wine - Red, Concha Y Toro",$2.24 +Grapefruit - White,$5.92 +"Rum - Light, Captain Morgan",$2.98 +Sandwich Wrap,$8.04 +Salt And Pepper Mix - White,$10.76 +Salmon - Canned,$12.61 +Cheese - Mozzarella,$7.80 +Muffin - Mix - Creme Brule 15l,$23.48 +Carbonated Water - Strawberry,$7.70 +Flour - Chickpea,$9.31 +Versatainer Nc - 9388,$8.72 +Ketchup - Tomato,$6.76 +Ice Cream Bar - Oreo Cone,$16.69 +Bread Crumbs - Japanese Style,$15.85 +"Artichoke - Bottom, Canned",$29.10 +"Cherries - Bing, Canned",$1.42 +Icecream Cone - Areo Chocolate,$3.89 +Shrimp - Black Tiger 6 - 8,$3.82 +Versatainer Nc - 9388,$5.16 +Lamb Tenderloin Nz Fr,$12.12 +"Pork - Sausage, Medium",$25.39 +Wine - Cave Springs Dry Riesling,$25.83 +Wine - Delicato Merlot,$20.83 +Grapefruit - White,$2.48 +Food Colouring - Red,$20.34 +"Nut - Hazelnut, Whole",$17.48 +Croissants Thaw And Serve,$22.59 +Ocean Spray - Ruby Red,$4.66 +"Beef - Kindney, Whole",$25.38 +Boogies,$7.25 +Cloves - Whole,$6.45 +Cheese - Bocconcini,$17.58 +Broom - Angled,$9.20 +Pail For Lid 1537,$26.12 +Pepper - Green,$20.26 +Cheese - Perron Cheddar,$2.44 +Sausage - Meat,$15.94 +Squash - Guords,$24.78 +Grapes - Red,$21.85 +Longos - Grilled Chicken With,$28.64 +Beef - Flank Steak,$3.33 +Salad Dressing,$1.53 +Cup - Translucent 7 Oz Clear,$3.55 +Ecolab - Medallion,$21.66 +Icecream Bar - Del Monte,$19.25 +Lobak,$9.26 +Nantucket - Orange Mango Cktl,$14.26 +Curry Powder Madras,$24.80 +Table Cloth 90x90 White,$20.67 +Beef - Ground Medium,$11.55 +Breakfast Quesadillas,$10.85 +Oil - Peanut,$14.35 +Truffle Cups Green,$24.46 +Galliano,$18.22 +"Nut - Walnut, Chopped",$13.55 +Wine - Trimbach Pinot Blanc,$20.78 +Bagels Poppyseed,$22.36 +Jolt Cola - Red Eye,$9.43 +"Wine - Magnotta, Merlot Sr Vqa",$6.20 +"Sprite, Diet - 355ml",$2.70 +Smoked Paprika,$9.67 +Meldea Green Tea Liquor,$14.60 +Carbonated Water - Lemon Lime,$3.83 +Filo Dough,$10.86 +Rice - Aborio,$9.61 +Filter - Coffee,$19.95 +Absolut Citron,$6.62 +Pastry - Apple Large,$22.34 +"Tomatoes - Vine Ripe, Yellow",$24.06 +Shichimi Togarashi Peppeers,$14.64 +Soupfoamcont12oz 112con,$15.85 +Bagel - Ched Chs Presliced,$17.43 +Ecolab Silver Fusion,$6.12 +Wine - Kwv Chenin Blanc South,$25.02 +Pate - Peppercorn,$7.45 +Lemon Tarts,$27.38 +"Wine - White, Lindemans Bin 95",$19.74 +Wine - Riesling Dr. Pauly,$12.87 +Maple Syrup,$5.48 +Beer - Blue,$29.70 +Bagelers,$6.78 +Puree - Passion Fruit,$1.35 +"Veal - Brisket, Provimi, Bone - In",$21.50 +Mustard Prepared,$23.25 +Bar Mix - Lime,$6.30 +Nacho Chips,$14.67 +"Beef - Rib Roast, Capless",$22.55 +Wine - Ej Gallo Sierra Valley,$18.14 +Bread - Bistro White,$2.18 +Flavouring - Orange,$11.65 +Otomegusa Dashi Konbu,$21.36 +Cheese - Goat With Herbs,$6.96 +Yoplait Drink,$7.61 +Nantucket - Carrot Orange,$4.58 +Bread - Malt,$18.94 +"Nut - Pine Nuts, Whole",$15.72 +Cabbage - Green,$21.13 +Piping - Bags Quizna,$25.75 +Glaze - Apricot,$26.20 +"Soup - Cream Of Broccoli, Dry",$2.96 +Beef Dry Aged Tenderloin Aaa,$14.05 +Veal - Inside,$27.43 +"Soup - Campbells, Chix Gumbo",$11.77 +Creme De Banane - Marie,$4.47 +Island Oasis - Wildberry,$20.87 +Peach - Halves,$18.85 +"Wine - Red, Harrow Estates, Cab",$6.02 +Basil - Pesto Sauce,$5.44 +Wine - Riesling Alsace Ac 2001,$8.43 +Wine - Penfolds Koonuga Hill,$28.95 +Pastry - French Mini Assorted,$11.66 +Broom Handle,$5.12 +Pasta - Canelloni,$4.58 +Cafe Royale,$17.75 +Scallops - U - 10,$14.59 +Nantucket Apple Juice,$24.95 +Rice Paper,$16.86 +"Cheese - Cheddar, Medium",$2.02 +"Beans - Black Bean, Preserved",$15.71 +Island Oasis - Sweet And Sour Mix,$20.67 +Chocolate Bar - Smarties,$6.59 +Tequila Rose Cream Liquor,$25.89 +Macaroons - Two Bite Choc,$23.66 +Cheese - Pied De Vents,$20.42 +Beer - Mcauslan Apricot,$2.14 +"Oranges - Navel, 72",$20.16 +Basil - Thai,$29.34 +Tea - Jasmin Green,$12.96 +Wine - Kwv Chenin Blanc South,$7.38 +Chick Peas - Canned,$1.98 +Cheese - Blue,$20.39 +Pike - Frozen Fillet,$26.59 +Wine - Sogrape Mateus Rose,$16.19 +Sugar - Brown,$10.03 +Muffin Batt - Blueberry Passion,$8.24 +Pasta - Fusili Tri - Coloured,$18.86 +Mussels - Frozen,$8.72 +Pastry - Baked Scones - Mini,$24.65 +Appetizer - Smoked Salmon / Dill,$5.87 +"Vermacelli - Sprinkles, Assorted",$2.86 +Lettuce - Boston Bib,$18.99 +Lamb Shoulder Boneless Nz,$6.45 +Smoked Paprika,$29.24 +Bread - Corn Muffaletta,$7.00 +Table Cloth 62x114 Colour,$7.88 +Pie Shell - 9,$24.52 +Beer - Pilsner Urquell,$10.84 +Tart - Lemon,$26.59 +Potatoes - Mini White 3 Oz,$15.08 +Flour - All Purpose,$27.47 +Tomato - Tricolor Cherry,$20.91 +Yukon Jack,$22.06 +"Mustard - Dry, Powder",$6.15 +"Brownies - Two Bite, Chocolate",$2.09 +Wine - Chateau Bonnet,$11.49 +Wine - Semi Dry Riesling Vineland,$15.51 +Compound - Orange,$23.55 +"Carrots - Mini, Stem On",$22.62 +Chip - Potato Dill Pickle,$23.93 +Sprouts - Onion,$16.77 +Yogurt - French Vanilla,$26.49 +Cookies - Assorted,$25.18 +Bread Crumbs - Panko,$1.16 +Tomatoes - Orange,$26.27 +"Pasta - Fett Alfredo, Single Serve",$15.73 +Cookie - Oreo 100x2,$5.57 +Vol Au Vents,$15.88 +Sausage - Andouille,$4.95 +Bar - Granola Trail Mix Fruit Nut,$22.28 +Soup - Base Broth Chix,$17.66 +Juice - Orangina,$17.40 +Appetizer - Chicken Satay,$12.54 +Sausage - Andouille,$26.45 +"Pepper - Chillies, Crushed",$22.92 +Beans - Butter Lrg Lima,$29.95 +"Cheese - Romano, Grated",$9.78 +Cake - Dulce De Leche,$28.67 +Pancetta,$5.05 +Bok Choy - Baby,$9.06 +Langers - Mango Nectar,$25.97 +Ginsing - Fresh,$17.62 +Lobster - Live,$11.61 +Wine - Hardys Bankside Shiraz,$5.60 +Cinnamon - Ground,$25.83 +Water Chestnut - Canned,$5.22 +"Turkey - Breast, Boneless Sk On",$17.72 +Onions - Red,$9.74 +Rolled Oats,$3.71 +Momiji Oroshi Chili Sauce,$28.11 +Oil - Hazelnut,$29.50 +Plate Pie Foil,$15.84 +Wine - Manischewitz Concord,$13.05 +"Pesto - Primerba, Paste",$17.88 +Uniform Linen Charge,$17.44 +Cilantro / Coriander - Fresh,$10.64 +Curry Powder,$5.32 +"Lamb - Leg, Boneless",$9.58 +Lemons,$26.27 +Cheese - Bakers Cream Cheese,$15.30 +Pie Pecan,$15.12 +Wine - Zonnebloem Pinotage,$27.19 +"Radish - Black, Winter, Organic",$10.86 +"Artichoke - Bottom, Canned",$23.33 +Chicken - White Meat With Tender,$15.59 +"Oil - Truffle, Black",$16.96 +Pork - Ground,$6.60 +Pickles - Gherkins,$5.09 +Cardamon Ground,$18.79 +Potatoes - Idaho 100 Count,$7.08 +Pork - Back Ribs,$24.34 +Pomello,$22.91 +Cinnamon Rolls,$12.11 +Halibut - Steaks,$5.16 +"Soup - Knorr, French Onion",$22.61 +Spinach - Baby,$21.54 +Dome Lid Clear P92008h,$8.52 +Butter - Unsalted,$29.40 +"Pork - Loin, Bone - In",$18.91 +Cake - Cake Sheet Macaroon,$8.88 +Icecream - Dstk Strw Chseck,$18.02 +Wine - Casablanca Valley,$14.32 +Fenngreek Seed,$28.61 +"Beef - Baby, Liver",$12.61 +Veal - Osso Bucco,$1.39 +Wine - Chablis J Moreau Et Fils,$15.67 +Eggplant Oriental,$26.65 +Sausage - Blood Pudding,$11.82 +Dc Hikiage Hira Huba,$26.51 +Cinnamon - Stick,$14.96 +Flour - Teff,$2.56 +"Nut - Almond, Blanched, Whole",$5.15 +Langers - Cranberry Cocktail,$22.14 +Sugar - Splenda Sweetener,$12.54 +Grapes - Red,$14.70 +Cleaner - Lime Away,$25.14 +Beef - Top Sirloin,$26.94 +Corn Kernels - Frozen,$1.51 +Longos - Cheese Tortellini,$28.22 +Jack Daniels,$27.04 +Cake - French Pear Tart,$10.59 +Chocolate - Feathers,$7.08 +"Ranchero - Primerba, Paste",$6.01 +Food Colouring - Green,$9.20 +Sauce - Rosee,$11.26 +Sausage - Meat,$1.76 +Soup - Campbells Beef Noodle,$15.09 +Coffee - Egg Nog Capuccino,$8.98 +"Tendrils - Baby Pea, Organic",$17.99 +Tomatoes - Yellow Hot House,$9.43 +Mushroom - Porcini Frozen,$12.46 +Cookie Dough - Oatmeal Rasin,$7.55 +Juice - Mango,$15.57 +Initation Crab Meat,$19.70 +Wine - Bouchard La Vignee Pinot,$27.49 +"Yogurt - Cherry, 175 Gr",$12.58 +"Juice - Tomato, 10 Oz",$28.32 +Cake Sheet Combo Party Pack,$15.47 +Quiche Assorted,$20.16 +Pork - Backfat,$26.04 +Beer - Sleemans Cream Ale,$13.66 +Wine - Masi Valpolocell,$23.26 +Seabream Whole Farmed,$3.08 +Horseradish - Prepared,$16.20 +"Zucchini - Mini, Green",$24.67 +Langers - Mango Nectar,$16.86 +Lid - 0090 Clear,$11.22 +Canada Dry,$10.27 +Island Oasis - Mango Daiquiri,$5.26 +Steel Wool S.o.s,$9.86 +Oil - Safflower,$2.09 +Grenadine,$5.44 +Breadfruit,$9.23 +"Wine - Red, Harrow Estates, Cab",$6.50 +Dc - Frozen Momji,$11.49 +"Wine - White, Schroder And Schyl",$25.72 +"Cherries - Maraschino,jar",$14.40 +Muffin Hinge Container 6,$20.66 +Kiwano,$9.17 +Ecolab - Power Fusion,$24.56 +Ice Cream Bar - Rolo Cone,$14.52 +Silicone Paper 16.5x24,$24.19 +Pear - Asian,$21.09 +Appetizer - Sausage Rolls,$14.36 +Coffee Cup 12oz 5342cd,$22.71 +Mushrooms - Honey,$4.96 +Soup - French Can Pea,$4.62 +"Lettuce - Romaine, Heart",$21.24 +"Nut - Pine Nuts, Whole",$22.91 +Lamb - Loin Chops,$13.86 +Broom - Angled,$23.51 +Cod - Fillets,$4.73 +"Beans - Black Bean, Canned",$9.67 +Pie Filling - Apple,$6.48 +Wine - Chateau Aqueria Tavel,$26.83 +Eggplant - Asian,$1.80 +V8 - Vegetable Cocktail,$11.92 +Appetizer - Lobster Phyllo Roll,$29.16 +Ocean Spray - Kiwi Strawberry,$13.85 +Wine - Casablanca Valley,$13.81 +Gelatine Leaves - Envelopes,$18.05 +"Wine - White, Pelee Island",$12.19 +Sour Puss Raspberry,$27.60 +Cheese - Comte,$28.51 +"Corn - Cream, Canned",$2.37 +Pork Casing,$29.08 +Onions - Cooking,$21.23 +Spinach - Spinach Leaf,$27.21 +Flower - Leather Leaf Fern,$15.57 +Sauce - Sesame Thai Dressing,$27.73 +Flour - Masa De Harina Mexican,$20.78 +"Vodka - Lemon, Absolut",$18.42 +"Cheese - Brie, Triple Creme",$8.31 +"Soup - Campbells, Lentil",$4.97 +Sauce - Chili,$19.59 +"Mushroom - Trumpet, Dry",$25.92 +Oil - Olive Bertolli,$13.36 +Muffin Carrot - Individual,$3.07 +Wine - Pinot Noir Pond Haddock,$29.43 +Apple - Custard,$20.41 +Bar Nature Valley,$16.76 +V8 Splash Strawberry Banana,$2.85 +Cognac - Courvaisier,$3.05 +Cheese - Comte,$4.09 +Vinegar - White Wine,$20.93 +Lighter - Bbq,$23.36 +Wine - Fume Blanc Fetzer,$20.59 +Cleaner - Lime Away,$8.06 +Worcestershire Sauce,$18.51 +Bouillion - Fish,$2.65 +Juice - Lemon,$4.57 +Guinea Fowl,$8.85 +Mix Pina Colada,$8.43 +Milk - Homo,$13.28 +Tomato - Green,$7.56 +Sterno - Chafing Dish Fuel,$7.23 +Beef - Tenderloin Tails,$23.15 +"Beans - Black Bean, Canned",$20.43 +Vinegar - White,$25.05 +Spic And Span All Purpose,$5.25 +Fudge - Cream Fudge,$18.61 +Lid - 3oz Med Rec,$1.46 +Juice - Happy Planet,$18.07 +Rice - Sushi,$5.46 +Wine - White Cab Sauv.on,$29.48 +Basil - Thai,$6.26 +Muffin - Mix - Creme Brule 15l,$8.86 +Longos - Grilled Chicken With,$12.13 +Ginger - Pickled,$2.26 +Wine - Magnotta - Bel Paese White,$10.02 +Cranberry Foccacia,$6.39 +"Cod - Salted, Boneless",$5.07 +Chicken - Soup Base,$15.41 +Wine - Duboeuf Beaujolais,$18.95 +Wine - Clavet Saint Emilion,$23.39 +Wine - Vovray Sec Domaine Huet,$16.59 +Blackberries,$1.55 +Cocoa Feuilletine,$14.68 +"Tart Shells - Savory, 2",$27.71 +Island Oasis - Ice Cream Mix,$6.46 +Bread - Granary Small Pull,$9.98 +Beef Striploin Aaa,$25.68 +"Thyme - Lemon, Fresh",$22.30 +Pop - Club Soda Can,$5.43 +Wine - Cotes Du Rhone Parallele,$25.57 +"Pepper - Julienne, Frozen",$23.95 +Cod - Fillets,$16.08 +"Pepper - Black, Ground",$4.72 +Daikon Radish,$10.56 +Pear - Halves,$9.70 +Cheese - Asiago,$13.54 +Pail With Metal Handle 16l White,$7.08 +"Cherries - Maraschino,jar",$25.40 +Oil - Margarine,$4.54 +Curry Powder,$5.02 +Coffee - 10oz Cup 92961,$11.15 +Stainless Steel Cleaner Vision,$14.55 +Remy Red,$17.83 +"Yogurt - Peach, 175 Gr",$17.30 +Langers - Cranberry Cocktail,$9.92 +Ocean Spray - Kiwi Strawberry,$29.03 +"Beef - Rouladin, Sliced",$26.45 +Ice Cream Bar - Oreo Sandwich,$6.43 +Beans - Green,$11.33 +Dc - Frozen Momji,$26.97 +"Juice - Apple, 341 Ml",$29.87 +Lid Tray - 12in Dome,$23.16 +Muffin Batt - Ban Dream Zero,$27.19 +Trout Rainbow Whole,$15.00 +Soup - Campbells - Chicken Noodle,$21.60 +"Cake Circle, Foil, Scallop",$5.37 +Coffee - Espresso,$2.82 +"Sauce - White, Mix",$21.36 +"Flour - Buckwheat, Dark",$11.20 +Wooden Mop Handle,$7.19 +Wine - Soave Folonari,$14.87 +Appetizer - Seafood Assortment,$7.70 +Vaccum Bag - 14x20,$25.42 +Bowl 12 Oz - Showcase 92012,$15.50 +Lettuce - Radicchio,$22.99 +Magnotta - Bel Paese White,$29.30 +"Tomatoes - Plum, Canned",$26.63 +"Coffee - Beans, Whole",$11.87 +Yeast Dry - Fermipan,$9.00 +"Juice - Apple, 1.36l",$1.55 +Carbonated Water - Strawberry,$13.42 +"Lamb - Leg, Bone In",$22.00 +Star Fruit,$5.87 +"Pepper - Black, Crushed",$25.41 +Lobster - Tail 6 Oz,$17.94 +Wine - Vovray Sec Domaine Huet,$2.67 +"Tart Shells - Savory, 4",$7.71 +Trout Rainbow Whole,$2.20 +"Melon - Watermelon, Seedless",$21.26 +Apron,$8.53 +"Beer - Alexander Kieths, Pale Ale",$1.91 +Sauce - Thousand Island,$17.12 +Galliano,$12.70 +Apple - Macintosh,$5.64 +Rice - Aborio,$8.09 +"Wine - Red, Lurton Merlot De",$6.52 +"Lid - High Heat, Super Clear",$13.60 +"Bread - Sticks, Thin, Plain",$29.97 +"Bread - Pullman, Sliced",$4.80 +Russian Prince,$2.80 +"Chocolate - Pistoles, White",$15.87 +Lobster - Cooked,$17.81 +Lamb - Rack,$2.92 +Clam - Cherrystone,$4.71 +Lettuce - Lambs Mash,$13.66 +Tea - Camomele,$12.22 +"Sauce - Bernaise, Mix",$11.24 +Puree - Kiwi,$17.34 +Star Fruit,$11.76 +Bread - Pumpernickel,$29.19 +Veal - Sweetbread,$1.84 +Sponge Cake Mix - Chocolate,$4.01 +Appetizer - Southwestern,$4.32 +"Trout - Rainbow, Fresh",$2.20 +Cookie Dough - Peanut Butter,$7.01 +Muffin - Banana Nut Individual,$21.39 +Milk - 2% 250 Ml,$14.36 +"Sugar - Brown, Individual",$9.23 +Heavy Duty Dust Pan,$7.72 +Cheese - Marble,$17.48 +Paste - Black Olive,$19.88 +Pizza Pizza Dough,$15.31 +Pastry - Key Limepoppy Seed Tea,$4.76 +Pears - Bartlett,$6.25 +Blueberries,$8.24 +Bread Fig And Almond,$25.00 +Lumpfish Black,$14.08 +Ginsing - Fresh,$4.98 +Langers - Cranberry Cocktail,$1.32 +Bagel - Whole White Sesame,$7.49 +Cookies - Englishbay Chochip,$12.42 +Pepper Squash,$13.36 +"Cookies - Oreo, 4 Pack",$29.46 +Kiwi,$25.45 +"Wine - White, Riesling, Henry Of",$15.13 +Iced Tea Concentrate,$29.85 +Oil - Sesame,$24.38 +Pepper - Red Chili,$3.45 +Tuna - Sushi Grade,$21.55 +"Bread - Dark Rye, Loaf",$23.14 +"Wine - Red, Lurton Merlot De",$5.73 +Orange Roughy 6/8 Oz,$25.02 +Sole - Fillet,$1.28 +Beef - Top Butt,$22.28 +"Bread - Roll, Canadian Dinner",$5.41 +Wine - Conde De Valdemar,$13.14 +"Wine - White, Schroder And Schyl",$28.28 +Foil - Round Foil,$28.54 +Cod - Fillets,$9.95 +Shallots,$29.40 +Rum - Mount Gay Eclipes,$3.31 +Pastry - Trippleberry Muffin - Mini,$20.82 +Rabbit - Whole,$21.81 +"Soup - Campbells, Beef Barley",$6.30 +Kippers - Smoked,$2.71 +Steam Pan - Half Size Deep,$23.76 +Cleaner - Bleach,$14.20 +Flour Dark Rye,$13.35 +"Pasta - Lasagna, Dry",$1.68 +Cheese - Oka,$21.24 +Croissants Thaw And Serve,$23.58 +Wine - Sake,$7.61 +Chocolate - Mi - Amere Semi,$27.91 +Foie Gras,$9.22 +Juice - Ocean Spray Cranberry,$25.23 +Veal - Heart,$15.31 +Pepper - Chili Powder,$15.81 +Beer - Original Organic Lager,$3.88 +Phyllo Dough,$3.10 +Wine - Prosecco Valdobiaddene,$24.38 +Remy Red Berry Infusion,$21.15 +Cotton Wet Mop 16 Oz,$19.46 +Wine - Spumante Bambino White,$7.29 +Filter - Coffee,$25.11 +Sour Puss Sour Apple,$27.71 +Puree - Blackcurrant,$8.34 +Cheese - Swiss,$12.59 +Wine - Savigny - Les - Beaune,$10.80 +Salad Dressing,$14.07 +Spice - Montreal Steak Spice,$18.74 +"Fish - Soup Base, Bouillon",$11.73 +Relish,$29.57 +Chips Potato Swt Chilli Sour,$6.54 +Foam Cup 6 Oz,$9.81 +Lettuce - Boston Bib - Organic,$21.07 +Sponge Cake Mix - Vanilla,$9.83 +Beef - Top Butt,$6.01 +Horseradish Root,$22.04 +Tandoori Curry Paste,$24.11 +Lettuce - Curly Endive,$6.58 +"Soup - Knorr, Chicken Noodle",$16.75 +"Wine - Red, Mouton Cadet",$21.74 +Bar Energy Chocchip,$29.31 +Smirnoff Green Apple Twist,$14.72 +Bacardi Limon,$21.52 +Beef Cheek Fresh,$12.15 +Gherkin,$29.31 +Lettuce - Boston Bib - Organic,$16.43 +"Pork - Back, Short Cut, Boneless",$11.44 +Sauce - Sesame Thai Dressing,$26.79 +Oven Mitts 17 Inch,$25.19 +Langers - Ruby Red Grapfruit,$29.79 +Nantucket - Orange Mango Cktl,$3.01 +Wine - Manischewitz Concord,$14.33 +Bread - Assorted Rolls,$17.89 +Soup Campbells Mexicali Tortilla,$20.66 +"Crab - Claws, 26 - 30",$14.46 +Spaghetti Squash,$13.43 +"Oil - Olive, Extra Virgin",$8.66 +Mushroom - Portebello,$24.89 +Flour - Bread,$13.22 +Tomato - Plum With Basil,$14.25 +Chocolate - Compound Coating,$23.73 +"Cake Circle, Paprus",$16.44 +Sage - Fresh,$3.59 +Milk - Chocolate 500ml,$7.58 +Mushroom - Crimini,$21.27 +Dome Lid Clear P92008h,$6.99 +Lettuce - Spring Mix,$9.87 +Coffee Swiss Choc Almond,$3.98 +Shallots,$25.95 +Broom - Angled,$24.31 +"Capon - Breast, Double, Wing On",$26.47 +Bonito Flakes - Toku Katsuo,$29.82 +Island Oasis - Ice Cream Mix,$28.35 +Hog / Sausage Casing - Pork,$9.73 +Veal - Insides Provini,$12.32 +Cheese - Brick With Onion,$27.40 +"Pepper - Chillies, Crushed",$21.75 +Buffalo - Tenderloin,$20.22 +Beef Cheek Fresh,$28.07 +"Wine - Magnotta - Red, Baco",$17.89 +"Pepper - Julienne, Frozen",$15.33 +Soup - French Can Pea,$19.68 +Spice - Onion Powder Granulated,$3.07 +Bread - Raisin Walnut Pull,$11.95 +"Sauce - White, Mix",$9.36 +"Pasta - Canelloni, Single Serve",$23.54 +Ice Cream Bar - Hagen Daz,$12.52 +"Oil - Truffle, White",$4.54 +"Marsala - Sperone, Fine, D.o.c.",$6.99 +Sour Puss Raspberry,$12.06 +Bread - Bistro Sour,$18.02 +Wine - Prosecco Valdobienne,$8.25 +Carrots - Jumbo,$5.47 +Longos - Grilled Salmon With Bbq,$3.74 +Toamtoes 6x7 Select,$18.88 +Pea - Snow,$25.06 +Wine - Cabernet Sauvignon,$15.48 +Potatoes - Mini White 3 Oz,$8.40 +Wine - Jaboulet Cotes Du Rhone,$29.47 +"Wine - Red, Concha Y Toro",$26.31 +Pork - Bacon Cooked Slcd,$27.65 +Cheese - Grana Padano,$3.78 +Juice - Orangina,$18.46 +Sponge Cake Mix - Chocolate,$10.70 +Sprouts - Baby Pea Tendrils,$23.85 +Muffin Mix - Blueberry,$18.03 +"Rum - Dark, Bacardi, Black",$28.13 +Blueberries,$7.45 +Truffle Shells - Semi - Sweet,$9.52 +Brandy Apricot,$12.03 +Cheese - Montery Jack,$6.03 +Foie Gras,$4.28 +Bacardi Raspberry,$5.35 +Raspberries - Frozen,$20.80 +"Doilies - 8, Paper",$25.54 +"Stock - Beef, White",$24.21 +Apples - Spartan,$8.58 +Flavouring Vanilla Artificial,$1.19 +Cheese - Parmesan Cubes,$16.28 +Cheese - Brick With Pepper,$28.91 +Mayonnaise - Individual Pkg,$19.18 +Nantucket Orange Juice,$22.66 +Energy Drink,$6.11 +Okra,$15.92 +Bread - Ciabatta Buns,$21.67 +Lotus Rootlets - Canned,$11.56 +Cup - 4oz Translucent,$6.18 +Oneshot Automatic Soap System,$11.00 +Cookie Chocolate Chip With,$20.35 +Tea - Jasmin Green,$18.33 +Bread - Olive Dinner Roll,$17.77 +Bacardi Limon,$10.81 +Oil - Peanut,$27.36 +Glucose,$7.02 +Nescafe - Frothy French Vanilla,$17.41 +Bread - Malt,$8.36 +Sauce - Oyster,$29.77 +Sugar - Monocystal / Rock,$26.25 +Wine - Sogrape Mateus Rose,$28.74 +Drambuie,$28.20 +Lambcasing,$21.09 +Tequila - Sauza Silver,$8.12 +"Wine - White, Ej Gallo",$12.61 +"Crab - Claws, 26 - 30",$13.08 +Wine - Rioja Campo Viejo,$7.71 +Veal - Kidney,$28.44 +Dried Figs,$28.71 +Carrots - Mini Red Organic,$28.19 +Tea - Black Currant,$1.50 +Cookie Chocolate Chip With,$27.46 +"Onions - Dried, Chopped",$11.33 +Cleaner - Bleach,$13.68 +Wine - Fat Bastard Merlot,$10.12 +Sprouts - China Rose,$23.71 +Muffin Mix - Blueberry,$12.86 +Sage - Ground,$15.50 +"Soup - Beef, Base Mix",$3.87 +Pork - Shoulder,$18.44 +"Flour - Bran, Red",$18.04 +Rolled Oats,$14.86 +White Fish - Filets,$25.35 +Bagel - Whole White Sesame,$1.26 +Bagel - Everything Presliced,$20.13 +Orange - Blood,$2.76 +Gatorade - Xfactor Berry,$26.78 +Lemon Grass,$14.05 +Celery Root,$14.39 +Sour Puss Sour Apple,$15.99 +Vinegar - Cider,$2.53 +"Pasta - Penne, Rigate, Dry",$25.36 +Foil Cont Round,$15.41 +Potatoes - Idaho 100 Count,$28.41 +Flower - Leather Leaf Fern,$29.83 +Tea - Green,$18.60 +"Juice - Apple, 1.36l",$9.41 +Oranges,$20.70 +Cheese - Taleggio D.o.p.,$10.88 +Cheese - Perron Cheddar,$16.42 +Pickles - Gherkins,$20.11 +"Wine - Red, Mouton Cadet",$12.50 +Broom - Push,$1.81 +"Beef - Rib Roast, Cap On",$9.01 +Sugar Thermometer,$19.79 +Pastry - Apple Large,$27.60 +Creamers - 10%,$26.95 +Beer - Upper Canada Lager,$11.82 +Mint - Fresh,$7.12 +Wine - Piper Heidsieck Brut,$22.68 +Pop - Club Soda Can,$20.45 +Wine - Cousino Macul Antiguas,$9.12 +Juice - Lemon,$23.92 +Sugar - Brown,$4.73 +Table Cloth 72x144 White,$15.83 +Wine - Fino Tio Pepe Gonzalez,$6.18 +"Pork - Loin, Center Cut",$8.92 +Container - Clear 16 Oz,$5.77 +Beef Tenderloin Aaa,$15.03 +Chicken - Soup Base,$23.89 +Soup - Campbells Beef Noodle,$1.68 +Chicken Thigh - Bone Out,$8.12 +Foam Espresso Cup Plain White,$1.92 +deneme,500 diff --git a/Projects/Bugbusters/csv/people-100.csv b/Projects/Bugbusters/csv/people-100.csv new file mode 100644 index 000000000..b8d39f2c5 --- /dev/null +++ b/Projects/Bugbusters/csv/people-100.csv @@ -0,0 +1,101 @@ +Index,User Id,First Name,Last Name,Sex,Email,Phone,Date of birth,Job Title +1,88F7B33d2bcf9f5,Shelby,Terrell,Male,elijah57@example.net,001-084-906-7849x73518,1945-10-26,Games developer +2,f90cD3E76f1A9b9,Phillip,Summers,Female,bethany14@example.com,214.112.6044x4913,1910-03-24,Phytotherapist +3,DbeAb8CcdfeFC2c,Kristine,Travis,Male,bthompson@example.com,277.609.7938,1992-07-02,Homeopath +4,A31Bee3c201ef58,Yesenia,Martinez,Male,kaitlinkaiser@example.com,584.094.6111,2017-08-03,Market researcher +5,1bA7A3dc874da3c,Lori,Todd,Male,buchananmanuel@example.net,689-207-3558x7233,1938-12-01,Veterinary surgeon +6,bfDD7CDEF5D865B,Erin,Day,Male,tconner@example.org,001-171-649-9856x5553,2015-10-28,Waste management officer +7,bE9EEf34cB72AF7,Katherine,Buck,Female,conniecowan@example.com,+1-773-151-6685x49162,1989-01-22,Intelligence analyst +8,2EFC6A4e77FaEaC,Ricardo,Hinton,Male,wyattbishop@example.com,001-447-699-7998x88612,1924-03-26,Hydrogeologist +9,baDcC4DeefD8dEB,Dave,Farrell,Male,nmccann@example.net,603-428-2429x27392,2018-10-06,Lawyer +10,8e4FB470FE19bF0,Isaiah,Downs,Male,virginiaterrell@example.org,+1-511-372-1544x8206,1964-09-20,"Engineer, site" +11,BF0BbA03C29Bb3b,Sheila,Ross,Female,huangcathy@example.com,895.881.4746,2008-03-20,Advertising account executive +12,F738c69fB34E62E,Stacy,Newton,Male,rayleroy@example.org,710.673.3213x80335,1980-10-20,Warden/ranger +13,C03fDADdAadAdCe,Mandy,Blake,Male,jefferynoble@example.org,(992)466-1305x4947,2007-12-08,"Scientist, clinical (histocompatibility and immunogenetics)" +14,b759b74BD1dE80d,Bridget,Nash,Female,mercedes44@example.com,(216)627-8359,2004-06-28,Social worker +15,1F0B7D65A00DAF9,Crystal,Farmer,Male,pmiranda@example.org,+1-024-377-5391,1992-03-09,Agricultural consultant +16,50Bb061cB30B461,Thomas,Knight,Female,braunpriscilla@example.net,+1-360-880-0766,2006-02-18,Sport and exercise psychologist +17,D6dbA5308fEC4BC,Maurice,Rangel,Male,sheenabanks@example.com,(246)187-4969,2004-08-20,Secretary/administrator +18,311D775990f066d,Frank,Meadows,Male,gbrewer@example.org,429.965.3902x4447,2008-09-16,Audiological scientist +19,7F7E1BAcb0C9AFf,Alvin,Paul,Male,gilbertdonaldson@example.com,219.436.0887x07551,1949-05-12,"Teacher, adult education" +20,88473e15D5c3cD0,Jared,Mitchell,Female,jcortez@example.com,+1-958-849-6781,1921-01-18,Paediatric nurse +21,b31D271F8c200AB,Jacqueline,Norton,Female,carias@example.net,819.309.7679x59173,1952-10-09,"Scientist, marine" +22,42F4BdA841aBadC,Colleen,Hatfield,Female,fknox@example.org,638.584.1090,1949-10-14,Commercial horticulturist +23,cBbBcA0FCA3C4Bc,Randy,Barnes,Male,huangbill@example.org,001-960-629-7164x67214,1947-12-30,Outdoor activities/education manager +24,f1f89173353aD90,Janice,Rhodes,Female,juarezdominique@example.net,001-249-314-9742x6996,1999-11-01,Drilling engineer +25,c5B09fb33e8bA0A,Alfred,Mcneil,Female,cassandramorris@example.com,(468)276-9509x53058,1993-05-28,Systems analyst +26,c9F2282C40BEC1E,Sean,Levine,Male,sallymiller@example.net,4915828504,2010-10-09,"Conservation officer, nature" +27,9c1bc7EC53Fb7cE,Louis,Payne,Male,bsullivan@example.net,6232695307,1916-01-29,Counsellor +28,ddEc50e2A2e3a2B,Brittney,Vega,Female,ayalajose@example.net,945-739-8686,1932-10-31,Recycling officer +29,66F096D36Ebae11,Judy,Buckley,Male,irosales@example.net,001-654-208-1241x52830,1963-07-28,Art gallery manager +30,F0fE2faAd78F8b5,Norman,Weber,Male,mconrad@example.com,223.002.0429,1957-05-21,Gaffer +31,5d2feAfbdCAA6B5,Isaiah,Camacho,Female,jimblake@example.org,001-536-544-3367,1966-04-07,Food technologist +32,cDa5F303fCd6dEa,Jacqueline,Gallagher,Male,nsampson@example.net,(247)762-8934,1999-02-25,Building services engineer +33,8Ef7DBfcaB02b6B,Bonnie,Andrews,Female,caitlin24@example.net,+1-253-987-2776x9161,1953-12-21,Seismic interpreter +34,6Dec5b5542F8ed8,Brandon,Schmidt,Female,mconley@example.net,+1-386-673-1465x006,1931-05-12,"Engineer, biomedical" +35,3Fb8a7f68e12784,Jackson,Sparks,Female,reynoldsdarryl@example.net,(137)908-3129x65035,1980-11-18,Set designer +36,035eff50B9A0F24,Melody,Cook,Male,jeannovak@example.org,(826)792-7381,1963-06-25,Research scientist (life sciences) +37,aa614aAE4B7Cf0C,Leonard,Hurst,Male,clinton78@example.org,941-038-0427x38800,1938-03-13,"Accountant, chartered management" +38,ACcde95AAe3e6cC,Gene,Rich,Female,luisdeleon@example.org,+1-356-818-6604x89537,1946-08-22,"Surveyor, quantity" +39,b6a35de5CB6fc25,Cynthia,Wiggins,Female,rosariodave@example.org,(110)858-2437x70190,1984-01-27,Outdoor activities/education manager +40,e92A191E345fA3A,Tanya,Mckinney,Female,vickihouston@example.com,(830)774-9002x086,2003-03-12,Information systems manager +41,7D0AcBF6CCac3fd,Matthew,Stone,Female,evelyn31@example.org,952-381-6360,2017-08-23,"Scientist, clinical (histocompatibility and immunogenetics)" +42,CEFA7BBCef013AE,Kirk,Walsh,Female,stephenfuller@example.org,001-826-496-5529x8661,2009-04-08,Accounting technician +43,9edBC94aE7cA22a,Willie,Vang,Female,haleymathews@example.net,741.168.6854x067,1978-02-02,Management consultant +44,fFe7BAA737aDbe2,Miguel,Hill,Female,tyrone56@example.org,5247842945,1930-08-26,Make +45,5F2f3fAca8B0946,Darren,Andrews,Male,lhernandez@example.com,(975)799-4261,1997-10-04,Retail banker +46,6bFcfc3cc1BC6B4,Haley,Pugh,Female,molly03@example.org,(746)182-6137x2453,1980-09-16,Commissioning editor +47,f3BD2cBF7eEb6df,Danielle,Estrada,Female,jvang@example.org,(890)374-9518x772,1930-07-09,"Accountant, chartered management" +48,Ee4eB129dC7913A,Becky,Brady,Male,erikmueller@example.org,(390)002-0863,1957-06-27,Seismic interpreter +49,dBCEf340C3657Eb,Caitlyn,Frey,Male,rivasdominique@example.org,805-021-3965x46344,1968-01-26,Jewellery designer +50,E47FB71DD9ACCd9,Joshua,Sweeney,Male,daisymcgee@example.net,875.994.2100x535,1954-07-28,"Education officer, museum" +51,eA3fDd79BE9f0E7,Heidi,Escobar,Female,staffordtravis@example.net,601-155-3065x1131,1931-09-25,Estate manager/land agent +52,aF0eE4547Bc025c,Brian,Oconnell,Female,saralong@example.net,952-283-1423x733,1911-10-23,Physiotherapist +53,9F5DeD7aD228F5a,Beverly,Esparza,Female,iphelps@example.net,+1-327-578-8754x6771,1930-12-09,Passenger transport manager +54,D3Fa0220dDE4d36,Nathaniel,Rivas,Female,roberto29@example.com,(655)887-2040x37888,1908-11-17,Call centre manager +55,60FdBFd5e7BE8fF,Debra,Payne,Female,yolanda07@example.org,001-731-525-8400x52593,1927-08-20,Special educational needs teacher +56,D8bF5Ab2b98caff,Mackenzie,Rocha,Female,abbottyvette@example.net,4225525458,1980-10-21,Museum/gallery exhibitions officer +57,CD8d33aA25bc8BB,Courtney,Watkins,Female,ochang@example.org,210.683.2761x5883,2003-12-07,Pension scheme manager +58,Fac3BfFf0A3d03c,Fred,Olsen,Female,amyanderson@example.com,497-774-3053,1910-04-10,Archaeologist +59,e552D7ddafe1FFb,Ryan,Nelson,Female,qnorman@example.org,956.330.2951,1924-05-02,Historic buildings inspector/conservation officer +60,0f8deedb629A5f6,Grace,Phelps,Male,clarkeangela@example.net,(034)867-8827x6777,1909-10-15,Petroleum engineer +61,bB9e49E506F65ed,Shari,Daugherty,Male,kalvarado@example.org,001-951-655-4798x6124,1944-11-24,Curator +62,Ed724605A403D91,Kelli,Garner,Male,jodyvincent@example.org,995.000.4213x0982,2010-01-17,Retail banker +63,0aBE5ACb18E0c10,Jackie,Bennett,Male,hutchinsonkirk@example.com,001-740-937-0846x0087,1915-11-11,Neurosurgeon +64,5D2cb63CaAF53f6,Leslie,Conway,Female,floreschristina@example.org,795.782.4384x555,1983-11-06,Chiropractor +65,Ee6974f90eeCe18,Harold,Barnett,Female,nathan65@example.org,+1-026-265-6392,1943-03-15,"Biochemist, clinical" +66,cEf02C076afa07f,Larry,Harper,Male,maria32@example.org,+1-244-630-3792x4121,2021-05-05,"Scientist, water quality" +67,9Df5Ba591bF3EFf,Mike,Ward,Female,imccullough@example.com,116-729-5046,1967-11-09,Hydrologist +68,3faB1CBfEFBDdD4,Brittney,Rubio,Female,corey92@example.com,593.976.2528,1959-12-24,"Biochemist, clinical" +69,Ebcefdf75eCb0a9,Frank,Pineda,Male,daltoncalvin@example.net,(035)961-5060x9182,1926-03-10,Hospital pharmacist +70,e75e5DBfcb68887,Sandra,Wu,Male,ubanks@example.com,+1-096-606-6454x067,1925-04-28,Warehouse manager +71,6a53a8D41dDF6de,Ryan,Benton,Male,lopezdebbie@example.org,+1-695-557-9948x485,2020-10-06,Physiological scientist +72,F0d3bD1aaf9E3Bc,Tamara,Hull,Male,meagan39@example.net,017.665.3744x7944,1933-01-31,English as a second language teacher +73,5bC87340799FBD0,Jean,Ritter,Female,kristina76@example.com,(954)060-1066,1985-08-06,Financial trader +74,dBfA17Aaf16b4ab,Veronica,Briggs,Female,weissbridget@example.com,+1-521-589-2387x48490,1974-06-08,Structural engineer +75,c935b7Eb6FA0B0F,Kim,Andrews,Female,wpetersen@example.org,7677125383,1990-11-15,"Biochemist, clinical" +76,b3e15e65Ca2CcBf,Tina,Cunningham,Male,wongmary@example.org,079-907-5051,1956-11-29,Race relations officer +77,dade3452F0c32FD,Jonathon,Atkinson,Male,gailfrench@example.net,874-037-2032x932,2011-07-19,"Psychologist, forensic" +78,AdEd6cfD85DeC46,Jermaine,Reid,Female,vpaul@example.com,(742)214-8691,1974-08-18,Newspaper journalist +79,DAf111987098ae4,Regina,Stevens,Male,xpoole@example.net,891-359-2684,2011-11-28,Public house manager +80,6e6a5b885F6496d,Terrence,Huff,Male,cassandra80@example.org,221.800.6408x5416,1944-02-27,Careers information officer +81,12DCb4ED8E01D5C,Tyler,Foley,Female,johnathan72@example.org,001-386-469-3075x8030,1908-09-19,Economist +82,E1cB5cA8CA7CC0a,Andrew,Waters,Male,nhall@example.net,+1-376-865-2765x3351,1948-05-14,Jewellery designer +83,AedDfaE8Cf49F07,Reginald,Stephenson,Male,erikaball@example.net,+1-832-500-6044x475,2010-02-08,Contracting civil engineer +84,bff9853aFAeF772,Douglas,Reese,Female,nixonvanessa@example.net,001-834-660-8312x9864,1961-11-11,Higher education lecturer +85,E883773cA5219Be,Helen,Williamson,Female,melvin08@example.net,001-377-726-4229,1911-08-11,"Lecturer, further education" +86,CB19EafEbBfF9eC,Mario,Vaughn,Male,oblake@example.com,160-144-5039x12276,1990-07-08,Research scientist (life sciences) +87,5834700fbEd2771,Chelsea,Dickson,Male,johnnyhendricks@example.net,001-698-651-0138x18588,1958-05-13,"Teacher, early years/pre" +88,2b0Ab1Dc9E01D7E,Dustin,Bailey,Male,pbarron@example.net,+1-965-621-1157x345,1908-08-22,Travel agency manager +89,3f3a3D89ad042Dd,Harry,Medina,Female,olsenmalik@example.net,+1-451-099-5805,1947-08-24,Technical sales engineer +90,9425E2F38C408ef,Kathy,Haney,Female,teresa37@example.com,(164)105-8456,1955-09-02,Charity fundraiser +91,F0aeC9c2759F3C6,Alison,Nixon,Female,zmiles@example.net,3506680871,1941-07-10,Patent attorney +92,d6EA619A7C4aA95,Jamie,Hardy,Female,sheenadouglas@example.com,(900)803-9295x11533,1994-07-17,"Conservator, furniture" +93,2A33E7Cad1bb0F5,Melody,Cox,Female,evan90@example.org,(626)520-5080x3511,1974-07-30,Dance movement psychotherapist +94,d181FFB7d3E68bb,Xavier,Cole,Male,nicolas90@example.org,8164259975,1938-11-29,Financial planner +95,feaBf8dAE0C0d6F,Dillon,Guzman,Female,angelanavarro@example.net,971-992-4521,1942-04-01,Air broker +96,5eFda7caAeB260E,Dennis,Barnes,Female,bmartin@example.org,001-095-524-2112x257,1954-07-30,Software engineer +97,CCbFce93d3720bE,Steve,Patterson,Female,latasha46@example.net,001-865-478-5157,1932-04-29,Barrister +98,2fEc528aFAF0b69,Wesley,Bray,Male,regina11@example.org,995-542-3004x76800,1994-12-28,Police officer +99,Adc7ad9B6e4A1Fe,Summer,Oconnell,Female,alexiscantrell@example.org,001-273-685-6932x092,2012-04-12,Broadcast journalist +100,b8D0aD3490FC7e1,Mariah,Bernard,Male,pcopeland@example.org,(341)594-6554x44657,2016-11-15,IT sales professional diff --git a/Projects/Bugbusters/database/aa.db b/Projects/Bugbusters/database/aa.db new file mode 100644 index 000000000..b178c60da Binary files /dev/null and b/Projects/Bugbusters/database/aa.db differ diff --git a/Projects/Bugbusters/database/university.db b/Projects/Bugbusters/database/university.db new file mode 100644 index 000000000..5c71ae88d Binary files /dev/null and b/Projects/Bugbusters/database/university.db differ diff --git a/Projects/Bugbusters/json/university.json b/Projects/Bugbusters/json/university.json new file mode 100644 index 000000000..aa39e2f8c --- /dev/null +++ b/Projects/Bugbusters/json/university.json @@ -0,0 +1 @@ +{"table_name": "Market", "column_names": ["product", "price"], "data": [["Crab - Imitation Flakes", "$17.00"], ["Broom - Push", "$28.29"], ["Muffin - Banana Nut Individual", "$24.46"], ["Chicken - Leg, Boneless", "$19.85"], ["Ecolab - Hobart Upr Prewash Arm", "$20.54"], ["Island Oasis - Strawberry", "$17.62"], ["Bread - Raisin", "$5.57"], ["Wine - Chateau Timberlay", "$29.01"], ["Coffee - Colombian, Portioned", "$17.84"], ["Daikon Radish", "$18.78"], ["Paper Cocktail Umberlla 80 - 180", "$6.82"], ["Mushroom - Chanterelle Frozen", "$23.84"], ["Pepsi, 355 Ml", "$22.23"], ["Chinese Foods - Cantonese", "$1.14"], ["Celery Root", "$9.71"], ["Bacardi Breezer - Strawberry", "$12.93"], ["Ice - Clear, 300 Lb For Carving", "$15.85"], ["Dried Apple", "$6.85"], ["Scallops - 20/30", "$14.59"], ["Foil Wrap", "$24.60"], ["Buffalo - Tenderloin", "$3.61"], ["Carbonated Water - Blackcherry", "$14.55"], ["Wood Chips - Regular", "$21.82"], ["Juice - Apple, 1.36l", "$26.45"], ["Nut - Almond, Blanched, Sliced", "$7.82"], ["Longos - Chicken Cordon Bleu", "$8.44"], ["Juice - Grape, White", "$23.54"], ["Cheese - Marble", "$16.06"], ["Mushroom - Shitake, Fresh", "$21.60"], ["Grenadillo", "$27.89"], ["Tarts Assorted", "$16.51"], ["Numi - Assorted Teas", "$8.41"], ["Wine - Puligny Montrachet A.", "$6.28"], ["Dill Weed - Fresh", "$24.59"], ["Tomatoes - Grape", "$17.91"], ["Rosemary - Fresh", "$16.54"], ["Maple Syrup", "$6.52"], ["Longos - Chicken Curried", "$26.65"], ["Cheese - Roquefort Pappillon", "$1.93"], ["External Supplier", "$2.16"], ["Asparagus - Green, Fresh", "$18.18"], ["Nori Sea Weed", "$23.20"], ["Wine - Red, Antinori Santa", "$5.42"], ["Hipnotiq Liquor", "$20.22"], ["Blueberries - Frozen", "$15.00"], ["Sprouts - Onion", "$12.45"], ["Okra", "$12.82"], ["Mustard Prepared", "$1.08"], ["Cod - Black Whole Fillet", "$26.29"], ["Butcher Twine 4r", "$6.54"], ["Veal - Kidney", "$11.57"], ["Towels - Paper / Kraft", "$13.74"], ["Potatoes - Instant, Mashed", "$1.98"], ["Cocoa Powder - Dutched", "$1.31"], ["Fuji Apples", "$26.44"], ["Wine - Baron De Rothschild", "$5.22"], ["Barramundi", "$14.08"], ["Cornstarch", "$23.40"], ["Port - 74 Brights", "$12.62"], ["Cream - 35%", "$13.63"], ["Soup Campbells Split Pea And Ham", "$8.82"], ["Yoplait Drink", "$12.21"], ["Mushroom - Chanterelle Frozen", "$25.77"], ["Wine - Red, Wolf Blass, Yellow", "$23.30"], ["Food Colouring - Blue", "$1.80"], ["Sprouts - Peppercress", "$17.64"], ["Salt - Sea", "$24.32"], ["Chocolate - Semi Sweet", "$12.84"], ["Rice - 7 Grain Blend", "$7.48"], ["Truffle Shells - White Chocolate", "$29.27"], ["The Pop Shoppe - Cream Soda", "$19.72"], ["Mushroom - Oyster, Fresh", "$12.41"], ["The Pop Shoppe - Lime Rickey", "$21.35"], ["Juice - Apple, 341 Ml", "$5.90"], ["Tuna - Loin", "$13.30"], ["Nantucket Orange Juice", "$24.91"], ["Tuna - Yellowfin", "$23.23"], ["Lamb - Leg, Diced", "$12.36"], ["Chocolate - Chips Compound", "$7.77"], ["Zucchini - Green", "$11.30"], ["Gherkin - Sour", "$19.13"], ["Sole - Fillet", "$17.97"], ["Lettuce - Baby Salad Greens", "$23.01"], ["Toamtoes 6x7 Select", "$7.70"], ["Mace Ground", "$24.48"], ["Wine - Black Tower Qr", "$22.37"], ["Pants Custom Dry Clean", "$23.76"], ["Veal - Leg", "$25.48"], ["Chocolate - Pistoles, Lactee, Milk", "$20.28"], ["Beans - Butter Lrg Lima", "$22.82"], ["Pepper - Yellow Bell", "$27.60"], ["Bread Roll Foccacia", "$11.94"], ["Muffin - Bran Ind Wrpd", "$24.22"], ["Rye Special Old", "$25.71"], ["Island Oasis - Lemonade", "$21.13"], ["Soup - Campbells, Butternut", "$17.47"], ["Eggwhite Frozen", "$17.63"], ["Cookie - Dough Variety", "$8.36"], ["Numi - Assorted Teas", "$20.33"], ["Madeira", "$16.60"], ["Wine - Chardonnay South", "$5.22"], ["Jam - Apricot", "$1.54"], ["Pasta - Lasagna Noodle, Frozen", "$13.42"], ["Fish - Bones", "$25.04"], ["Pasta - Penne Primavera, Single", "$10.14"], ["Orange - Canned, Mandarin", "$10.73"], ["Salt - Seasoned", "$1.18"], ["V8 Splash Strawberry Kiwi", "$3.58"], ["Flour - Strong", "$7.27"], ["Cheese - Feta", "$17.86"], ["Tart Shells - Sweet, 3", "$15.20"], ["Star Anise, Whole", "$10.67"], ["Pickle - Dill", "$29.57"], ["Cocktail Napkin Blue", "$4.26"], ["Cream Of Tartar", "$10.43"], ["Pepper - Black, Whole", "$11.70"], ["Icecream - Dstk Super Cone", "$8.01"], ["Salmon - Canned", "$25.30"], ["Beets - Pickled", "$3.09"], ["Wiberg Super Cure", "$19.96"], ["Sausage - Blood Pudding", "$7.08"], ["Dooleys Toffee", "$28.64"], ["Bag Stand", "$18.48"], ["Pepper - Green, Chili", "$12.37"], ["Ecolab - Orange Frc, Cleaner", "$15.49"], ["Container - Clear 16 Oz", "$24.48"], ["Salt - Table", "$29.27"], ["Wine - Savigny - Les - Beaune", "$17.15"], ["Miso - Soy Bean Paste", "$16.92"], ["Ginger - Crystalized", "$29.76"], ["Pork - Backfat", "$2.97"], ["Appetizer - Chicken Satay", "$23.76"], ["Sausage - Chorizo", "$26.74"], ["Extract - Vanilla,artificial", "$14.19"], ["Pasta - Rotini, Colour, Dry", "$13.13"], ["Cake - Mini Cheesecake", "$26.39"], ["Wine - Red, Lurton Merlot De", "$10.26"], ["Nantucket Cranberry Juice", "$2.75"], ["Truffle Cups Green", "$16.49"], ["Chips Potato Swt Chilli Sour", "$15.89"], ["Brandy - Orange, Mc Guiness", "$17.18"], ["Jameson - Irish Whiskey", "$5.34"], ["Chocolate - Dark", "$9.40"], ["Strawberries - California", "$22.26"], ["Sage - Ground", "$9.12"], ["Table Cloth 54x72 Colour", "$24.52"], ["Soup - Campbells Beef Stew", "$20.37"], ["Wine - Vidal Icewine Magnotta", "$10.80"], ["Calypso - Strawberry Lemonade", "$21.32"], ["Spinach - Spinach Leaf", "$2.99"], ["Veal - Heart", "$18.58"], ["Yogurt - Cherry, 175 Gr", "$21.29"], ["Veal - Liver", "$9.98"], ["Foil Wrap", "$3.66"], ["Smoked Tongue", "$11.06"], ["Veal - Striploin", "$7.80"], ["Creme De Cacao Mcguines", "$24.02"], ["Beans - Butter Lrg Lima", "$17.34"], ["Pork - Inside", "$27.87"], ["Basil - Primerba, Paste", "$22.98"], ["Pie Pecan", "$9.34"], ["Bread - Raisin Walnut Oval", "$5.55"], ["Wine - Magnotta - Red, Baco", "$3.15"], ["Beef - Tenderlion, Center Cut", "$5.95"], ["Sherbet - Raspberry", "$25.05"], ["True - Vue Containers", "$17.47"], ["Stainless Steel Cleaner Vision", "$4.89"], ["Beef - Inside Round", "$24.82"], ["Bacardi Breezer - Strawberry", "$21.23"], ["Appetizer - Tarragon Chicken", "$9.72"], ["Tea - Herbal - 6 Asst", "$25.09"], ["Vodka - Moskovskaya", "$27.30"], ["Cheese - Romano, Grated", "$19.72"], ["Dc - Sakura Fu", "$20.07"], ["Urban Zen Drinks", "$19.52"], ["Wine - Gato Negro Cabernet", "$20.17"], ["Rootbeer", "$9.98"], ["Creme De Menth - White", "$11.98"], ["Beer - Molson Excel", "$20.22"], ["Rice Pilaf, Dry,package", "$9.51"], ["Nougat - Paste / Cream", "$20.53"], ["Wine - Pinot Noir Pond Haddock", "$19.83"], ["Corn Syrup", "$27.68"], ["Bandage - Flexible Neon", "$26.09"], ["Chocolate - White", "$1.26"], ["Dasheen", "$22.40"], ["Mushroom - Lg - Cello", "$27.01"], ["Bread - Pullman, Sliced", "$29.62"], ["French Kiss Vanilla", "$5.08"], ["Tart Shells - Sweet, 4", "$26.89"], ["Tuna - Sushi Grade", "$8.29"], ["Bread - Dark Rye, Loaf", "$12.93"], ["Water - Evian 355 Ml", "$5.02"], ["Veal - Leg, Provimi - 50 Lb Max", "$1.49"], ["Salmon Steak - Cohoe 8 Oz", "$20.80"], ["Jam - Strawberry, 20 Ml Jar", "$4.77"], ["Wine - White, Pinot Grigio", "$7.99"], ["Cheese - Boursin, Garlic / Herbs", "$20.55"], ["Chicken - Livers", "$9.44"], ["Bay Leaf", "$8.60"], ["Cake - Box Window 10x10x2.5", "$15.14"], ["Flour - Fast / Rapid", "$11.97"], ["Cups 10oz Trans", "$20.10"], ["Parsley - Fresh", "$20.62"], ["Mushrooms - Black, Dried", "$4.18"], ["Wine - Chardonnay Mondavi", "$3.45"], ["Curry Powder", "$29.67"], ["Bag Stand", "$2.65"], ["Muffin - Mix - Bran And Maple 15l", "$17.44"], ["Tea - Jasmin Green", "$20.74"], ["Beer - True North Lager", "$5.08"], ["Raisin - Golden", "$10.98"], ["Raspberries - Fresh", "$1.34"], ["Rum - Coconut, Malibu", "$11.54"], ["Nut - Walnut, Chopped", "$10.64"], ["Lettuce - Baby Salad Greens", "$23.88"], ["Salt - Seasoned", "$26.89"], ["Wine - Valpolicella Masi", "$12.92"], ["Pepper - Green, Chili", "$24.05"], ["Ecolab - Orange Frc, Cleaner", "$28.09"], ["Water - Green Tea Refresher", "$25.71"], ["Vol Au Vents", "$6.36"], ["Sauce - Plum", "$22.61"], ["Wine - Fino Tio Pepe Gonzalez", "$10.31"], ["Leeks - Baby, White", "$1.31"], ["Crush - Grape, 355 Ml", "$21.60"], ["Calypso - Pineapple Passion", "$18.53"], ["Onions - Vidalia", "$13.84"], ["Beef - Shank", "$17.98"], ["Nut - Peanut, Roasted", "$22.05"], ["Tomatoes - Hot House", "$24.74"], ["Muffin Mix - Oatmeal", "$4.87"], ["Soup - Canadian Pea, Dry Mix", "$15.35"], ["Bread - Granary Small Pull", "$22.03"], ["Longos - Grilled Veg Sandwiches", "$8.69"], ["Soup Campbells Mexicali Tortilla", "$6.93"], ["Beef Flat Iron Steak", "$10.34"], ["Vinegar - White", "$2.68"], ["Cinnamon - Stick", "$18.69"], ["Mousse - Banana Chocolate", "$6.55"], ["Ecolab Crystal Fusion", "$20.05"], ["Wood Chips - Regular", "$9.36"], ["Pork - Back Ribs", "$4.63"], ["Lambcasing", "$21.20"], ["Croissants Thaw And Serve", "$12.16"], ["Bread - Dark Rye, Loaf", "$27.37"], ["Bread - Sticks, Thin, Plain", "$20.20"], ["Olives - Black, Pitted", "$9.41"], ["Corn Kernels - Frozen", "$14.73"], ["Godiva White Chocolate", "$29.98"], ["Pepper - White, Ground", "$24.42"], ["Chocolate Bar - Smarties", "$27.57"], ["Orange Roughy 4/6 Oz", "$28.22"], ["Teriyaki Sauce", "$17.25"], ["Piping Jelly - All Colours", "$18.74"], ["Chicken Thigh - Bone Out", "$24.30"], ["Lobster - Tail 6 Oz", "$25.06"], ["Nestea - Ice Tea, Diet", "$26.90"], ["Pork - Butt, Boneless", "$9.67"], ["Zucchini - Mini, Green", "$28.53"], ["Pork - Tenderloin, Frozen", "$27.90"], ["Turkey Leg With Drum And Thigh", "$16.40"], ["Nut - Almond, Blanched, Whole", "$24.85"], ["Puree - Raspberry", "$15.95"], ["Foam Espresso Cup Plain White", "$13.51"], ["Cherries - Maraschino,jar", "$9.04"], ["Pie Shell - 9", "$11.30"], ["Soup Campbells", "$6.35"], ["Sole - Fillet", "$20.02"], ["Chevere Logs", "$17.75"], ["Cheese Cloth No 60", "$4.86"], ["Longos - Burritos", "$11.96"], ["Beef - Inside Round", "$10.29"], ["Raisin - Golden", "$25.48"], ["Veal - Round, Eye Of", "$9.48"], ["Oil - Truffle, Black", "$2.42"], ["Cheese - Sheep Milk", "$16.80"], ["Tart - Raisin And Pecan", "$28.89"], ["Bread - Raisin", "$15.71"], ["Ice Cream - Fudge Bars", "$6.98"], ["Squid - Breaded", "$1.38"], ["Cinnamon - Ground", "$7.24"], ["Shrimp - 100 / 200 Cold Water", "$9.88"], ["Ecolab - Orange Frc, Cleaner", "$9.99"], ["Tea - Lemon Scented", "$26.02"], ["Tahini Paste", "$25.15"], ["Beer - True North Lager", "$28.08"], ["Cookie Trail Mix", "$3.82"], ["Pastry - Cherry Danish - Mini", "$20.03"], ["Pastry - Baked Scones - Mini", "$12.44"], ["Sprouts - Peppercress", "$27.49"], ["Marjoram - Fresh", "$20.44"], ["Island Oasis - Sweet And Sour Mix", "$29.90"], ["Honey - Lavender", "$19.71"], ["Wine - Red, Pelee Island Merlot", "$25.75"], ["Cabbage - Green", "$15.18"], ["Mayonnaise", "$3.91"], ["Pepsi, 355 Ml", "$13.30"], ["Crush - Grape, 355 Ml", "$1.13"], ["Table Cloth 62x114 Colour", "$8.27"], ["Wine - Red, Pelee Island Merlot", "$22.97"], ["Wine - Ice Wine", "$15.68"], ["Lime Cordial - Roses", "$5.25"], ["Soup - Campbellschix Stew", "$11.80"], ["Gelatine Leaves - Envelopes", "$12.70"], ["Mousse - Passion Fruit", "$28.55"], ["Yoplait Drink", "$5.83"], ["Salt - Rock, Course", "$8.86"], ["Pastry - Plain Baked Croissant", "$15.04"], ["Napkin - Cocktail,beige 2 - Ply", "$29.47"], ["Bag Stand", "$26.26"], ["Yeast Dry - Fleischman", "$27.98"], ["Mushroom - Enoki, Dry", "$5.41"], ["Cake - Cheese Cake 9 Inch", "$22.62"], ["Dried Peach", "$20.75"], ["Wine - Red, Concha Y Toro", "$2.24"], ["Grapefruit - White", "$5.92"], ["Rum - Light, Captain Morgan", "$2.98"], ["Sandwich Wrap", "$8.04"], ["Salt And Pepper Mix - White", "$10.76"], ["Salmon - Canned", "$12.61"], ["Cheese - Mozzarella", "$7.80"], ["Muffin - Mix - Creme Brule 15l", "$23.48"], ["Carbonated Water - Strawberry", "$7.70"], ["Flour - Chickpea", "$9.31"], ["Versatainer Nc - 9388", "$8.72"], ["Ketchup - Tomato", "$6.76"], ["Ice Cream Bar - Oreo Cone", "$16.69"], ["Bread Crumbs - Japanese Style", "$15.85"], ["Artichoke - Bottom, Canned", "$29.10"], ["Cherries - Bing, Canned", "$1.42"], ["Icecream Cone - Areo Chocolate", "$3.89"], ["Shrimp - Black Tiger 6 - 8", "$3.82"], ["Versatainer Nc - 9388", "$5.16"], ["Lamb Tenderloin Nz Fr", "$12.12"], ["Pork - Sausage, Medium", "$25.39"], ["Wine - Cave Springs Dry Riesling", "$25.83"], ["Wine - Delicato Merlot", "$20.83"], ["Grapefruit - White", "$2.48"], ["Food Colouring - Red", "$20.34"], ["Nut - Hazelnut, Whole", "$17.48"], ["Croissants Thaw And Serve", "$22.59"], ["Ocean Spray - Ruby Red", "$4.66"], ["Beef - Kindney, Whole", "$25.38"], ["Boogies", "$7.25"], ["Cloves - Whole", "$6.45"], ["Cheese - Bocconcini", "$17.58"], ["Broom - Angled", "$9.20"], ["Pail For Lid 1537", "$26.12"], ["Pepper - Green", "$20.26"], ["Cheese - Perron Cheddar", "$2.44"], ["Sausage - Meat", "$15.94"], ["Squash - Guords", "$24.78"], ["Grapes - Red", "$21.85"], ["Longos - Grilled Chicken With", "$28.64"], ["Beef - Flank Steak", "$3.33"], ["Salad Dressing", "$1.53"], ["Cup - Translucent 7 Oz Clear", "$3.55"], ["Ecolab - Medallion", "$21.66"], ["Icecream Bar - Del Monte", "$19.25"], ["Lobak", "$9.26"], ["Nantucket - Orange Mango Cktl", "$14.26"], ["Curry Powder Madras", "$24.80"], ["Table Cloth 90x90 White", "$20.67"], ["Beef - Ground Medium", "$11.55"], ["Breakfast Quesadillas", "$10.85"], ["Oil - Peanut", "$14.35"], ["Truffle Cups Green", "$24.46"], ["Galliano", "$18.22"], ["Nut - Walnut, Chopped", "$13.55"], ["Wine - Trimbach Pinot Blanc", "$20.78"], ["Bagels Poppyseed", "$22.36"], ["Jolt Cola - Red Eye", "$9.43"], ["Wine - Magnotta, Merlot Sr Vqa", "$6.20"], ["Sprite, Diet - 355ml", "$2.70"], ["Smoked Paprika", "$9.67"], ["Meldea Green Tea Liquor", "$14.60"], ["Carbonated Water - Lemon Lime", "$3.83"], ["Filo Dough", "$10.86"], ["Rice - Aborio", "$9.61"], ["Filter - Coffee", "$19.95"], ["Absolut Citron", "$6.62"], ["Pastry - Apple Large", "$22.34"], ["Tomatoes - Vine Ripe, Yellow", "$24.06"], ["Shichimi Togarashi Peppeers", "$14.64"], ["Soupfoamcont12oz 112con", "$15.85"], ["Bagel - Ched Chs Presliced", "$17.43"], ["Ecolab Silver Fusion", "$6.12"], ["Wine - Kwv Chenin Blanc South", "$25.02"], ["Pate - Peppercorn", "$7.45"], ["Lemon Tarts", "$27.38"], ["Wine - White, Lindemans Bin 95", "$19.74"], ["Wine - Riesling Dr. Pauly", "$12.87"], ["Maple Syrup", "$5.48"], ["Beer - Blue", "$29.70"], ["Bagelers", "$6.78"], ["Puree - Passion Fruit", "$1.35"], ["Veal - Brisket, Provimi, Bone - In", "$21.50"], ["Mustard Prepared", "$23.25"], ["Bar Mix - Lime", "$6.30"], ["Nacho Chips", "$14.67"], ["Beef - Rib Roast, Capless", "$22.55"], ["Wine - Ej Gallo Sierra Valley", "$18.14"], ["Bread - Bistro White", "$2.18"], ["Flavouring - Orange", "$11.65"], ["Otomegusa Dashi Konbu", "$21.36"], ["Cheese - Goat With Herbs", "$6.96"], ["Yoplait Drink", "$7.61"], ["Nantucket - Carrot Orange", "$4.58"], ["Bread - Malt", "$18.94"], ["Nut - Pine Nuts, Whole", "$15.72"], ["Cabbage - Green", "$21.13"], ["Piping - Bags Quizna", "$25.75"], ["Glaze - Apricot", "$26.20"], ["Soup - Cream Of Broccoli, Dry", "$2.96"], ["Beef Dry Aged Tenderloin Aaa", "$14.05"], ["Veal - Inside", "$27.43"], ["Soup - Campbells, Chix Gumbo", "$11.77"], ["Creme De Banane - Marie", "$4.47"], ["Island Oasis - Wildberry", "$20.87"], ["Peach - Halves", "$18.85"], ["Wine - Red, Harrow Estates, Cab", "$6.02"], ["Basil - Pesto Sauce", "$5.44"], ["Wine - Riesling Alsace Ac 2001", "$8.43"], ["Wine - Penfolds Koonuga Hill", "$28.95"], ["Pastry - French Mini Assorted", "$11.66"], ["Broom Handle", "$5.12"], ["Pasta - Canelloni", "$4.58"], ["Cafe Royale", "$17.75"], ["Scallops - U - 10", "$14.59"], ["Nantucket Apple Juice", "$24.95"], ["Rice Paper", "$16.86"], ["Cheese - Cheddar, Medium", "$2.02"], ["Beans - Black Bean, Preserved", "$15.71"], ["Island Oasis - Sweet And Sour Mix", "$20.67"], ["Chocolate Bar - Smarties", "$6.59"], ["Tequila Rose Cream Liquor", "$25.89"], ["Macaroons - Two Bite Choc", "$23.66"], ["Cheese - Pied De Vents", "$20.42"], ["Beer - Mcauslan Apricot", "$2.14"], ["Oranges - Navel, 72", "$20.16"], ["Basil - Thai", "$29.34"], ["Tea - Jasmin Green", "$12.96"], ["Wine - Kwv Chenin Blanc South", "$7.38"], ["Chick Peas - Canned", "$1.98"], ["Cheese - Blue", "$20.39"], ["Pike - Frozen Fillet", "$26.59"], ["Wine - Sogrape Mateus Rose", "$16.19"], ["Sugar - Brown", "$10.03"], ["Muffin Batt - Blueberry Passion", "$8.24"], ["Pasta - Fusili Tri - Coloured", "$18.86"], ["Mussels - Frozen", "$8.72"], ["Pastry - Baked Scones - Mini", "$24.65"], ["Appetizer - Smoked Salmon / Dill", "$5.87"], ["Vermacelli - Sprinkles, Assorted", "$2.86"], ["Lettuce - Boston Bib", "$18.99"], ["Lamb Shoulder Boneless Nz", "$6.45"], ["Smoked Paprika", "$29.24"], ["Bread - Corn Muffaletta", "$7.00"], ["Table Cloth 62x114 Colour", "$7.88"], ["Pie Shell - 9", "$24.52"], ["Beer - Pilsner Urquell", "$10.84"], ["Tart - Lemon", "$26.59"], ["Potatoes - Mini White 3 Oz", "$15.08"], ["Flour - All Purpose", "$27.47"], ["Tomato - Tricolor Cherry", "$20.91"], ["Yukon Jack", "$22.06"], ["Mustard - Dry, Powder", "$6.15"], ["Brownies - Two Bite, Chocolate", "$2.09"], ["Wine - Chateau Bonnet", "$11.49"], ["Wine - Semi Dry Riesling Vineland", "$15.51"], ["Compound - Orange", "$23.55"], ["Carrots - Mini, Stem On", "$22.62"], ["Chip - Potato Dill Pickle", "$23.93"], ["Sprouts - Onion", "$16.77"], ["Yogurt - French Vanilla", "$26.49"], ["Cookies - Assorted", "$25.18"], ["Bread Crumbs - Panko", "$1.16"], ["Tomatoes - Orange", "$26.27"], ["Pasta - Fett Alfredo, Single Serve", "$15.73"], ["Cookie - Oreo 100x2", "$5.57"], ["Vol Au Vents", "$15.88"], ["Sausage - Andouille", "$4.95"], ["Bar - Granola Trail Mix Fruit Nut", "$22.28"], ["Soup - Base Broth Chix", "$17.66"], ["Juice - Orangina", "$17.40"], ["Appetizer - Chicken Satay", "$12.54"], ["Sausage - Andouille", "$26.45"], ["Pepper - Chillies, Crushed", "$22.92"], ["Beans - Butter Lrg Lima", "$29.95"], ["Cheese - Romano, Grated", "$9.78"], ["Cake - Dulce De Leche", "$28.67"], ["Pancetta", "$5.05"], ["Bok Choy - Baby", "$9.06"], ["Langers - Mango Nectar", "$25.97"], ["Ginsing - Fresh", "$17.62"], ["Lobster - Live", "$11.61"], ["Wine - Hardys Bankside Shiraz", "$5.60"], ["Cinnamon - Ground", "$25.83"], ["Water Chestnut - Canned", "$5.22"], ["Turkey - Breast, Boneless Sk On", "$17.72"], ["Onions - Red", "$9.74"], ["Rolled Oats", "$3.71"], ["Momiji Oroshi Chili Sauce", "$28.11"], ["Oil - Hazelnut", "$29.50"], ["Plate Pie Foil", "$15.84"], ["Wine - Manischewitz Concord", "$13.05"], ["Pesto - Primerba, Paste", "$17.88"], ["Uniform Linen Charge", "$17.44"], ["Cilantro / Coriander - Fresh", "$10.64"], ["Curry Powder", "$5.32"], ["Lamb - Leg, Boneless", "$9.58"], ["Lemons", "$26.27"], ["Cheese - Bakers Cream Cheese", "$15.30"], ["Pie Pecan", "$15.12"], ["Wine - Zonnebloem Pinotage", "$27.19"], ["Radish - Black, Winter, Organic", "$10.86"], ["Artichoke - Bottom, Canned", "$23.33"], ["Chicken - White Meat With Tender", "$15.59"], ["Oil - Truffle, Black", "$16.96"], ["Pork - Ground", "$6.60"], ["Pickles - Gherkins", "$5.09"], ["Cardamon Ground", "$18.79"], ["Potatoes - Idaho 100 Count", "$7.08"], ["Pork - Back Ribs", "$24.34"], ["Pomello", "$22.91"], ["Cinnamon Rolls", "$12.11"], ["Halibut - Steaks", "$5.16"], ["Soup - Knorr, French Onion", "$22.61"], ["Spinach - Baby", "$21.54"], ["Dome Lid Clear P92008h", "$8.52"], ["Butter - Unsalted", "$29.40"], ["Pork - Loin, Bone - In", "$18.91"], ["Cake - Cake Sheet Macaroon", "$8.88"], ["Icecream - Dstk Strw Chseck", "$18.02"], ["Wine - Casablanca Valley", "$14.32"], ["Fenngreek Seed", "$28.61"], ["Beef - Baby, Liver", "$12.61"], ["Veal - Osso Bucco", "$1.39"], ["Wine - Chablis J Moreau Et Fils", "$15.67"], ["Eggplant Oriental", "$26.65"], ["Sausage - Blood Pudding", "$11.82"], ["Dc Hikiage Hira Huba", "$26.51"], ["Cinnamon - Stick", "$14.96"], ["Flour - Teff", "$2.56"], ["Nut - Almond, Blanched, Whole", "$5.15"], ["Langers - Cranberry Cocktail", "$22.14"], ["Sugar - Splenda Sweetener", "$12.54"], ["Grapes - Red", "$14.70"], ["Cleaner - Lime Away", "$25.14"], ["Beef - Top Sirloin", "$26.94"], ["Corn Kernels - Frozen", "$1.51"], ["Longos - Cheese Tortellini", "$28.22"], ["Jack Daniels", "$27.04"], ["Cake - French Pear Tart", "$10.59"], ["Chocolate - Feathers", "$7.08"], ["Ranchero - Primerba, Paste", "$6.01"], ["Food Colouring - Green", "$9.20"], ["Sauce - Rosee", "$11.26"], ["Sausage - Meat", "$1.76"], ["Soup - Campbells Beef Noodle", "$15.09"], ["Coffee - Egg Nog Capuccino", "$8.98"], ["Tendrils - Baby Pea, Organic", "$17.99"], ["Tomatoes - Yellow Hot House", "$9.43"], ["Mushroom - Porcini Frozen", "$12.46"], ["Cookie Dough - Oatmeal Rasin", "$7.55"], ["Juice - Mango", "$15.57"], ["Initation Crab Meat", "$19.70"], ["Wine - Bouchard La Vignee Pinot", "$27.49"], ["Yogurt - Cherry, 175 Gr", "$12.58"], ["Juice - Tomato, 10 Oz", "$28.32"], ["Cake Sheet Combo Party Pack", "$15.47"], ["Quiche Assorted", "$20.16"], ["Pork - Backfat", "$26.04"], ["Beer - Sleemans Cream Ale", "$13.66"], ["Wine - Masi Valpolocell", "$23.26"], ["Seabream Whole Farmed", "$3.08"], ["Horseradish - Prepared", "$16.20"], ["Zucchini - Mini, Green", "$24.67"], ["Langers - Mango Nectar", "$16.86"], ["Lid - 0090 Clear", "$11.22"], ["Canada Dry", "$10.27"], ["Island Oasis - Mango Daiquiri", "$5.26"], ["Steel Wool S.o.s", "$9.86"], ["Oil - Safflower", "$2.09"], ["Grenadine", "$5.44"], ["Breadfruit", "$9.23"], ["Wine - Red, Harrow Estates, Cab", "$6.50"], ["Dc - Frozen Momji", "$11.49"], ["Wine - White, Schroder And Schyl", "$25.72"], ["Cherries - Maraschino,jar", "$14.40"], ["Muffin Hinge Container 6", "$20.66"], ["Kiwano", "$9.17"], ["Ecolab - Power Fusion", "$24.56"], ["Ice Cream Bar - Rolo Cone", "$14.52"], ["Silicone Paper 16.5x24", "$24.19"], ["Pear - Asian", "$21.09"], ["Appetizer - Sausage Rolls", "$14.36"], ["Coffee Cup 12oz 5342cd", "$22.71"], ["Mushrooms - Honey", "$4.96"], ["Soup - French Can Pea", "$4.62"], ["Lettuce - Romaine, Heart", "$21.24"], ["Nut - Pine Nuts, Whole", "$22.91"], ["Lamb - Loin Chops", "$13.86"], ["Broom - Angled", "$23.51"], ["Cod - Fillets", "$4.73"], ["Beans - Black Bean, Canned", "$9.67"], ["Pie Filling - Apple", "$6.48"], ["Wine - Chateau Aqueria Tavel", "$26.83"], ["Eggplant - Asian", "$1.80"], ["V8 - Vegetable Cocktail", "$11.92"], ["Appetizer - Lobster Phyllo Roll", "$29.16"], ["Ocean Spray - Kiwi Strawberry", "$13.85"], ["Wine - Casablanca Valley", "$13.81"], ["Gelatine Leaves - Envelopes", "$18.05"], ["Wine - White, Pelee Island", "$12.19"], ["Sour Puss Raspberry", "$27.60"], ["Cheese - Comte", "$28.51"], ["Corn - Cream, Canned", "$2.37"], ["Pork Casing", "$29.08"], ["Onions - Cooking", "$21.23"], ["Spinach - Spinach Leaf", "$27.21"], ["Flower - Leather Leaf Fern", "$15.57"], ["Sauce - Sesame Thai Dressing", "$27.73"], ["Flour - Masa De Harina Mexican", "$20.78"], ["Vodka - Lemon, Absolut", "$18.42"], ["Cheese - Brie, Triple Creme", "$8.31"], ["Soup - Campbells, Lentil", "$4.97"], ["Sauce - Chili", "$19.59"], ["Mushroom - Trumpet, Dry", "$25.92"], ["Oil - Olive Bertolli", "$13.36"], ["Muffin Carrot - Individual", "$3.07"], ["Wine - Pinot Noir Pond Haddock", "$29.43"], ["Apple - Custard", "$20.41"], ["Bar Nature Valley", "$16.76"], ["V8 Splash Strawberry Banana", "$2.85"], ["Cognac - Courvaisier", "$3.05"], ["Cheese - Comte", "$4.09"], ["Vinegar - White Wine", "$20.93"], ["Lighter - Bbq", "$23.36"], ["Wine - Fume Blanc Fetzer", "$20.59"], ["Cleaner - Lime Away", "$8.06"], ["Worcestershire Sauce", "$18.51"], ["Bouillion - Fish", "$2.65"], ["Juice - Lemon", "$4.57"], ["Guinea Fowl", "$8.85"], ["Mix Pina Colada", "$8.43"], ["Milk - Homo", "$13.28"], ["Tomato - Green", "$7.56"], ["Sterno - Chafing Dish Fuel", "$7.23"], ["Beef - Tenderloin Tails", "$23.15"], ["Beans - Black Bean, Canned", "$20.43"], ["Vinegar - White", "$25.05"], ["Spic And Span All Purpose", "$5.25"], ["Fudge - Cream Fudge", "$18.61"], ["Lid - 3oz Med Rec", "$1.46"], ["Juice - Happy Planet", "$18.07"], ["Rice - Sushi", "$5.46"], ["Wine - White Cab Sauv.on", "$29.48"], ["Basil - Thai", "$6.26"], ["Muffin - Mix - Creme Brule 15l", "$8.86"], ["Longos - Grilled Chicken With", "$12.13"], ["Ginger - Pickled", "$2.26"], ["Wine - Magnotta - Bel Paese White", "$10.02"], ["Cranberry Foccacia", "$6.39"], ["Cod - Salted, Boneless", "$5.07"], ["Chicken - Soup Base", "$15.41"], ["Wine - Duboeuf Beaujolais", "$18.95"], ["Wine - Clavet Saint Emilion", "$23.39"], ["Wine - Vovray Sec Domaine Huet", "$16.59"], ["Blackberries", "$1.55"], ["Cocoa Feuilletine", "$14.68"], ["Tart Shells - Savory, 2", "$27.71"], ["Island Oasis - Ice Cream Mix", "$6.46"], ["Bread - Granary Small Pull", "$9.98"], ["Beef Striploin Aaa", "$25.68"], ["Thyme - Lemon, Fresh", "$22.30"], ["Pop - Club Soda Can", "$5.43"], ["Wine - Cotes Du Rhone Parallele", "$25.57"], ["Pepper - Julienne, Frozen", "$23.95"], ["Cod - Fillets", "$16.08"], ["Pepper - Black, Ground", "$4.72"], ["Daikon Radish", "$10.56"], ["Pear - Halves", "$9.70"], ["Cheese - Asiago", "$13.54"], ["Pail With Metal Handle 16l White", "$7.08"], ["Cherries - Maraschino,jar", "$25.40"], ["Oil - Margarine", "$4.54"], ["Curry Powder", "$5.02"], ["Coffee - 10oz Cup 92961", "$11.15"], ["Stainless Steel Cleaner Vision", "$14.55"], ["Remy Red", "$17.83"], ["Yogurt - Peach, 175 Gr", "$17.30"], ["Langers - Cranberry Cocktail", "$9.92"], ["Ocean Spray - Kiwi Strawberry", "$29.03"], ["Beef - Rouladin, Sliced", "$26.45"], ["Ice Cream Bar - Oreo Sandwich", "$6.43"], ["Beans - Green", "$11.33"], ["Dc - Frozen Momji", "$26.97"], ["Juice - Apple, 341 Ml", "$29.87"], ["Lid Tray - 12in Dome", "$23.16"], ["Muffin Batt - Ban Dream Zero", "$27.19"], ["Trout Rainbow Whole", "$15.00"], ["Soup - Campbells - Chicken Noodle", "$21.60"], ["Cake Circle, Foil, Scallop", "$5.37"], ["Coffee - Espresso", "$2.82"], ["Sauce - White, Mix", "$21.36"], ["Flour - Buckwheat, Dark", "$11.20"], ["Wooden Mop Handle", "$7.19"], ["Wine - Soave Folonari", "$14.87"], ["Appetizer - Seafood Assortment", "$7.70"], ["Vaccum Bag - 14x20", "$25.42"], ["Bowl 12 Oz - Showcase 92012", "$15.50"], ["Lettuce - Radicchio", "$22.99"], ["Magnotta - Bel Paese White", "$29.30"], ["Tomatoes - Plum, Canned", "$26.63"], ["Coffee - Beans, Whole", "$11.87"], ["Yeast Dry - Fermipan", "$9.00"], ["Juice - Apple, 1.36l", "$1.55"], ["Carbonated Water - Strawberry", "$13.42"], ["Lamb - Leg, Bone In", "$22.00"], ["Star Fruit", "$5.87"], ["Pepper - Black, Crushed", "$25.41"], ["Lobster - Tail 6 Oz", "$17.94"], ["Wine - Vovray Sec Domaine Huet", "$2.67"], ["Tart Shells - Savory, 4", "$7.71"], ["Trout Rainbow Whole", "$2.20"], ["Melon - Watermelon, Seedless", "$21.26"], ["Apron", "$8.53"], ["Beer - Alexander Kieths, Pale Ale", "$1.91"], ["Sauce - Thousand Island", "$17.12"], ["Galliano", "$12.70"], ["Apple - Macintosh", "$5.64"], ["Rice - Aborio", "$8.09"], ["Wine - Red, Lurton Merlot De", "$6.52"], ["Lid - High Heat, Super Clear", "$13.60"], ["Bread - Sticks, Thin, Plain", "$29.97"], ["Bread - Pullman, Sliced", "$4.80"], ["Russian Prince", "$2.80"], ["Chocolate - Pistoles, White", "$15.87"], ["Lobster - Cooked", "$17.81"], ["Lamb - Rack", "$2.92"], ["Clam - Cherrystone", "$4.71"], ["Lettuce - Lambs Mash", "$13.66"], ["Tea - Camomele", "$12.22"], ["Sauce - Bernaise, Mix", "$11.24"], ["Puree - Kiwi", "$17.34"], ["Star Fruit", "$11.76"], ["Bread - Pumpernickel", "$29.19"], ["Veal - Sweetbread", "$1.84"], ["Sponge Cake Mix - Chocolate", "$4.01"], ["Appetizer - Southwestern", "$4.32"], ["Trout - Rainbow, Fresh", "$2.20"], ["Cookie Dough - Peanut Butter", "$7.01"], ["Muffin - Banana Nut Individual", "$21.39"], ["Milk - 2% 250 Ml", "$14.36"], ["Sugar - Brown, Individual", "$9.23"], ["Heavy Duty Dust Pan", "$7.72"], ["Cheese - Marble", "$17.48"], ["Paste - Black Olive", "$19.88"], ["Pizza Pizza Dough", "$15.31"], ["Pastry - Key Limepoppy Seed Tea", "$4.76"], ["Pears - Bartlett", "$6.25"], ["Blueberries", "$8.24"], ["Bread Fig And Almond", "$25.00"], ["Lumpfish Black", "$14.08"], ["Ginsing - Fresh", "$4.98"], ["Langers - Cranberry Cocktail", "$1.32"], ["Bagel - Whole White Sesame", "$7.49"], ["Cookies - Englishbay Chochip", "$12.42"], ["Pepper Squash", "$13.36"], ["Cookies - Oreo, 4 Pack", "$29.46"], ["Kiwi", "$25.45"], ["Wine - White, Riesling, Henry Of", "$15.13"], ["Iced Tea Concentrate", "$29.85"], ["Oil - Sesame", "$24.38"], ["Pepper - Red Chili", "$3.45"], ["Tuna - Sushi Grade", "$21.55"], ["Bread - Dark Rye, Loaf", "$23.14"], ["Wine - Red, Lurton Merlot De", "$5.73"], ["Orange Roughy 6/8 Oz", "$25.02"], ["Sole - Fillet", "$1.28"], ["Beef - Top Butt", "$22.28"], ["Bread - Roll, Canadian Dinner", "$5.41"], ["Wine - Conde De Valdemar", "$13.14"], ["Wine - White, Schroder And Schyl", "$28.28"], ["Foil - Round Foil", "$28.54"], ["Cod - Fillets", "$9.95"], ["Shallots", "$29.40"], ["Rum - Mount Gay Eclipes", "$3.31"], ["Pastry - Trippleberry Muffin - Mini", "$20.82"], ["Rabbit - Whole", "$21.81"], ["Soup - Campbells, Beef Barley", "$6.30"], ["Kippers - Smoked", "$2.71"], ["Steam Pan - Half Size Deep", "$23.76"], ["Cleaner - Bleach", "$14.20"], ["Flour Dark Rye", "$13.35"], ["Pasta - Lasagna, Dry", "$1.68"], ["Cheese - Oka", "$21.24"], ["Croissants Thaw And Serve", "$23.58"], ["Wine - Sake", "$7.61"], ["Chocolate - Mi - Amere Semi", "$27.91"], ["Foie Gras", "$9.22"], ["Juice - Ocean Spray Cranberry", "$25.23"], ["Veal - Heart", "$15.31"], ["Pepper - Chili Powder", "$15.81"], ["Beer - Original Organic Lager", "$3.88"], ["Phyllo Dough", "$3.10"], ["Wine - Prosecco Valdobiaddene", "$24.38"], ["Remy Red Berry Infusion", "$21.15"], ["Cotton Wet Mop 16 Oz", "$19.46"], ["Wine - Spumante Bambino White", "$7.29"], ["Filter - Coffee", "$25.11"], ["Sour Puss Sour Apple", "$27.71"], ["Puree - Blackcurrant", "$8.34"], ["Cheese - Swiss", "$12.59"], ["Wine - Savigny - Les - Beaune", "$10.80"], ["Salad Dressing", "$14.07"], ["Spice - Montreal Steak Spice", "$18.74"], ["Fish - Soup Base, Bouillon", "$11.73"], ["Relish", "$29.57"], ["Chips Potato Swt Chilli Sour", "$6.54"], ["Foam Cup 6 Oz", "$9.81"], ["Lettuce - Boston Bib - Organic", "$21.07"], ["Sponge Cake Mix - Vanilla", "$9.83"], ["Beef - Top Butt", "$6.01"], ["Horseradish Root", "$22.04"], ["Tandoori Curry Paste", "$24.11"], ["Lettuce - Curly Endive", "$6.58"], ["Soup - Knorr, Chicken Noodle", "$16.75"], ["Wine - Red, Mouton Cadet", "$21.74"], ["Bar Energy Chocchip", "$29.31"], ["Smirnoff Green Apple Twist", "$14.72"], ["Bacardi Limon", "$21.52"], ["Beef Cheek Fresh", "$12.15"], ["Gherkin", "$29.31"], ["Lettuce - Boston Bib - Organic", "$16.43"], ["Pork - Back, Short Cut, Boneless", "$11.44"], ["Sauce - Sesame Thai Dressing", "$26.79"], ["Oven Mitts 17 Inch", "$25.19"], ["Langers - Ruby Red Grapfruit", "$29.79"], ["Nantucket - Orange Mango Cktl", "$3.01"], ["Wine - Manischewitz Concord", "$14.33"], ["Bread - Assorted Rolls", "$17.89"], ["Soup Campbells Mexicali Tortilla", "$20.66"], ["Crab - Claws, 26 - 30", "$14.46"], ["Spaghetti Squash", "$13.43"], ["Oil - Olive, Extra Virgin", "$8.66"], ["Mushroom - Portebello", "$24.89"], ["Flour - Bread", "$13.22"], ["Tomato - Plum With Basil", "$14.25"], ["Chocolate - Compound Coating", "$23.73"], ["Cake Circle, Paprus", "$16.44"], ["Sage - Fresh", "$3.59"], ["Milk - Chocolate 500ml", "$7.58"], ["Mushroom - Crimini", "$21.27"], ["Dome Lid Clear P92008h", "$6.99"], ["Lettuce - Spring Mix", "$9.87"], ["Coffee Swiss Choc Almond", "$3.98"], ["Shallots", "$25.95"], ["Broom - Angled", "$24.31"], ["Capon - Breast, Double, Wing On", "$26.47"], ["Bonito Flakes - Toku Katsuo", "$29.82"], ["Island Oasis - Ice Cream Mix", "$28.35"], ["Hog / Sausage Casing - Pork", "$9.73"], ["Veal - Insides Provini", "$12.32"], ["Cheese - Brick With Onion", "$27.40"], ["Pepper - Chillies, Crushed", "$21.75"], ["Buffalo - Tenderloin", "$20.22"], ["Beef Cheek Fresh", "$28.07"], ["Wine - Magnotta - Red, Baco", "$17.89"], ["Pepper - Julienne, Frozen", "$15.33"], ["Soup - French Can Pea", "$19.68"], ["Spice - Onion Powder Granulated", "$3.07"], ["Bread - Raisin Walnut Pull", "$11.95"], ["Sauce - White, Mix", "$9.36"], ["Pasta - Canelloni, Single Serve", "$23.54"], ["Ice Cream Bar - Hagen Daz", "$12.52"], ["Oil - Truffle, White", "$4.54"], ["Marsala - Sperone, Fine, D.o.c.", "$6.99"], ["Sour Puss Raspberry", "$12.06"], ["Bread - Bistro Sour", "$18.02"], ["Wine - Prosecco Valdobienne", "$8.25"], ["Carrots - Jumbo", "$5.47"], ["Longos - Grilled Salmon With Bbq", "$3.74"], ["Toamtoes 6x7 Select", "$18.88"], ["Pea - Snow", "$25.06"], ["Wine - Cabernet Sauvignon", "$15.48"], ["Potatoes - Mini White 3 Oz", "$8.40"], ["Wine - Jaboulet Cotes Du Rhone", "$29.47"], ["Wine - Red, Concha Y Toro", "$26.31"], ["Pork - Bacon Cooked Slcd", "$27.65"], ["Cheese - Grana Padano", "$3.78"], ["Juice - Orangina", "$18.46"], ["Sponge Cake Mix - Chocolate", "$10.70"], ["Sprouts - Baby Pea Tendrils", "$23.85"], ["Muffin Mix - Blueberry", "$18.03"], ["Rum - Dark, Bacardi, Black", "$28.13"], ["Blueberries", "$7.45"], ["Truffle Shells - Semi - Sweet", "$9.52"], ["Brandy Apricot", "$12.03"], ["Cheese - Montery Jack", "$6.03"], ["Foie Gras", "$4.28"], ["Bacardi Raspberry", "$5.35"], ["Raspberries - Frozen", "$20.80"], ["Doilies - 8, Paper", "$25.54"], ["Stock - Beef, White", "$24.21"], ["Apples - Spartan", "$8.58"], ["Flavouring Vanilla Artificial", "$1.19"], ["Cheese - Parmesan Cubes", "$16.28"], ["Cheese - Brick With Pepper", "$28.91"], ["Mayonnaise - Individual Pkg", "$19.18"], ["Nantucket Orange Juice", "$22.66"], ["Energy Drink", "$6.11"], ["Okra", "$15.92"], ["Bread - Ciabatta Buns", "$21.67"], ["Lotus Rootlets - Canned", "$11.56"], ["Cup - 4oz Translucent", "$6.18"], ["Oneshot Automatic Soap System", "$11.00"], ["Cookie Chocolate Chip With", "$20.35"], ["Tea - Jasmin Green", "$18.33"], ["Bread - Olive Dinner Roll", "$17.77"], ["Bacardi Limon", "$10.81"], ["Oil - Peanut", "$27.36"], ["Glucose", "$7.02"], ["Nescafe - Frothy French Vanilla", "$17.41"], ["Bread - Malt", "$8.36"], ["Sauce - Oyster", "$29.77"], ["Sugar - Monocystal / Rock", "$26.25"], ["Wine - Sogrape Mateus Rose", "$28.74"], ["Drambuie", "$28.20"], ["Lambcasing", "$21.09"], ["Tequila - Sauza Silver", "$8.12"], ["Wine - White, Ej Gallo", "$12.61"], ["Crab - Claws, 26 - 30", "$13.08"], ["Wine - Rioja Campo Viejo", "$7.71"], ["Veal - Kidney", "$28.44"], ["Dried Figs", "$28.71"], ["Carrots - Mini Red Organic", "$28.19"], ["Tea - Black Currant", "$1.50"], ["Cookie Chocolate Chip With", "$27.46"], ["Onions - Dried, Chopped", "$11.33"], ["Cleaner - Bleach", "$13.68"], ["Wine - Fat Bastard Merlot", "$10.12"], ["Sprouts - China Rose", "$23.71"], ["Muffin Mix - Blueberry", "$12.86"], ["Sage - Ground", "$15.50"], ["Soup - Beef, Base Mix", "$3.87"], ["Pork - Shoulder", "$18.44"], ["Flour - Bran, Red", "$18.04"], ["Rolled Oats", "$14.86"], ["White Fish - Filets", "$25.35"], ["Bagel - Whole White Sesame", "$1.26"], ["Bagel - Everything Presliced", "$20.13"], ["Orange - Blood", "$2.76"], ["Gatorade - Xfactor Berry", "$26.78"], ["Lemon Grass", "$14.05"], ["Celery Root", "$14.39"], ["Sour Puss Sour Apple", "$15.99"], ["Vinegar - Cider", "$2.53"], ["Pasta - Penne, Rigate, Dry", "$25.36"], ["Foil Cont Round", "$15.41"], ["Potatoes - Idaho 100 Count", "$28.41"], ["Flower - Leather Leaf Fern", "$29.83"], ["Tea - Green", "$18.60"], ["Juice - Apple, 1.36l", "$9.41"], ["Oranges", "$20.70"], ["Cheese - Taleggio D.o.p.", "$10.88"], ["Cheese - Perron Cheddar", "$16.42"], ["Pickles - Gherkins", "$20.11"], ["Wine - Red, Mouton Cadet", "$12.50"], ["Broom - Push", "$1.81"], ["Beef - Rib Roast, Cap On", "$9.01"], ["Sugar Thermometer", "$19.79"], ["Pastry - Apple Large", "$27.60"], ["Creamers - 10%", "$26.95"], ["Beer - Upper Canada Lager", "$11.82"], ["Mint - Fresh", "$7.12"], ["Wine - Piper Heidsieck Brut", "$22.68"], ["Pop - Club Soda Can", "$20.45"], ["Wine - Cousino Macul Antiguas", "$9.12"], ["Juice - Lemon", "$23.92"], ["Sugar - Brown", "$4.73"], ["Table Cloth 72x144 White", "$15.83"], ["Wine - Fino Tio Pepe Gonzalez", "$6.18"], ["Pork - Loin, Center Cut", "$8.92"], ["Container - Clear 16 Oz", "$5.77"], ["Beef Tenderloin Aaa", "$15.03"], ["Chicken - Soup Base", "$23.89"], ["Soup - Campbells Beef Noodle", "$1.68"], ["Chicken Thigh - Bone Out", "$8.12"], ["Foam Espresso Cup Plain White", "$1.92"], ["deneme", "500"]]} \ No newline at end of file diff --git a/Projects/Bugbusters/savecsv/university.csv b/Projects/Bugbusters/savecsv/university.csv new file mode 100644 index 000000000..f6bb143e1 --- /dev/null +++ b/Projects/Bugbusters/savecsv/university.csv @@ -0,0 +1,994 @@ +product,price +Crab - Imitation Flakes,$17.00 +Broom - Push,$28.29 +Muffin - Banana Nut Individual,$24.46 +"Chicken - Leg, Boneless",$19.85 +Ecolab - Hobart Upr Prewash Arm,$20.54 +Island Oasis - Strawberry,$17.62 +Bread - Raisin,$5.57 +Wine - Chateau Timberlay,$29.01 +"Coffee - Colombian, Portioned",$17.84 +Daikon Radish,$18.78 +Paper Cocktail Umberlla 80 - 180,$6.82 +Mushroom - Chanterelle Frozen,$23.84 +"Pepsi, 355 Ml",$22.23 +Chinese Foods - Cantonese,$1.14 +Celery Root,$9.71 +Bacardi Breezer - Strawberry,$12.93 +"Ice - Clear, 300 Lb For Carving",$15.85 +Dried Apple,$6.85 +Scallops - 20/30,$14.59 +Foil Wrap,$24.60 +Buffalo - Tenderloin,$3.61 +Carbonated Water - Blackcherry,$14.55 +Wood Chips - Regular,$21.82 +"Juice - Apple, 1.36l",$26.45 +"Nut - Almond, Blanched, Sliced",$7.82 +Longos - Chicken Cordon Bleu,$8.44 +"Juice - Grape, White",$23.54 +Cheese - Marble,$16.06 +"Mushroom - Shitake, Fresh",$21.60 +Grenadillo,$27.89 +Tarts Assorted,$16.51 +Numi - Assorted Teas,$8.41 +Wine - Puligny Montrachet A.,$6.28 +Dill Weed - Fresh,$24.59 +Tomatoes - Grape,$17.91 +Rosemary - Fresh,$16.54 +Maple Syrup,$6.52 +Longos - Chicken Curried,$26.65 +Cheese - Roquefort Pappillon,$1.93 +External Supplier,$2.16 +"Asparagus - Green, Fresh",$18.18 +Nori Sea Weed,$23.20 +"Wine - Red, Antinori Santa",$5.42 +Hipnotiq Liquor,$20.22 +Blueberries - Frozen,$15.00 +Sprouts - Onion,$12.45 +Okra,$12.82 +Mustard Prepared,$1.08 +Cod - Black Whole Fillet,$26.29 +Butcher Twine 4r,$6.54 +Veal - Kidney,$11.57 +Towels - Paper / Kraft,$13.74 +"Potatoes - Instant, Mashed",$1.98 +Cocoa Powder - Dutched,$1.31 +Fuji Apples,$26.44 +Wine - Baron De Rothschild,$5.22 +Barramundi,$14.08 +Cornstarch,$23.40 +Port - 74 Brights,$12.62 +Cream - 35%,$13.63 +Soup Campbells Split Pea And Ham,$8.82 +Yoplait Drink,$12.21 +Mushroom - Chanterelle Frozen,$25.77 +"Wine - Red, Wolf Blass, Yellow",$23.30 +Food Colouring - Blue,$1.80 +Sprouts - Peppercress,$17.64 +Salt - Sea,$24.32 +Chocolate - Semi Sweet,$12.84 +Rice - 7 Grain Blend,$7.48 +Truffle Shells - White Chocolate,$29.27 +The Pop Shoppe - Cream Soda,$19.72 +"Mushroom - Oyster, Fresh",$12.41 +The Pop Shoppe - Lime Rickey,$21.35 +"Juice - Apple, 341 Ml",$5.90 +Tuna - Loin,$13.30 +Nantucket Orange Juice,$24.91 +Tuna - Yellowfin,$23.23 +"Lamb - Leg, Diced",$12.36 +Chocolate - Chips Compound,$7.77 +Zucchini - Green,$11.30 +Gherkin - Sour,$19.13 +Sole - Fillet,$17.97 +Lettuce - Baby Salad Greens,$23.01 +Toamtoes 6x7 Select,$7.70 +Mace Ground,$24.48 +Wine - Black Tower Qr,$22.37 +Pants Custom Dry Clean,$23.76 +Veal - Leg,$25.48 +"Chocolate - Pistoles, Lactee, Milk",$20.28 +Beans - Butter Lrg Lima,$22.82 +Pepper - Yellow Bell,$27.60 +Bread Roll Foccacia,$11.94 +Muffin - Bran Ind Wrpd,$24.22 +Rye Special Old,$25.71 +Island Oasis - Lemonade,$21.13 +"Soup - Campbells, Butternut",$17.47 +Eggwhite Frozen,$17.63 +Cookie - Dough Variety,$8.36 +Numi - Assorted Teas,$20.33 +Madeira,$16.60 +Wine - Chardonnay South,$5.22 +Jam - Apricot,$1.54 +"Pasta - Lasagna Noodle, Frozen",$13.42 +Fish - Bones,$25.04 +"Pasta - Penne Primavera, Single",$10.14 +"Orange - Canned, Mandarin",$10.73 +Salt - Seasoned,$1.18 +V8 Splash Strawberry Kiwi,$3.58 +Flour - Strong,$7.27 +Cheese - Feta,$17.86 +"Tart Shells - Sweet, 3",$15.20 +"Star Anise, Whole",$10.67 +Pickle - Dill,$29.57 +Cocktail Napkin Blue,$4.26 +Cream Of Tartar,$10.43 +"Pepper - Black, Whole",$11.70 +Icecream - Dstk Super Cone,$8.01 +Salmon - Canned,$25.30 +Beets - Pickled,$3.09 +Wiberg Super Cure,$19.96 +Sausage - Blood Pudding,$7.08 +Dooleys Toffee,$28.64 +Bag Stand,$18.48 +"Pepper - Green, Chili",$12.37 +"Ecolab - Orange Frc, Cleaner",$15.49 +Container - Clear 16 Oz,$24.48 +Salt - Table,$29.27 +Wine - Savigny - Les - Beaune,$17.15 +Miso - Soy Bean Paste,$16.92 +Ginger - Crystalized,$29.76 +Pork - Backfat,$2.97 +Appetizer - Chicken Satay,$23.76 +Sausage - Chorizo,$26.74 +"Extract - Vanilla,artificial",$14.19 +"Pasta - Rotini, Colour, Dry",$13.13 +Cake - Mini Cheesecake,$26.39 +"Wine - Red, Lurton Merlot De",$10.26 +Nantucket Cranberry Juice,$2.75 +Truffle Cups Green,$16.49 +Chips Potato Swt Chilli Sour,$15.89 +"Brandy - Orange, Mc Guiness",$17.18 +Jameson - Irish Whiskey,$5.34 +Chocolate - Dark,$9.40 +Strawberries - California,$22.26 +Sage - Ground,$9.12 +Table Cloth 54x72 Colour,$24.52 +Soup - Campbells Beef Stew,$20.37 +Wine - Vidal Icewine Magnotta,$10.80 +Calypso - Strawberry Lemonade,$21.32 +Spinach - Spinach Leaf,$2.99 +Veal - Heart,$18.58 +"Yogurt - Cherry, 175 Gr",$21.29 +Veal - Liver,$9.98 +Foil Wrap,$3.66 +Smoked Tongue,$11.06 +Veal - Striploin,$7.80 +Creme De Cacao Mcguines,$24.02 +Beans - Butter Lrg Lima,$17.34 +Pork - Inside,$27.87 +"Basil - Primerba, Paste",$22.98 +Pie Pecan,$9.34 +Bread - Raisin Walnut Oval,$5.55 +"Wine - Magnotta - Red, Baco",$3.15 +"Beef - Tenderlion, Center Cut",$5.95 +Sherbet - Raspberry,$25.05 +True - Vue Containers,$17.47 +Stainless Steel Cleaner Vision,$4.89 +Beef - Inside Round,$24.82 +Bacardi Breezer - Strawberry,$21.23 +Appetizer - Tarragon Chicken,$9.72 +Tea - Herbal - 6 Asst,$25.09 +Vodka - Moskovskaya,$27.30 +"Cheese - Romano, Grated",$19.72 +Dc - Sakura Fu,$20.07 +Urban Zen Drinks,$19.52 +Wine - Gato Negro Cabernet,$20.17 +Rootbeer,$9.98 +Creme De Menth - White,$11.98 +Beer - Molson Excel,$20.22 +"Rice Pilaf, Dry,package",$9.51 +Nougat - Paste / Cream,$20.53 +Wine - Pinot Noir Pond Haddock,$19.83 +Corn Syrup,$27.68 +Bandage - Flexible Neon,$26.09 +Chocolate - White,$1.26 +Dasheen,$22.40 +Mushroom - Lg - Cello,$27.01 +"Bread - Pullman, Sliced",$29.62 +French Kiss Vanilla,$5.08 +"Tart Shells - Sweet, 4",$26.89 +Tuna - Sushi Grade,$8.29 +"Bread - Dark Rye, Loaf",$12.93 +Water - Evian 355 Ml,$5.02 +"Veal - Leg, Provimi - 50 Lb Max",$1.49 +Salmon Steak - Cohoe 8 Oz,$20.80 +"Jam - Strawberry, 20 Ml Jar",$4.77 +"Wine - White, Pinot Grigio",$7.99 +"Cheese - Boursin, Garlic / Herbs",$20.55 +Chicken - Livers,$9.44 +Bay Leaf,$8.60 +Cake - Box Window 10x10x2.5,$15.14 +Flour - Fast / Rapid,$11.97 +Cups 10oz Trans,$20.10 +Parsley - Fresh,$20.62 +"Mushrooms - Black, Dried",$4.18 +Wine - Chardonnay Mondavi,$3.45 +Curry Powder,$29.67 +Bag Stand,$2.65 +Muffin - Mix - Bran And Maple 15l,$17.44 +Tea - Jasmin Green,$20.74 +Beer - True North Lager,$5.08 +Raisin - Golden,$10.98 +Raspberries - Fresh,$1.34 +"Rum - Coconut, Malibu",$11.54 +"Nut - Walnut, Chopped",$10.64 +Lettuce - Baby Salad Greens,$23.88 +Salt - Seasoned,$26.89 +Wine - Valpolicella Masi,$12.92 +"Pepper - Green, Chili",$24.05 +"Ecolab - Orange Frc, Cleaner",$28.09 +Water - Green Tea Refresher,$25.71 +Vol Au Vents,$6.36 +Sauce - Plum,$22.61 +Wine - Fino Tio Pepe Gonzalez,$10.31 +"Leeks - Baby, White",$1.31 +"Crush - Grape, 355 Ml",$21.60 +Calypso - Pineapple Passion,$18.53 +Onions - Vidalia,$13.84 +Beef - Shank,$17.98 +"Nut - Peanut, Roasted",$22.05 +Tomatoes - Hot House,$24.74 +Muffin Mix - Oatmeal,$4.87 +"Soup - Canadian Pea, Dry Mix",$15.35 +Bread - Granary Small Pull,$22.03 +Longos - Grilled Veg Sandwiches,$8.69 +Soup Campbells Mexicali Tortilla,$6.93 +Beef Flat Iron Steak,$10.34 +Vinegar - White,$2.68 +Cinnamon - Stick,$18.69 +Mousse - Banana Chocolate,$6.55 +Ecolab Crystal Fusion,$20.05 +Wood Chips - Regular,$9.36 +Pork - Back Ribs,$4.63 +Lambcasing,$21.20 +Croissants Thaw And Serve,$12.16 +"Bread - Dark Rye, Loaf",$27.37 +"Bread - Sticks, Thin, Plain",$20.20 +"Olives - Black, Pitted",$9.41 +Corn Kernels - Frozen,$14.73 +Godiva White Chocolate,$29.98 +"Pepper - White, Ground",$24.42 +Chocolate Bar - Smarties,$27.57 +Orange Roughy 4/6 Oz,$28.22 +Teriyaki Sauce,$17.25 +Piping Jelly - All Colours,$18.74 +Chicken Thigh - Bone Out,$24.30 +Lobster - Tail 6 Oz,$25.06 +"Nestea - Ice Tea, Diet",$26.90 +"Pork - Butt, Boneless",$9.67 +"Zucchini - Mini, Green",$28.53 +"Pork - Tenderloin, Frozen",$27.90 +Turkey Leg With Drum And Thigh,$16.40 +"Nut - Almond, Blanched, Whole",$24.85 +Puree - Raspberry,$15.95 +Foam Espresso Cup Plain White,$13.51 +"Cherries - Maraschino,jar",$9.04 +Pie Shell - 9,$11.30 +Soup Campbells,$6.35 +Sole - Fillet,$20.02 +Chevere Logs,$17.75 +Cheese Cloth No 60,$4.86 +Longos - Burritos,$11.96 +Beef - Inside Round,$10.29 +Raisin - Golden,$25.48 +"Veal - Round, Eye Of",$9.48 +"Oil - Truffle, Black",$2.42 +Cheese - Sheep Milk,$16.80 +Tart - Raisin And Pecan,$28.89 +Bread - Raisin,$15.71 +Ice Cream - Fudge Bars,$6.98 +Squid - Breaded,$1.38 +Cinnamon - Ground,$7.24 +Shrimp - 100 / 200 Cold Water,$9.88 +"Ecolab - Orange Frc, Cleaner",$9.99 +Tea - Lemon Scented,$26.02 +Tahini Paste,$25.15 +Beer - True North Lager,$28.08 +Cookie Trail Mix,$3.82 +Pastry - Cherry Danish - Mini,$20.03 +Pastry - Baked Scones - Mini,$12.44 +Sprouts - Peppercress,$27.49 +Marjoram - Fresh,$20.44 +Island Oasis - Sweet And Sour Mix,$29.90 +Honey - Lavender,$19.71 +"Wine - Red, Pelee Island Merlot",$25.75 +Cabbage - Green,$15.18 +Mayonnaise,$3.91 +"Pepsi, 355 Ml",$13.30 +"Crush - Grape, 355 Ml",$1.13 +Table Cloth 62x114 Colour,$8.27 +"Wine - Red, Pelee Island Merlot",$22.97 +Wine - Ice Wine,$15.68 +Lime Cordial - Roses,$5.25 +Soup - Campbellschix Stew,$11.80 +Gelatine Leaves - Envelopes,$12.70 +Mousse - Passion Fruit,$28.55 +Yoplait Drink,$5.83 +"Salt - Rock, Course",$8.86 +Pastry - Plain Baked Croissant,$15.04 +"Napkin - Cocktail,beige 2 - Ply",$29.47 +Bag Stand,$26.26 +Yeast Dry - Fleischman,$27.98 +"Mushroom - Enoki, Dry",$5.41 +Cake - Cheese Cake 9 Inch,$22.62 +Dried Peach,$20.75 +"Wine - Red, Concha Y Toro",$2.24 +Grapefruit - White,$5.92 +"Rum - Light, Captain Morgan",$2.98 +Sandwich Wrap,$8.04 +Salt And Pepper Mix - White,$10.76 +Salmon - Canned,$12.61 +Cheese - Mozzarella,$7.80 +Muffin - Mix - Creme Brule 15l,$23.48 +Carbonated Water - Strawberry,$7.70 +Flour - Chickpea,$9.31 +Versatainer Nc - 9388,$8.72 +Ketchup - Tomato,$6.76 +Ice Cream Bar - Oreo Cone,$16.69 +Bread Crumbs - Japanese Style,$15.85 +"Artichoke - Bottom, Canned",$29.10 +"Cherries - Bing, Canned",$1.42 +Icecream Cone - Areo Chocolate,$3.89 +Shrimp - Black Tiger 6 - 8,$3.82 +Versatainer Nc - 9388,$5.16 +Lamb Tenderloin Nz Fr,$12.12 +"Pork - Sausage, Medium",$25.39 +Wine - Cave Springs Dry Riesling,$25.83 +Wine - Delicato Merlot,$20.83 +Grapefruit - White,$2.48 +Food Colouring - Red,$20.34 +"Nut - Hazelnut, Whole",$17.48 +Croissants Thaw And Serve,$22.59 +Ocean Spray - Ruby Red,$4.66 +"Beef - Kindney, Whole",$25.38 +Boogies,$7.25 +Cloves - Whole,$6.45 +Cheese - Bocconcini,$17.58 +Broom - Angled,$9.20 +Pail For Lid 1537,$26.12 +Pepper - Green,$20.26 +Cheese - Perron Cheddar,$2.44 +Sausage - Meat,$15.94 +Squash - Guords,$24.78 +Grapes - Red,$21.85 +Longos - Grilled Chicken With,$28.64 +Beef - Flank Steak,$3.33 +Salad Dressing,$1.53 +Cup - Translucent 7 Oz Clear,$3.55 +Ecolab - Medallion,$21.66 +Icecream Bar - Del Monte,$19.25 +Lobak,$9.26 +Nantucket - Orange Mango Cktl,$14.26 +Curry Powder Madras,$24.80 +Table Cloth 90x90 White,$20.67 +Beef - Ground Medium,$11.55 +Breakfast Quesadillas,$10.85 +Oil - Peanut,$14.35 +Truffle Cups Green,$24.46 +Galliano,$18.22 +"Nut - Walnut, Chopped",$13.55 +Wine - Trimbach Pinot Blanc,$20.78 +Bagels Poppyseed,$22.36 +Jolt Cola - Red Eye,$9.43 +"Wine - Magnotta, Merlot Sr Vqa",$6.20 +"Sprite, Diet - 355ml",$2.70 +Smoked Paprika,$9.67 +Meldea Green Tea Liquor,$14.60 +Carbonated Water - Lemon Lime,$3.83 +Filo Dough,$10.86 +Rice - Aborio,$9.61 +Filter - Coffee,$19.95 +Absolut Citron,$6.62 +Pastry - Apple Large,$22.34 +"Tomatoes - Vine Ripe, Yellow",$24.06 +Shichimi Togarashi Peppeers,$14.64 +Soupfoamcont12oz 112con,$15.85 +Bagel - Ched Chs Presliced,$17.43 +Ecolab Silver Fusion,$6.12 +Wine - Kwv Chenin Blanc South,$25.02 +Pate - Peppercorn,$7.45 +Lemon Tarts,$27.38 +"Wine - White, Lindemans Bin 95",$19.74 +Wine - Riesling Dr. Pauly,$12.87 +Maple Syrup,$5.48 +Beer - Blue,$29.70 +Bagelers,$6.78 +Puree - Passion Fruit,$1.35 +"Veal - Brisket, Provimi, Bone - In",$21.50 +Mustard Prepared,$23.25 +Bar Mix - Lime,$6.30 +Nacho Chips,$14.67 +"Beef - Rib Roast, Capless",$22.55 +Wine - Ej Gallo Sierra Valley,$18.14 +Bread - Bistro White,$2.18 +Flavouring - Orange,$11.65 +Otomegusa Dashi Konbu,$21.36 +Cheese - Goat With Herbs,$6.96 +Yoplait Drink,$7.61 +Nantucket - Carrot Orange,$4.58 +Bread - Malt,$18.94 +"Nut - Pine Nuts, Whole",$15.72 +Cabbage - Green,$21.13 +Piping - Bags Quizna,$25.75 +Glaze - Apricot,$26.20 +"Soup - Cream Of Broccoli, Dry",$2.96 +Beef Dry Aged Tenderloin Aaa,$14.05 +Veal - Inside,$27.43 +"Soup - Campbells, Chix Gumbo",$11.77 +Creme De Banane - Marie,$4.47 +Island Oasis - Wildberry,$20.87 +Peach - Halves,$18.85 +"Wine - Red, Harrow Estates, Cab",$6.02 +Basil - Pesto Sauce,$5.44 +Wine - Riesling Alsace Ac 2001,$8.43 +Wine - Penfolds Koonuga Hill,$28.95 +Pastry - French Mini Assorted,$11.66 +Broom Handle,$5.12 +Pasta - Canelloni,$4.58 +Cafe Royale,$17.75 +Scallops - U - 10,$14.59 +Nantucket Apple Juice,$24.95 +Rice Paper,$16.86 +"Cheese - Cheddar, Medium",$2.02 +"Beans - Black Bean, Preserved",$15.71 +Island Oasis - Sweet And Sour Mix,$20.67 +Chocolate Bar - Smarties,$6.59 +Tequila Rose Cream Liquor,$25.89 +Macaroons - Two Bite Choc,$23.66 +Cheese - Pied De Vents,$20.42 +Beer - Mcauslan Apricot,$2.14 +"Oranges - Navel, 72",$20.16 +Basil - Thai,$29.34 +Tea - Jasmin Green,$12.96 +Wine - Kwv Chenin Blanc South,$7.38 +Chick Peas - Canned,$1.98 +Cheese - Blue,$20.39 +Pike - Frozen Fillet,$26.59 +Wine - Sogrape Mateus Rose,$16.19 +Sugar - Brown,$10.03 +Muffin Batt - Blueberry Passion,$8.24 +Pasta - Fusili Tri - Coloured,$18.86 +Mussels - Frozen,$8.72 +Pastry - Baked Scones - Mini,$24.65 +Appetizer - Smoked Salmon / Dill,$5.87 +"Vermacelli - Sprinkles, Assorted",$2.86 +Lettuce - Boston Bib,$18.99 +Lamb Shoulder Boneless Nz,$6.45 +Smoked Paprika,$29.24 +Bread - Corn Muffaletta,$7.00 +Table Cloth 62x114 Colour,$7.88 +Pie Shell - 9,$24.52 +Beer - Pilsner Urquell,$10.84 +Tart - Lemon,$26.59 +Potatoes - Mini White 3 Oz,$15.08 +Flour - All Purpose,$27.47 +Tomato - Tricolor Cherry,$20.91 +Yukon Jack,$22.06 +"Mustard - Dry, Powder",$6.15 +"Brownies - Two Bite, Chocolate",$2.09 +Wine - Chateau Bonnet,$11.49 +Wine - Semi Dry Riesling Vineland,$15.51 +Compound - Orange,$23.55 +"Carrots - Mini, Stem On",$22.62 +Chip - Potato Dill Pickle,$23.93 +Sprouts - Onion,$16.77 +Yogurt - French Vanilla,$26.49 +Cookies - Assorted,$25.18 +Bread Crumbs - Panko,$1.16 +Tomatoes - Orange,$26.27 +"Pasta - Fett Alfredo, Single Serve",$15.73 +Cookie - Oreo 100x2,$5.57 +Vol Au Vents,$15.88 +Sausage - Andouille,$4.95 +Bar - Granola Trail Mix Fruit Nut,$22.28 +Soup - Base Broth Chix,$17.66 +Juice - Orangina,$17.40 +Appetizer - Chicken Satay,$12.54 +Sausage - Andouille,$26.45 +"Pepper - Chillies, Crushed",$22.92 +Beans - Butter Lrg Lima,$29.95 +"Cheese - Romano, Grated",$9.78 +Cake - Dulce De Leche,$28.67 +Pancetta,$5.05 +Bok Choy - Baby,$9.06 +Langers - Mango Nectar,$25.97 +Ginsing - Fresh,$17.62 +Lobster - Live,$11.61 +Wine - Hardys Bankside Shiraz,$5.60 +Cinnamon - Ground,$25.83 +Water Chestnut - Canned,$5.22 +"Turkey - Breast, Boneless Sk On",$17.72 +Onions - Red,$9.74 +Rolled Oats,$3.71 +Momiji Oroshi Chili Sauce,$28.11 +Oil - Hazelnut,$29.50 +Plate Pie Foil,$15.84 +Wine - Manischewitz Concord,$13.05 +"Pesto - Primerba, Paste",$17.88 +Uniform Linen Charge,$17.44 +Cilantro / Coriander - Fresh,$10.64 +Curry Powder,$5.32 +"Lamb - Leg, Boneless",$9.58 +Lemons,$26.27 +Cheese - Bakers Cream Cheese,$15.30 +Pie Pecan,$15.12 +Wine - Zonnebloem Pinotage,$27.19 +"Radish - Black, Winter, Organic",$10.86 +"Artichoke - Bottom, Canned",$23.33 +Chicken - White Meat With Tender,$15.59 +"Oil - Truffle, Black",$16.96 +Pork - Ground,$6.60 +Pickles - Gherkins,$5.09 +Cardamon Ground,$18.79 +Potatoes - Idaho 100 Count,$7.08 +Pork - Back Ribs,$24.34 +Pomello,$22.91 +Cinnamon Rolls,$12.11 +Halibut - Steaks,$5.16 +"Soup - Knorr, French Onion",$22.61 +Spinach - Baby,$21.54 +Dome Lid Clear P92008h,$8.52 +Butter - Unsalted,$29.40 +"Pork - Loin, Bone - In",$18.91 +Cake - Cake Sheet Macaroon,$8.88 +Icecream - Dstk Strw Chseck,$18.02 +Wine - Casablanca Valley,$14.32 +Fenngreek Seed,$28.61 +"Beef - Baby, Liver",$12.61 +Veal - Osso Bucco,$1.39 +Wine - Chablis J Moreau Et Fils,$15.67 +Eggplant Oriental,$26.65 +Sausage - Blood Pudding,$11.82 +Dc Hikiage Hira Huba,$26.51 +Cinnamon - Stick,$14.96 +Flour - Teff,$2.56 +"Nut - Almond, Blanched, Whole",$5.15 +Langers - Cranberry Cocktail,$22.14 +Sugar - Splenda Sweetener,$12.54 +Grapes - Red,$14.70 +Cleaner - Lime Away,$25.14 +Beef - Top Sirloin,$26.94 +Corn Kernels - Frozen,$1.51 +Longos - Cheese Tortellini,$28.22 +Jack Daniels,$27.04 +Cake - French Pear Tart,$10.59 +Chocolate - Feathers,$7.08 +"Ranchero - Primerba, Paste",$6.01 +Food Colouring - Green,$9.20 +Sauce - Rosee,$11.26 +Sausage - Meat,$1.76 +Soup - Campbells Beef Noodle,$15.09 +Coffee - Egg Nog Capuccino,$8.98 +"Tendrils - Baby Pea, Organic",$17.99 +Tomatoes - Yellow Hot House,$9.43 +Mushroom - Porcini Frozen,$12.46 +Cookie Dough - Oatmeal Rasin,$7.55 +Juice - Mango,$15.57 +Initation Crab Meat,$19.70 +Wine - Bouchard La Vignee Pinot,$27.49 +"Yogurt - Cherry, 175 Gr",$12.58 +"Juice - Tomato, 10 Oz",$28.32 +Cake Sheet Combo Party Pack,$15.47 +Quiche Assorted,$20.16 +Pork - Backfat,$26.04 +Beer - Sleemans Cream Ale,$13.66 +Wine - Masi Valpolocell,$23.26 +Seabream Whole Farmed,$3.08 +Horseradish - Prepared,$16.20 +"Zucchini - Mini, Green",$24.67 +Langers - Mango Nectar,$16.86 +Lid - 0090 Clear,$11.22 +Canada Dry,$10.27 +Island Oasis - Mango Daiquiri,$5.26 +Steel Wool S.o.s,$9.86 +Oil - Safflower,$2.09 +Grenadine,$5.44 +Breadfruit,$9.23 +"Wine - Red, Harrow Estates, Cab",$6.50 +Dc - Frozen Momji,$11.49 +"Wine - White, Schroder And Schyl",$25.72 +"Cherries - Maraschino,jar",$14.40 +Muffin Hinge Container 6,$20.66 +Kiwano,$9.17 +Ecolab - Power Fusion,$24.56 +Ice Cream Bar - Rolo Cone,$14.52 +Silicone Paper 16.5x24,$24.19 +Pear - Asian,$21.09 +Appetizer - Sausage Rolls,$14.36 +Coffee Cup 12oz 5342cd,$22.71 +Mushrooms - Honey,$4.96 +Soup - French Can Pea,$4.62 +"Lettuce - Romaine, Heart",$21.24 +"Nut - Pine Nuts, Whole",$22.91 +Lamb - Loin Chops,$13.86 +Broom - Angled,$23.51 +Cod - Fillets,$4.73 +"Beans - Black Bean, Canned",$9.67 +Pie Filling - Apple,$6.48 +Wine - Chateau Aqueria Tavel,$26.83 +Eggplant - Asian,$1.80 +V8 - Vegetable Cocktail,$11.92 +Appetizer - Lobster Phyllo Roll,$29.16 +Ocean Spray - Kiwi Strawberry,$13.85 +Wine - Casablanca Valley,$13.81 +Gelatine Leaves - Envelopes,$18.05 +"Wine - White, Pelee Island",$12.19 +Sour Puss Raspberry,$27.60 +Cheese - Comte,$28.51 +"Corn - Cream, Canned",$2.37 +Pork Casing,$29.08 +Onions - Cooking,$21.23 +Spinach - Spinach Leaf,$27.21 +Flower - Leather Leaf Fern,$15.57 +Sauce - Sesame Thai Dressing,$27.73 +Flour - Masa De Harina Mexican,$20.78 +"Vodka - Lemon, Absolut",$18.42 +"Cheese - Brie, Triple Creme",$8.31 +"Soup - Campbells, Lentil",$4.97 +Sauce - Chili,$19.59 +"Mushroom - Trumpet, Dry",$25.92 +Oil - Olive Bertolli,$13.36 +Muffin Carrot - Individual,$3.07 +Wine - Pinot Noir Pond Haddock,$29.43 +Apple - Custard,$20.41 +Bar Nature Valley,$16.76 +V8 Splash Strawberry Banana,$2.85 +Cognac - Courvaisier,$3.05 +Cheese - Comte,$4.09 +Vinegar - White Wine,$20.93 +Lighter - Bbq,$23.36 +Wine - Fume Blanc Fetzer,$20.59 +Cleaner - Lime Away,$8.06 +Worcestershire Sauce,$18.51 +Bouillion - Fish,$2.65 +Juice - Lemon,$4.57 +Guinea Fowl,$8.85 +Mix Pina Colada,$8.43 +Milk - Homo,$13.28 +Tomato - Green,$7.56 +Sterno - Chafing Dish Fuel,$7.23 +Beef - Tenderloin Tails,$23.15 +"Beans - Black Bean, Canned",$20.43 +Vinegar - White,$25.05 +Spic And Span All Purpose,$5.25 +Fudge - Cream Fudge,$18.61 +Lid - 3oz Med Rec,$1.46 +Juice - Happy Planet,$18.07 +Rice - Sushi,$5.46 +Wine - White Cab Sauv.on,$29.48 +Basil - Thai,$6.26 +Muffin - Mix - Creme Brule 15l,$8.86 +Longos - Grilled Chicken With,$12.13 +Ginger - Pickled,$2.26 +Wine - Magnotta - Bel Paese White,$10.02 +Cranberry Foccacia,$6.39 +"Cod - Salted, Boneless",$5.07 +Chicken - Soup Base,$15.41 +Wine - Duboeuf Beaujolais,$18.95 +Wine - Clavet Saint Emilion,$23.39 +Wine - Vovray Sec Domaine Huet,$16.59 +Blackberries,$1.55 +Cocoa Feuilletine,$14.68 +"Tart Shells - Savory, 2",$27.71 +Island Oasis - Ice Cream Mix,$6.46 +Bread - Granary Small Pull,$9.98 +Beef Striploin Aaa,$25.68 +"Thyme - Lemon, Fresh",$22.30 +Pop - Club Soda Can,$5.43 +Wine - Cotes Du Rhone Parallele,$25.57 +"Pepper - Julienne, Frozen",$23.95 +Cod - Fillets,$16.08 +"Pepper - Black, Ground",$4.72 +Daikon Radish,$10.56 +Pear - Halves,$9.70 +Cheese - Asiago,$13.54 +Pail With Metal Handle 16l White,$7.08 +"Cherries - Maraschino,jar",$25.40 +Oil - Margarine,$4.54 +Curry Powder,$5.02 +Coffee - 10oz Cup 92961,$11.15 +Stainless Steel Cleaner Vision,$14.55 +Remy Red,$17.83 +"Yogurt - Peach, 175 Gr",$17.30 +Langers - Cranberry Cocktail,$9.92 +Ocean Spray - Kiwi Strawberry,$29.03 +"Beef - Rouladin, Sliced",$26.45 +Ice Cream Bar - Oreo Sandwich,$6.43 +Beans - Green,$11.33 +Dc - Frozen Momji,$26.97 +"Juice - Apple, 341 Ml",$29.87 +Lid Tray - 12in Dome,$23.16 +Muffin Batt - Ban Dream Zero,$27.19 +Trout Rainbow Whole,$15.00 +Soup - Campbells - Chicken Noodle,$21.60 +"Cake Circle, Foil, Scallop",$5.37 +Coffee - Espresso,$2.82 +"Sauce - White, Mix",$21.36 +"Flour - Buckwheat, Dark",$11.20 +Wooden Mop Handle,$7.19 +Wine - Soave Folonari,$14.87 +Appetizer - Seafood Assortment,$7.70 +Vaccum Bag - 14x20,$25.42 +Bowl 12 Oz - Showcase 92012,$15.50 +Lettuce - Radicchio,$22.99 +Magnotta - Bel Paese White,$29.30 +"Tomatoes - Plum, Canned",$26.63 +"Coffee - Beans, Whole",$11.87 +Yeast Dry - Fermipan,$9.00 +"Juice - Apple, 1.36l",$1.55 +Carbonated Water - Strawberry,$13.42 +"Lamb - Leg, Bone In",$22.00 +Star Fruit,$5.87 +"Pepper - Black, Crushed",$25.41 +Lobster - Tail 6 Oz,$17.94 +Wine - Vovray Sec Domaine Huet,$2.67 +"Tart Shells - Savory, 4",$7.71 +Trout Rainbow Whole,$2.20 +"Melon - Watermelon, Seedless",$21.26 +Apron,$8.53 +"Beer - Alexander Kieths, Pale Ale",$1.91 +Sauce - Thousand Island,$17.12 +Galliano,$12.70 +Apple - Macintosh,$5.64 +Rice - Aborio,$8.09 +"Wine - Red, Lurton Merlot De",$6.52 +"Lid - High Heat, Super Clear",$13.60 +"Bread - Sticks, Thin, Plain",$29.97 +"Bread - Pullman, Sliced",$4.80 +Russian Prince,$2.80 +"Chocolate - Pistoles, White",$15.87 +Lobster - Cooked,$17.81 +Lamb - Rack,$2.92 +Clam - Cherrystone,$4.71 +Lettuce - Lambs Mash,$13.66 +Tea - Camomele,$12.22 +"Sauce - Bernaise, Mix",$11.24 +Puree - Kiwi,$17.34 +Star Fruit,$11.76 +Bread - Pumpernickel,$29.19 +Veal - Sweetbread,$1.84 +Sponge Cake Mix - Chocolate,$4.01 +Appetizer - Southwestern,$4.32 +"Trout - Rainbow, Fresh",$2.20 +Cookie Dough - Peanut Butter,$7.01 +Muffin - Banana Nut Individual,$21.39 +Milk - 2% 250 Ml,$14.36 +"Sugar - Brown, Individual",$9.23 +Heavy Duty Dust Pan,$7.72 +Cheese - Marble,$17.48 +Paste - Black Olive,$19.88 +Pizza Pizza Dough,$15.31 +Pastry - Key Limepoppy Seed Tea,$4.76 +Pears - Bartlett,$6.25 +Blueberries,$8.24 +Bread Fig And Almond,$25.00 +Lumpfish Black,$14.08 +Ginsing - Fresh,$4.98 +Langers - Cranberry Cocktail,$1.32 +Bagel - Whole White Sesame,$7.49 +Cookies - Englishbay Chochip,$12.42 +Pepper Squash,$13.36 +"Cookies - Oreo, 4 Pack",$29.46 +Kiwi,$25.45 +"Wine - White, Riesling, Henry Of",$15.13 +Iced Tea Concentrate,$29.85 +Oil - Sesame,$24.38 +Pepper - Red Chili,$3.45 +Tuna - Sushi Grade,$21.55 +"Bread - Dark Rye, Loaf",$23.14 +"Wine - Red, Lurton Merlot De",$5.73 +Orange Roughy 6/8 Oz,$25.02 +Sole - Fillet,$1.28 +Beef - Top Butt,$22.28 +"Bread - Roll, Canadian Dinner",$5.41 +Wine - Conde De Valdemar,$13.14 +"Wine - White, Schroder And Schyl",$28.28 +Foil - Round Foil,$28.54 +Cod - Fillets,$9.95 +Shallots,$29.40 +Rum - Mount Gay Eclipes,$3.31 +Pastry - Trippleberry Muffin - Mini,$20.82 +Rabbit - Whole,$21.81 +"Soup - Campbells, Beef Barley",$6.30 +Kippers - Smoked,$2.71 +Steam Pan - Half Size Deep,$23.76 +Cleaner - Bleach,$14.20 +Flour Dark Rye,$13.35 +"Pasta - Lasagna, Dry",$1.68 +Cheese - Oka,$21.24 +Croissants Thaw And Serve,$23.58 +Wine - Sake,$7.61 +Chocolate - Mi - Amere Semi,$27.91 +Foie Gras,$9.22 +Juice - Ocean Spray Cranberry,$25.23 +Veal - Heart,$15.31 +Pepper - Chili Powder,$15.81 +Beer - Original Organic Lager,$3.88 +Phyllo Dough,$3.10 +Wine - Prosecco Valdobiaddene,$24.38 +Remy Red Berry Infusion,$21.15 +Cotton Wet Mop 16 Oz,$19.46 +Wine - Spumante Bambino White,$7.29 +Filter - Coffee,$25.11 +Sour Puss Sour Apple,$27.71 +Puree - Blackcurrant,$8.34 +Cheese - Swiss,$12.59 +Wine - Savigny - Les - Beaune,$10.80 +Salad Dressing,$14.07 +Spice - Montreal Steak Spice,$18.74 +"Fish - Soup Base, Bouillon",$11.73 +Relish,$29.57 +Chips Potato Swt Chilli Sour,$6.54 +Foam Cup 6 Oz,$9.81 +Lettuce - Boston Bib - Organic,$21.07 +Sponge Cake Mix - Vanilla,$9.83 +Beef - Top Butt,$6.01 +Horseradish Root,$22.04 +Tandoori Curry Paste,$24.11 +Lettuce - Curly Endive,$6.58 +"Soup - Knorr, Chicken Noodle",$16.75 +"Wine - Red, Mouton Cadet",$21.74 +Bar Energy Chocchip,$29.31 +Smirnoff Green Apple Twist,$14.72 +Bacardi Limon,$21.52 +Beef Cheek Fresh,$12.15 +Gherkin,$29.31 +Lettuce - Boston Bib - Organic,$16.43 +"Pork - Back, Short Cut, Boneless",$11.44 +Sauce - Sesame Thai Dressing,$26.79 +Oven Mitts 17 Inch,$25.19 +Langers - Ruby Red Grapfruit,$29.79 +Nantucket - Orange Mango Cktl,$3.01 +Wine - Manischewitz Concord,$14.33 +Bread - Assorted Rolls,$17.89 +Soup Campbells Mexicali Tortilla,$20.66 +"Crab - Claws, 26 - 30",$14.46 +Spaghetti Squash,$13.43 +"Oil - Olive, Extra Virgin",$8.66 +Mushroom - Portebello,$24.89 +Flour - Bread,$13.22 +Tomato - Plum With Basil,$14.25 +Chocolate - Compound Coating,$23.73 +"Cake Circle, Paprus",$16.44 +Sage - Fresh,$3.59 +Milk - Chocolate 500ml,$7.58 +Mushroom - Crimini,$21.27 +Dome Lid Clear P92008h,$6.99 +Lettuce - Spring Mix,$9.87 +Coffee Swiss Choc Almond,$3.98 +Shallots,$25.95 +Broom - Angled,$24.31 +"Capon - Breast, Double, Wing On",$26.47 +Bonito Flakes - Toku Katsuo,$29.82 +Island Oasis - Ice Cream Mix,$28.35 +Hog / Sausage Casing - Pork,$9.73 +Veal - Insides Provini,$12.32 +Cheese - Brick With Onion,$27.40 +"Pepper - Chillies, Crushed",$21.75 +Buffalo - Tenderloin,$20.22 +Beef Cheek Fresh,$28.07 +"Wine - Magnotta - Red, Baco",$17.89 +"Pepper - Julienne, Frozen",$15.33 +Soup - French Can Pea,$19.68 +Spice - Onion Powder Granulated,$3.07 +Bread - Raisin Walnut Pull,$11.95 +"Sauce - White, Mix",$9.36 +"Pasta - Canelloni, Single Serve",$23.54 +Ice Cream Bar - Hagen Daz,$12.52 +"Oil - Truffle, White",$4.54 +"Marsala - Sperone, Fine, D.o.c.",$6.99 +Sour Puss Raspberry,$12.06 +Bread - Bistro Sour,$18.02 +Wine - Prosecco Valdobienne,$8.25 +Carrots - Jumbo,$5.47 +Longos - Grilled Salmon With Bbq,$3.74 +Toamtoes 6x7 Select,$18.88 +Pea - Snow,$25.06 +Wine - Cabernet Sauvignon,$15.48 +Potatoes - Mini White 3 Oz,$8.40 +Wine - Jaboulet Cotes Du Rhone,$29.47 +"Wine - Red, Concha Y Toro",$26.31 +Pork - Bacon Cooked Slcd,$27.65 +Cheese - Grana Padano,$3.78 +Juice - Orangina,$18.46 +Sponge Cake Mix - Chocolate,$10.70 +Sprouts - Baby Pea Tendrils,$23.85 +Muffin Mix - Blueberry,$18.03 +"Rum - Dark, Bacardi, Black",$28.13 +Blueberries,$7.45 +Truffle Shells - Semi - Sweet,$9.52 +Brandy Apricot,$12.03 +Cheese - Montery Jack,$6.03 +Foie Gras,$4.28 +Bacardi Raspberry,$5.35 +Raspberries - Frozen,$20.80 +"Doilies - 8, Paper",$25.54 +"Stock - Beef, White",$24.21 +Apples - Spartan,$8.58 +Flavouring Vanilla Artificial,$1.19 +Cheese - Parmesan Cubes,$16.28 +Cheese - Brick With Pepper,$28.91 +Mayonnaise - Individual Pkg,$19.18 +Nantucket Orange Juice,$22.66 +Energy Drink,$6.11 +Okra,$15.92 +Bread - Ciabatta Buns,$21.67 +Lotus Rootlets - Canned,$11.56 +Cup - 4oz Translucent,$6.18 +Oneshot Automatic Soap System,$11.00 +Cookie Chocolate Chip With,$20.35 +Tea - Jasmin Green,$18.33 +Bread - Olive Dinner Roll,$17.77 +Bacardi Limon,$10.81 +Oil - Peanut,$27.36 +Glucose,$7.02 +Nescafe - Frothy French Vanilla,$17.41 +Bread - Malt,$8.36 +Sauce - Oyster,$29.77 +Sugar - Monocystal / Rock,$26.25 +Wine - Sogrape Mateus Rose,$28.74 +Drambuie,$28.20 +Lambcasing,$21.09 +Tequila - Sauza Silver,$8.12 +"Wine - White, Ej Gallo",$12.61 +"Crab - Claws, 26 - 30",$13.08 +Wine - Rioja Campo Viejo,$7.71 +Veal - Kidney,$28.44 +Dried Figs,$28.71 +Carrots - Mini Red Organic,$28.19 +Tea - Black Currant,$1.50 +Cookie Chocolate Chip With,$27.46 +"Onions - Dried, Chopped",$11.33 +Cleaner - Bleach,$13.68 +Wine - Fat Bastard Merlot,$10.12 +Sprouts - China Rose,$23.71 +Muffin Mix - Blueberry,$12.86 +Sage - Ground,$15.50 +"Soup - Beef, Base Mix",$3.87 +Pork - Shoulder,$18.44 +"Flour - Bran, Red",$18.04 +Rolled Oats,$14.86 +White Fish - Filets,$25.35 +Bagel - Whole White Sesame,$1.26 +Bagel - Everything Presliced,$20.13 +Orange - Blood,$2.76 +Gatorade - Xfactor Berry,$26.78 +Lemon Grass,$14.05 +Celery Root,$14.39 +Sour Puss Sour Apple,$15.99 +Vinegar - Cider,$2.53 +"Pasta - Penne, Rigate, Dry",$25.36 +Foil Cont Round,$15.41 +Potatoes - Idaho 100 Count,$28.41 +Flower - Leather Leaf Fern,$29.83 +Tea - Green,$18.60 +"Juice - Apple, 1.36l",$9.41 +Oranges,$20.70 +Cheese - Taleggio D.o.p.,$10.88 +Cheese - Perron Cheddar,$16.42 +Pickles - Gherkins,$20.11 +"Wine - Red, Mouton Cadet",$12.50 +Broom - Push,$1.81 +"Beef - Rib Roast, Cap On",$9.01 +Sugar Thermometer,$19.79 +Pastry - Apple Large,$27.60 +Creamers - 10%,$26.95 +Beer - Upper Canada Lager,$11.82 +Mint - Fresh,$7.12 +Wine - Piper Heidsieck Brut,$22.68 +Pop - Club Soda Can,$20.45 +Wine - Cousino Macul Antiguas,$9.12 +Juice - Lemon,$23.92 +Sugar - Brown,$4.73 +Table Cloth 72x144 White,$15.83 +Wine - Fino Tio Pepe Gonzalez,$6.18 +"Pork - Loin, Center Cut",$8.92 +Container - Clear 16 Oz,$5.77 +Beef Tenderloin Aaa,$15.03 +Chicken - Soup Base,$23.89 +Soup - Campbells Beef Noodle,$1.68 +Chicken Thigh - Bone Out,$8.12 +Foam Espresso Cup Plain White,$1.92 +deneme,500 diff --git a/Projects/Bugbusters/static/icons/application_go.svg b/Projects/Bugbusters/static/icons/application_go.svg new file mode 100644 index 000000000..3ef61c6ac --- /dev/null +++ b/Projects/Bugbusters/static/icons/application_go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/application_link.svg b/Projects/Bugbusters/static/icons/application_link.svg new file mode 100644 index 000000000..238c5ce31 --- /dev/null +++ b/Projects/Bugbusters/static/icons/application_link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/arrow_refresh_small.svg b/Projects/Bugbusters/static/icons/arrow_refresh_small.svg new file mode 100644 index 000000000..96d0e8ed1 --- /dev/null +++ b/Projects/Bugbusters/static/icons/arrow_refresh_small.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/bullet_arrow_bottom.svg b/Projects/Bugbusters/static/icons/bullet_arrow_bottom.svg new file mode 100644 index 000000000..a66320c42 --- /dev/null +++ b/Projects/Bugbusters/static/icons/bullet_arrow_bottom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/bullet_arrow_down.svg b/Projects/Bugbusters/static/icons/bullet_arrow_down.svg new file mode 100644 index 000000000..dbf419eea --- /dev/null +++ b/Projects/Bugbusters/static/icons/bullet_arrow_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/bullet_arrow_top.svg b/Projects/Bugbusters/static/icons/bullet_arrow_top.svg new file mode 100644 index 000000000..8f920e083 --- /dev/null +++ b/Projects/Bugbusters/static/icons/bullet_arrow_top.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/bullet_arrow_up.svg b/Projects/Bugbusters/static/icons/bullet_arrow_up.svg new file mode 100644 index 000000000..554e0742a --- /dev/null +++ b/Projects/Bugbusters/static/icons/bullet_arrow_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/cancel.svg b/Projects/Bugbusters/static/icons/cancel.svg new file mode 100644 index 000000000..9647fab8d --- /dev/null +++ b/Projects/Bugbusters/static/icons/cancel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/cog.svg b/Projects/Bugbusters/static/icons/cog.svg new file mode 100644 index 000000000..ea843f8ec --- /dev/null +++ b/Projects/Bugbusters/static/icons/cog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/cog_go.svg b/Projects/Bugbusters/static/icons/cog_go.svg new file mode 100644 index 000000000..3053112c1 --- /dev/null +++ b/Projects/Bugbusters/static/icons/cog_go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/cross.svg b/Projects/Bugbusters/static/icons/cross.svg new file mode 100644 index 000000000..9a0d2ff14 --- /dev/null +++ b/Projects/Bugbusters/static/icons/cross.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/database.svg b/Projects/Bugbusters/static/icons/database.svg new file mode 100644 index 000000000..25dcd7176 --- /dev/null +++ b/Projects/Bugbusters/static/icons/database.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/database_add.svg b/Projects/Bugbusters/static/icons/database_add.svg new file mode 100644 index 000000000..1ad18926d --- /dev/null +++ b/Projects/Bugbusters/static/icons/database_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/database_go.svg b/Projects/Bugbusters/static/icons/database_go.svg new file mode 100644 index 000000000..15b6451b2 --- /dev/null +++ b/Projects/Bugbusters/static/icons/database_go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/database_link.svg b/Projects/Bugbusters/static/icons/database_link.svg new file mode 100644 index 000000000..f48b0464b --- /dev/null +++ b/Projects/Bugbusters/static/icons/database_link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/database_refresh.svg b/Projects/Bugbusters/static/icons/database_refresh.svg new file mode 100644 index 000000000..ada718914 --- /dev/null +++ b/Projects/Bugbusters/static/icons/database_refresh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/database_save.svg b/Projects/Bugbusters/static/icons/database_save.svg new file mode 100644 index 000000000..ee26191ed --- /dev/null +++ b/Projects/Bugbusters/static/icons/database_save.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/edit_cut.svg b/Projects/Bugbusters/static/icons/edit_cut.svg new file mode 100644 index 000000000..3abc76739 --- /dev/null +++ b/Projects/Bugbusters/static/icons/edit_cut.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/find_edit.svg b/Projects/Bugbusters/static/icons/find_edit.svg new file mode 100644 index 000000000..17db094c0 --- /dev/null +++ b/Projects/Bugbusters/static/icons/find_edit.svg @@ -0,0 +1,478 @@ + + + + + + image/svg+xml + + Find Edit + + + + + Find Edit + Find Edit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Bugbusters/static/icons/help.svg b/Projects/Bugbusters/static/icons/help.svg new file mode 100644 index 000000000..5dc92b7c0 --- /dev/null +++ b/Projects/Bugbusters/static/icons/help.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/icons.qrc b/Projects/Bugbusters/static/icons/icons.qrc new file mode 100644 index 000000000..4629144ba --- /dev/null +++ b/Projects/Bugbusters/static/icons/icons.qrc @@ -0,0 +1,109 @@ + + + application_go.svg + application_link.svg + application_side_list.svg + arrow_refresh_small.svg + bullet_arrow_bottom.svg + bullet_arrow_down.svg + bullet_arrow_top.svg + bullet_arrow_up.svg + cancel.svg + chart_curve.svg + funnel_delete.svg + clear_sorting.svg + cog.svg + cog_go.svg + color_swatch.svg + cross.svg + edit_cut.svg + database.svg + database_add.svg + database_go.svg + database_link.svg + database_refresh.svg + database_save.svg + database_save.svg + funnel.svg + folder.svg + folder_page.svg + folder_user.svg + font.svg + font_add.svg + font_delete.svg + font_edit.svg + help.svg + hourglass.svg + key.svg + layout_sidebar.svg + link_break.svg + monitor_link.svg + package.svg + package_go.svg + package_rename.svg + package_save.svg + page_add.svg + page_copy.svg + script_copy.svg + page_delete.svg + page_edit.svg + page_find.svg + page_green.svg + page_key.svg + page_link.svg + page_white_color.svg + page_paste.svg + page_save.svg + page_white_copy.svg + page_white_database.svg + page_white_text.svg + picture.svg + picture_add.svg + picture_delete.svg + picture_edit.svg + picture_save.svg + plugin_add.svg + plugin_delete.svg + printer.svg + resultset_first.svg + resultset_last.svg + resultset_next.svg + resultset_previous.svg + script.svg + script_add.svg + script_delete.svg + script_edit.svg + script_link.svg + server_add.svg + server_go.svg + sqlitebrowser.png + tab.svg + tab_add.svg + table.svg + table_add.svg + table_delete.svg + table_edit.svg + table_key.svg + table_row_delete.svg + table_row_insert.svg + table_save.svg + tag_blue.svg + tag_blue_add.svg + tag_blue_delete.svg + tag_blue_edit.svg + text_align_center.svg + text_align_justify.svg + text_align_left.svg + text_align_right.svg + text_bold.svg + text_italic.svg + text_padding_left.svg + text_padding_top.svg + color_wheel.svg + find_edit.svg + text_underlined.svg + textfield_delete.svg + wrench.svg + undo.svg + + diff --git a/Projects/Bugbusters/static/icons/icons8-refresh.svg b/Projects/Bugbusters/static/icons/icons8-refresh.svg new file mode 100644 index 000000000..8c75b38a1 --- /dev/null +++ b/Projects/Bugbusters/static/icons/icons8-refresh.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/indent-solid.svg b/Projects/Bugbusters/static/icons/indent-solid.svg new file mode 100644 index 000000000..eba47e967 --- /dev/null +++ b/Projects/Bugbusters/static/icons/indent-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/package.svg b/Projects/Bugbusters/static/icons/package.svg new file mode 100644 index 000000000..cca19521e --- /dev/null +++ b/Projects/Bugbusters/static/icons/package.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/package_go.svg b/Projects/Bugbusters/static/icons/package_go.svg new file mode 100644 index 000000000..c68be1917 --- /dev/null +++ b/Projects/Bugbusters/static/icons/package_go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/package_rename.svg b/Projects/Bugbusters/static/icons/package_rename.svg new file mode 100644 index 000000000..b9afe334f --- /dev/null +++ b/Projects/Bugbusters/static/icons/package_rename.svg @@ -0,0 +1,357 @@ + + + + + + image/svg+xml + + Package + + + + + + + + + + + + + + + + + + Package + Package Software + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Bugbusters/static/icons/package_save.svg b/Projects/Bugbusters/static/icons/package_save.svg new file mode 100644 index 000000000..9978fdaed --- /dev/null +++ b/Projects/Bugbusters/static/icons/package_save.svg @@ -0,0 +1,603 @@ + + + + + + image/svg+xml + + Package + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Package + Package Software + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/Bugbusters/static/icons/package_world.svg b/Projects/Bugbusters/static/icons/package_world.svg new file mode 100644 index 000000000..e42fd3e37 --- /dev/null +++ b/Projects/Bugbusters/static/icons/package_world.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/page_add.svg b/Projects/Bugbusters/static/icons/page_add.svg new file mode 100644 index 000000000..5074d0c64 --- /dev/null +++ b/Projects/Bugbusters/static/icons/page_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/page_save.svg b/Projects/Bugbusters/static/icons/page_save.svg new file mode 100644 index 000000000..42f7a12bf --- /dev/null +++ b/Projects/Bugbusters/static/icons/page_save.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/page_white_text.svg b/Projects/Bugbusters/static/icons/page_white_text.svg new file mode 100644 index 000000000..ca5950b3b --- /dev/null +++ b/Projects/Bugbusters/static/icons/page_white_text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/picture.svg b/Projects/Bugbusters/static/icons/picture.svg new file mode 100644 index 000000000..608ab8412 --- /dev/null +++ b/Projects/Bugbusters/static/icons/picture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/picture_add.svg b/Projects/Bugbusters/static/icons/picture_add.svg new file mode 100644 index 000000000..98c1c4cda --- /dev/null +++ b/Projects/Bugbusters/static/icons/picture_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/plugin_add.svg b/Projects/Bugbusters/static/icons/plugin_add.svg new file mode 100644 index 000000000..b416e14ce --- /dev/null +++ b/Projects/Bugbusters/static/icons/plugin_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/printer.svg b/Projects/Bugbusters/static/icons/printer.svg new file mode 100644 index 000000000..56b5787b4 --- /dev/null +++ b/Projects/Bugbusters/static/icons/printer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/server_go.svg b/Projects/Bugbusters/static/icons/server_go.svg new file mode 100644 index 000000000..4609516a6 --- /dev/null +++ b/Projects/Bugbusters/static/icons/server_go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/sqlitebrowser.png b/Projects/Bugbusters/static/icons/sqlitebrowser.png new file mode 100644 index 000000000..7897a11e5 Binary files /dev/null and b/Projects/Bugbusters/static/icons/sqlitebrowser.png differ diff --git a/Projects/Bugbusters/static/icons/tab_add.svg b/Projects/Bugbusters/static/icons/tab_add.svg new file mode 100644 index 000000000..b76986388 --- /dev/null +++ b/Projects/Bugbusters/static/icons/tab_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/tag_blue.svg b/Projects/Bugbusters/static/icons/tag_blue.svg new file mode 100644 index 000000000..bf9bcc000 --- /dev/null +++ b/Projects/Bugbusters/static/icons/tag_blue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/tag_blue_add.svg b/Projects/Bugbusters/static/icons/tag_blue_add.svg new file mode 100644 index 000000000..11d195a27 --- /dev/null +++ b/Projects/Bugbusters/static/icons/tag_blue_add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/icons/tag_blue_delete.svg b/Projects/Bugbusters/static/icons/tag_blue_delete.svg new file mode 100644 index 000000000..8a400633d --- /dev/null +++ b/Projects/Bugbusters/static/icons/tag_blue_delete.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Projects/Bugbusters/static/script.js b/Projects/Bugbusters/static/script.js new file mode 100644 index 000000000..cfdbb7750 --- /dev/null +++ b/Projects/Bugbusters/static/script.js @@ -0,0 +1,1727 @@ +// Database Structure Buton +const dbStructure = document.getElementById("dbStructure"); + +//buttons +const removeButton = document.getElementById("removeBButton"); +const moveTopButton = document.getElementById("moveTButton"); +const moveUpButton = document.getElementById("moveUButton"); +const moveDownButton = document.getElementById("moveDButton"); +const moveBottomButton = document.getElementById("moveBButton"); +const filePath = document.getElementById("filePath").value; +const fileName = document.getElementById("fileName").value; +const modalButton = document.getElementById("modalButton"); +const spButton = document.getElementById("save-project"); +const adButton = document.getElementById("ad-database"); +const cButton = document.getElementById("c-database"); +const fad = document.querySelector(".ddia>a#f-ad"); +const fcd = document.querySelector("#f-cd"); +const fsp = document.querySelector(".ddia>a#f-sp"); +const fspa = document.querySelector(".ddia>a#f-spa"); +const fsa = document.querySelector(".ddia>a#f-sa"); +const mCT = document.getElementById("mCT"); +const mCI = document.getElementById("mCI"); +const openProject = document.getElementById("openProject"); +const saveProject = document.getElementById("save-project"); +const adDatabase = document.getElementById("ad-database"); +const createTable = document.getElementById("createTable"); +const modifyTable = document.getElementById("modifyTable"); +const deleteTable = document.getElementById("deleteTable"); +const openDataB = document.getElementById("f-open-db"); +const openDatabase = document.getElementById("openDB"); +const closeFileDB = document.getElementById("f-cd"); +const closeDB = document.getElementById("c-database"); +const fileInput = document.getElementById("formFile"); +const compactDB = document.getElementById("t-cd"); +const loadE = document.getElementById("t-le"); +const integrityCheck = document.getElementById("t-ic"); +const quickIntegrityCheck = document.getElementById("t-qic"); +const fkCheck = document.getElementById("t-fkc"); +const optimize = document.getElementById("t-o"); +const csvFile = document.getElementById("csvFile"); +const cancelFile = document.getElementById("cancelFile"); +const cancelButton = document.getElementById("sqlQueryCancel"); +const csv = document.getElementById("csv"); +const ucsv = document.getElementById("uploadCSV"); +const csvOK = document.getElementById("csvOK"); +const tableToCSV = document.getElementById("tableToCSV"); +const tableToJSON = document.getElementById("tableToJSON"); + +dbStructure.addEventListener("click", () => { + const text = dbStructure.textContent; + console.log(text); +}); + +// Browse Data Buton +const browseDataButton = document.getElementById("browseData"); + +browseDataButton.addEventListener("click", async () => { + fetch("/show_table") + .then((response) => response.json()) + .then((data) => { + if (data.tables) { + const tableData = data.tables; + const genisEkran = document.querySelector(".genisEkran"); + genisEkran.innerHTML = ""; + + for (const tableName in tableData) { + const columns = tableData[tableName].columns; + const rows = tableData[tableName].data; + + // Create table element with Bootstrap classes + const table = document.createElement("table"); + table.classList.add("table", "table-striped", "table-bordered"); + const thead = document.createElement("thead"); + const tbody = document.createElement("tbody"); + + // Create table header with search boxes + const headerRow = document.createElement("tr"); + const searchRow = document.createElement("tr"); + + columns.forEach((column) => { + const th = document.createElement("th"); + th.textContent = column; + headerRow.appendChild(th); + + const searchTh = document.createElement("th"); + const searchInput = document.createElement("input"); + searchInput.type = "text"; + searchInput.placeholder = `Search ${column}`; + searchInput.setAttribute("data-column", column); + searchInput.addEventListener("input", function () { + filterTable(table, column, this.value); + }); + searchTh.appendChild(searchInput); + searchRow.appendChild(searchTh); + }); + + thead.appendChild(headerRow); + thead.appendChild(searchRow); + + // Create table body + rows.forEach((row) => { + const tr = document.createElement("tr"); + row.forEach((cell) => { + const td = document.createElement("td"); + td.textContent = cell; + tr.appendChild(td); + }); + tbody.appendChild(tr); + }); + + table.appendChild(thead); + table.appendChild(tbody); + genisEkran.appendChild(table); + } + } + }) + .catch((error) => console.error("Error:", error)); +}); + +function filterTable(table, column, query) { + const rows = table.getElementsByTagName("tr"); + const headerCells = rows[0].getElementsByTagName("th"); + let columnIndex; + + for (let i = 0; i < headerCells.length; i++) { + if (headerCells[i].textContent === column) { + columnIndex = i; + break; + } + } + + for (let i = 2; i < rows.length; i++) { + // start from 2 to skip header and search rows + const cells = rows[i].getElementsByTagName("td"); + if ( + cells[columnIndex].textContent.toLowerCase().includes(query.toLowerCase()) + ) { + rows[i].style.display = ""; + } else { + rows[i].style.display = "none"; + } + } +} + +// edit Paragmas Buton +const editParagmas = document.getElementById("editParagmas"); + +editParagmas.addEventListener("click", () => { + const text = editParagmas.textContent; + console.log(text); +}); + +// execute SQL Buton +const executeSQL = document.getElementById("executeSQL"); + +executeSQL.addEventListener("click", () => { + const genisEkranDiv = document.querySelector(".row.genisEkran"); + genisEkranDiv.innerHTML = ""; + + const col = document.createElement("div"); + col.classList.add("col"); + + const icons = document.createElement("div"); + icons.classList.add("row", "align-items-center"); + icons.style.height = "30px"; + icons.style.display = "flex"; + icons.style.marginBottom = "8px"; + + const button1 = document.createElement("button"); + button1.classList.add("btn"); + button1.type = "button"; + button1.classList.add("execute-sql-buttons"); + const img1 = document.createElement("img"); + img1.src = "../static/icons/tab_add.svg"; // İlk ikonun resmi yolu + img1.style.width = "100%"; + button1.appendChild(img1); + icons.appendChild(button1); + const button2 = document.createElement("button"); + button2.classList.add("btn"); + button2.type = "button"; + button2.classList.add("execute-sql-buttons"); + const iconClass2 = ["fa-regular", "fa-file", "fa-xs"]; + const iconColor = "#0b3275"; + const iconElement = document.createElement("i"); + iconClass2.forEach((cls) => iconElement.classList.add(cls)); + iconElement.style.color = iconColor; + button2.appendChild(iconElement); + icons.appendChild(button2); + const button3 = document.createElement("button"); + button3.classList.add("btn"); + button3.type = "button"; + button3.classList.add("execute-sql-buttons"); + const img3 = document.createElement("img"); + img3.src = "../static/icons/page_save.svg"; // İlk ikonun resmi yolu + img3.style.width = "100%"; + button3.appendChild(img3); + icons.appendChild(button3); + const button4 = document.createElement("button"); + button4.classList.add("btn"); + button4.type = "button"; + button4.classList.add("execute-sql-buttons"); + const img4 = document.createElement("img"); + img4.src = "../static/icons/printer.svg"; // İlk ikonun resmi yolu + img4.style.width = "100%"; + button4.appendChild(img4); + icons.appendChild(button4); + const button5 = document.createElement("button"); + button5.classList.add("btn"); + button5.type = "button"; + button5.classList.add("execute-sql-buttons"); + button5.classList.add("disabled"); + button5.id = "executeSQLB"; + const img5 = document.createElement("img"); + img5.src = "../static/icons/resultset_next.svg"; // İlk ikonun resmi yolu + img5.style.width = "100%"; + button5.appendChild(img5); + icons.appendChild(button5); + const button6 = document.createElement("button"); + button6.classList.add("btn"); + button6.type = "button"; + button6.id = "executeCurrent"; + button6.classList.add("execute-sql-buttons"); + button6.classList.add("disabled"); + const img6 = document.createElement("img"); + img6.src = "../static/icons/resultset_last.svg"; // İlk ikonun resmi yolu + img6.style.width = "100%"; + button6.appendChild(img6); + icons.appendChild(button6); + const button7 = document.createElement("button"); + button7.classList.add("btn"); + button7.type = "button"; + button7.classList.add("execute-sql-buttons"); + button7.classList.add("disabled"); + button7.id = "stopSQL"; + const img7 = document.createElement("img"); + img7.src = "../static/icons/cancel.svg"; // İlk ikonun resmi yolu + img7.style.width = "100%"; + button7.appendChild(img7); + icons.appendChild(button7); + const button8 = document.createElement("button"); + button8.classList.add("btn"); + button8.type = "button"; + button8.classList.add("execute-sql-buttons"); + button8.classList.add("disabled"); + button8.id = "saveResult"; + const img8 = document.createElement("img"); + img8.src = "../static/icons/table_save.svg"; // İlk ikonun resmi yolu + img8.style.width = "100%"; + button8.appendChild(img8); + icons.appendChild(button8); + const button9 = document.createElement("button"); + button9.classList.add("btn"); + button9.type = "button"; + button9.classList.add("execute-sql-buttons"); + const img9 = document.createElement("img"); + img9.src = "../static/icons/page_find.svg"; // İlk ikonun resmi yolu + img9.style.width = "100%"; + button9.appendChild(img9); + icons.appendChild(button9); + const button10 = document.createElement("button"); + button10.classList.add("btn"); + button10.type = "button"; + button10.classList.add("execute-sql-buttons"); + const iconClass10 = ["fa-solid", "fa-spell-check", "fa-xs"]; + const iconColor10 = "#3960a2"; + const iconElement10 = document.createElement("i"); + iconClass10.forEach((cls) => iconElement10.classList.add(cls)); + iconElement10.style.color = iconColor10; + button10.appendChild(iconElement10); + icons.appendChild(button10); + const button11 = document.createElement("button"); + button11.classList.add("btn"); + button11.type = "button"; + button11.classList.add("execute-sql-buttons"); + const iconClass11 = ["fa-solid", "fa-indent", "fa-xs"]; + const iconColor11 = "#03682a"; + const iconElement11 = document.createElement("i"); + iconClass11.forEach((cls) => iconElement11.classList.add(cls)); + iconElement11.style.color = iconColor11; + button11.appendChild(iconElement11); + icons.appendChild(button11); + + col.appendChild(icons); + + const sqlQ = document.createElement("div"); + sqlQ.classList.add("sqlQ"); + const sqlQ_main = document.createElement("div"); + sqlQ_main.classList.add("sqlQ_main"); + const sqlQ_body = document.createElement("div"); + sqlQ_body.classList.add("sqlQ_body"); + const queryBox = document.createElement("div"); + const classnames = ["queryBox", "btn"]; + classnames.forEach((cls) => queryBox.classList.add(cls)); + queryBox.textContent = "Query 1"; + queryBox.classList.toggle("active"); + sqlQ_main.appendChild(queryBox); + sqlQ_main.appendChild(sqlQ_body); + col.appendChild(sqlQ); + + // col1 ve col2 içerisine inner1 ve inner2 div ekle + const inner1 = document.createElement("div"); + inner1.classList.add("inner-box-left"); + // Yeni bir satır div oluştur ve içeriğine "1" yaz + const rowDiv = document.createElement("div"); + rowDiv.textContent = "1"; + rowDiv.classList.add("row-item"); // Satır gibi davranması için bir sınıf ekleyin (CSS ile stil verebilirsiniz) + inner1.appendChild(rowDiv); + + const inner2 = document.createElement("div"); + inner2.classList.add("inner-box-right"); + const textarea = document.createElement("textarea"); + textarea.style.width = "100%"; // Genişlik ayarı + textarea.style.height = "-webkit-fill-available"; // Yükseklik ayarı + textarea.id = "sql-textarea"; + inner2.appendChild(textarea); + + sqlQ_body.appendChild(inner1); + sqlQ_body.appendChild(inner2); + + sqlQ_main.appendChild(sqlQ_body); + + // Ana col'a sqlQ_main'i ekle + sqlQ.appendChild(sqlQ_main); + + // Geniş Ekran div'ine ana col'u ekle + genisEkranDiv.appendChild(col); + const sqlText = document.getElementById("sql-textarea"); + + let counter = 2; // Sayacı dışarıda tanımlıyoruz, böylece her olay tetiklendiğinde sıfırlanmaz + + sqlText.addEventListener("keydown", (event) => { + if (event.key === "Enter") { + const newRow = document.createElement("div"); + newRow.classList.add("row-item"); + newRow.style.overflowY = "auto "; + newRow.textContent = counter; + inner1.appendChild(newRow); + counter++; + } else if (event.key === "Backspace") { + // Backspace tuşuna basıldığında gerçekleşecek işlemler + const cursorPosition = sqlText.selectionStart; + + // Metin alanının başında değilse ve mevcut satır boşsa + if ( + cursorPosition !== 0 && + sqlText.value.charAt(cursorPosition - 1) === "\n" + ) { + // İlgili satırı sil + const lines = sqlText.value.split("\n"); + const lineIndex = + sqlText.value.substr(0, cursorPosition).split("\n").length - 1; + + if (lines[lineIndex].trim() === "") { + // Satırda hiç karakter yoksa, row-item'ı sil + const rowItems = inner1.querySelectorAll(".row-item"); + if (rowItems.length > 0) { + inner1.removeChild(rowItems[rowItems.length - 1]); + } + counter--; + } + } + } + }); + if (dbOpened) { + const executeSQLButton = document.getElementById("executeSQLB"); + executeSQLButton.classList.remove("disabled"); + const executeCurrentButton = document.getElementById("executeCurrent"); + executeCurrentButton.classList.remove("disabled"); + const stopSQLButton = document.getElementById("stopSQL"); + stopSQLButton.classList.remove("disabled"); + const saveResultButton = document.getElementById("saveResult"); + saveResultButton.classList.remove("disabled"); + executeSQLB.addEventListener("click", async () => { + const sqlQuery = document.getElementById("sql-textarea").value; + try { + const response = await fetch("/execute_sql", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ sql_query: sqlQuery }), + }); + + const result = await response.json(); + if (response.ok) { + const columnNames = result.data.column_names; + const sqlResults = result.data.result; + console.log("Column names:", columnNames); + console.log("Result:", sqlResults); + + // Tablo öğesini oluşturun + const table = document.createElement("table"); + table.classList.add("table"); + + // Tablonun başlığını oluşturun + const tableHead = document.createElement("thead"); + const headRow = document.createElement("tr"); + + // Satır numarası için başlık oluşturun + const thRowNum = document.createElement("th"); + thRowNum.setAttribute("scope", "col"); + thRowNum.textContent = "#"; + headRow.appendChild(thRowNum); + + // Attribute başlıklarını oluşturun + columnNames.forEach((columnName, index) => { + const th = document.createElement("th"); + th.setAttribute("scope", "col"); + th.textContent = columnName; + headRow.appendChild(th); + }); + + tableHead.appendChild(headRow); + table.appendChild(tableHead); + + // Tablonun gövdesini oluşturun + const tableBody = document.createElement("tbody"); + + // SQL sonuçlarını tabloya ekleyin + sqlResults.forEach((row, index) => { + const tr = document.createElement("tr"); + + // Satır numarasını ekle + const thRowIndex = document.createElement("th"); + thRowIndex.setAttribute("scope", "row"); + thRowIndex.textContent = index + 1; + tr.appendChild(thRowIndex); + + // Her bir attribute için bir td oluşturun + row.forEach((item) => { + const td = document.createElement("td"); + td.textContent = item; + tr.appendChild(td); + }); + + tableBody.appendChild(tr); + }); + + table.appendChild(tableBody); + + // Önceki sonuçları temizleyin + const sqlQM = document.querySelector(".sqlQ_main"); + const previousResults = sqlQM.querySelectorAll(".sqlQ_result"); + previousResults.forEach((result) => { + result.remove(); + }); + + // Yeni sonuçları sayfaya ekleyin + const sqlQResult = document.createElement("div"); + sqlQResult.classList.add("sqlQ_result"); + sqlQResult.appendChild(table); + sqlQM.appendChild(sqlQResult); + + if (dbOpened) { + const executeSQLButton = document.getElementById("executeSQLB"); + executeSQLButton.classList.remove("disabled"); + const executeCurrentButton = + document.getElementById("executeCurrent"); + executeCurrentButton.classList.remove("disabled"); + const stopSQLButton = document.getElementById("stopSQL"); + stopSQLButton.classList.remove("disabled"); + const saveResultButton = document.getElementById("saveResult"); + saveResultButton.classList.remove("disabled"); + } + } else { + alert(result.error || result.message); + } + } catch (error) { + console.error( + "An error occurred while executing the SQL query:", + error + ); + } + }); + } +}); + +document.addEventListener("DOMContentLoaded", function () { + // "cog" sınıfına sahip div'i seç + const cogDiv = document.querySelector(".cog"); + + // Tıklanan resmin görünürlüğünü değiştiren bir olay dinleyici ekle + cogDiv.addEventListener("click", function (event) { + // Tıklanan öğe bir resim mi kontrol et + if (event.target.tagName === "IMG") { + // Tıklanan resmin görünürlüğünü değiştir + event.target.classList.toggle("hidden"); + + // Diğer resmin görünürlüğünü değiştir + const otherImage = event.target.nextElementSibling; + if (otherImage) { + otherImage.classList.toggle("hidden"); + } else { + // Diğer resim yoksa (yani son resim görüntüleniyorsa), ilk resmi görünür yap + const firstImage = event.target.previousElementSibling; + if (firstImage) { + firstImage.classList.remove("hidden"); + } + } + } + }); +}); + +// Remote daki buttonlar için +document.addEventListener("DOMContentLoaded", function () { + const buttons = document.querySelectorAll(".btn-group .menu-btn"); + + buttons[0].classList.add("active"); + + buttons.forEach((button) => { + button.addEventListener("click", function () { + buttons.forEach((btn) => btn.classList.remove("active")); + this.classList.add("active"); + }); + }); +}); + +document.addEventListener("DOMContentLoaded", function () { + const buttons = document.querySelectorAll(".btn-group .menu-btns"); + + buttons[0].classList.add("active"); + + buttons.forEach((button) => { + button.addEventListener("click", function () { + buttons.forEach((btn) => btn.classList.remove("active")); + this.classList.add("active"); + }); + }); +}); + +function openFileInput() { + document.getElementById("fileInput").click(); +} + +document.getElementById("dbbutton").addEventListener("click", () => { + const fileNewDBBut = document.getElementById("fileNewDB"); + fileNewDBBut.click(); +}); + +document.getElementById("fileNewDB").addEventListener("click", async () => { + const response = await fetch("/fileinfo"); + const data = await response.json(); + document.getElementById("filePath").value = data.file_path; +}); + +// file-new-db div tıklanıldığında fileNewDB butonunu tıklat +document.getElementById("file-new-db").addEventListener("click", () => { + const fileNewDBBut = document.getElementById("fileNewDB"); + fileNewDBBut.click(); +}); +// backendden database klasörünün konumunu döndürür. +document.getElementById("fileNewDB").addEventListener("click", async () => { + const response = await fetch("/fileinfo"); + const data = await response.json(); + document.getElementById("filePath").value = data.file_path; +}); + +// modaldan dosya adı girilip save a basılırsa bu bilgiler backend e gönderilir. 2. Modal açılır. +document.getElementById("saveFile").addEventListener("click", async () => { + try { + const filePath = document.getElementById("filePath").value; + const fileName = document.getElementById("fileName").value; + const response = await fetch("/save", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ file_path: filePath, file_name: fileName }), + }); + + const result = await response.json(); + console.log(result); + if (response.ok) { + spButton.disabled = false; + adButton.disabled = false; + cButton.disabled = false; + mCT.disabled = false; + mCI.disabled = false; + fad.classList.remove("disabled"); + fcd.classList.remove("disabled"); + fsp.classList.remove("disabled"); + fspa.classList.remove("disabled"); + fsa.classList.remove("disabled"); + createTable.classList.remove("disabled"); + modifyTable.classList.remove("disabled"); + deleteTable.classList.remove("disabled"); + modalButton.click(); + mainWindow(result); + executeSQLB.classList.remove("disabled"); + } else { + console.log(result.error || result.message); // Hata mesajını ekrana basıyoruz + } + } catch (error) { + console.log("An error occurred:", error); + } +}); + +// Dosya adı giriş alanını seçin +const fileNameInput = document.getElementById("fileName"); + +// Save butonunu seçin +const saveButton = document.getElementById("saveFile"); + +// Dosya adı giriş alanında bir tuşa basıldığında bu fonksiyonu çalıştırın +fileNameInput.addEventListener("keyup", function () { + // Dosya adı giriş alanının değerini alın + const fileNameValue = fileNameInput.value.trim(); + + // Dosya adı giriş alanı boş değilse veya sadece boşluklardan oluşmuyorsa + if (fileNameValue) { + // Save butonundaki disabled sınıfını kaldırın + saveButton.classList.remove("disabled"); + } else { + // Dosya adı giriş alanı boşsa veya sadece boşluklardan oluşuyorsa + // Save butonuna disabled sınıfını ekleyin + saveButton.classList.add("disabled"); + } +}); + +// Modal içindeki butonlar için +document.addEventListener("DOMContentLoaded", function () { + const buttons = document.querySelectorAll(".tfac"); + + buttons[0].classList.add("active"); + + buttons.forEach((button) => { + button.addEventListener("click", function () { + buttons.forEach((btn) => btn.classList.remove("active")); + this.classList.add("active"); + }); + }); +}); + +// Butonun devre dışı olup olmadığını kontrol eden fonksiyon +function toggleButtonCursor() { + //divs + const removeButton = document.getElementById("removeButton"); + const moveTopButton = document.getElementById("moveTopButton"); + const moveUpButton = document.getElementById("moveUpButton"); + const moveDownButton = document.getElementById("moveDownButton"); + const moveBottomButton = document.getElementById("moveBottomButton"); + + if ( + removeButton.classList.contains("disabled") || + moveTopButton.classList.contains("disabled") || + moveUpButton.classList.contains("disabled") || + moveDownButton.classList.contains("disabled") || + moveBottomButton.classList.contains("disabled") + ) { + removeButton.style.cursor = "default"; + moveTopButton.style.cursor = "default"; + moveUpButton.style.cursor = "default"; + moveDownButton.style.cursor = "default"; + moveBottomButton.style.cursor = "default"; + } else { + removeButton.style.cursor = "pointer"; + moveTopButton.style.cursor = "pointer"; + moveUpButton.style.cursor = "pointer"; + moveDownButton.style.cursor = "pointer"; + moveBottomButton.style.cursor = "pointer"; + } +} + +// Sayfa yüklendiğinde ve buton durumu değiştiğinde çağrılır +document.addEventListener("DOMContentLoaded", function () { + toggleButtonCursor(); +}); + +// Modalda tablo oluştur butonuna tıklandığında +class QueryDivManager { + constructor() { + this.fieldCounter = 1; + this.selectedRow = null; + this.addButtonClickListener(); + this.removeButtonClickListener(); + this.setupTableNameListener(); + this.updateOkButtonState(); + this.updateSQLColumnNumbers(); + this.removeLastAddedRow(); + this.sqlQuerySaveSend(); + this.clearModal(); + } + + addButtonClickListener() { + const addBtn = document.querySelector("#addButton"); + addBtn.addEventListener("click", () => { + document.querySelector(".sql-fields").style.marginTop = "0"; + this.addRow(); + this.updateSQLQuery(); + }); + } + + removeButtonClickListener() { + const removeButton = document.getElementById("removeBButton"); + removeButton.addEventListener("click", () => this.removeSelectedRow()); + } + + setupTableNameListener() { + const tableNameInput = document.getElementById("table-name"); + tableNameInput.addEventListener("keyup", () => { + this.updateSQLTable(); + }); + } + + setupCheckboxListeners() { + const checkboxes = document.querySelectorAll(".checkbox"); + checkboxes.forEach((checkbox) => { + checkbox.addEventListener("change", () => { + this.updateSQLQuery(); + }); + }); + } + + sqlQuerySaveSend() { + const sqlQuerySave = document.getElementById("sqlQuerySave"); + sqlQuerySave.addEventListener("click", async () => { + this.sqlQuerySave(); + // const cancelButton = document.getElementById("sqlQueryCancel"); + cancelButton.click(); + this.clearModal(); + }); + } + clearModal() { + const cancelButton = document.getElementById("sqlQueryCancel"); + cancelButton.addEventListener("click", () => { + csv.classList.remove("disabled"); + const tableNameInput = document.getElementById("table-name"); + tableNameInput.value = ""; + const databaseschema = document.getElementById("databaseschema"); + databaseschema.selectedIndex = 0; + const withoutRowid = document.getElementById("withoutRowid"); + withoutRowid.checked = false; + const tableName = document.getElementById("tableName"); + tableName.textContent = ""; + const fieldList = document.getElementById("fieldList"); + fieldList.innerHTML = ""; + const jsrow = document.querySelectorAll(".js-row"); + jsrow.forEach((row) => { + row.remove(); + }); + }); + } + + addRow() { + const newRow = document.createElement("div"); + newRow.classList.add("row", "d-flex", "js-row"); + + newRow.innerHTML = ` +
+
+ +
+
+
+
+
+
+
+
+ +
+
+ `; + + newRow.addEventListener("click", () => this.rowClickHandler(newRow)); + newRow.querySelectorAll(".field-type").forEach((select) => { + select.addEventListener("change", () => this.updateSQLQuery()); + }); + newRow.querySelectorAll("input[type='text']").forEach((input) => { + input.addEventListener("keyup", () => this.updateSQLQuery()); + }); + // newRow.querySelectorAll("input[type='checkbox']").forEach((checkbox) => { + // checkbox.addEventListener("change", () => this.updateSQLQuery()); + // }); + newRow.querySelectorAll("input[type='checkbox']").forEach((checkbox) => { + checkbox.addEventListener("change", (event) => { + this.handleCheckboxChange(event); + }); + }); + + document.querySelector(".queryDiv .row:last-child").after(newRow); + this.updateOkButtonState(); + this.updateSQLColumnNumbers(); + } + + handleCheckboxChange(event) { + const checkbox = event.target; + const row = checkbox.closest(".row"); + const primaryKeyCheckbox = row.querySelector(".field-primary-key input"); + const autoIncrementCheckbox = row.querySelector( + ".field-auto-increment input" + ); + + if (checkbox === autoIncrementCheckbox && checkbox.checked) { + primaryKeyCheckbox.checked = true; + } + + if (checkbox === primaryKeyCheckbox && !checkbox.checked) { + autoIncrementCheckbox.checked = false; + } + + this.updateSQLQuery(); + } + rowClickHandler(row) { + if (this.selectedRow !== null) { + this.selectedRow.style.backgroundColor = ""; + } + this.selectedRow = row; + this.selectedRow.style.backgroundColor = "orange"; + this.updateButtonStates(); + } + + updateButtonStates() { + const rows = document.querySelectorAll(".queryDiv .js-row"); + const totalRows = rows.length; + + // Determine the clicked row index + const clickedRowIndex = Array.from(rows).indexOf(this.selectedRow); + + // Disable all buttons + removeButton.classList.add("disabled"); + moveTopButton.classList.add("disabled"); + moveUpButton.classList.add("disabled"); + moveDownButton.classList.add("disabled"); + moveBottomButton.classList.add("disabled"); + + // Eğer toplam satır sayısı 0 ise removeButton'u devre dışı bırak + if (totalRows === 1) { + removeButton.classList.remove("disabled"); + return; + } else if (totalRows === 2) { + // Two rows: special handling for first and second rows + if (clickedRowIndex === 0) { + moveDownButton.classList.remove("disabled"); + moveBottomButton.classList.remove("disabled"); + removeButton.classList.remove("disabled"); + } else if (clickedRowIndex === 1) { + moveUpButton.classList.remove("disabled"); + moveTopButton.classList.remove("disabled"); + removeButton.classList.remove("disabled"); + } + } else if (totalRows === 0) { + removeButton.classList.add("disabled"); + moveBottomButton.classList.add("disabled"); + moveDownButton.classList.add("disabled"); + moveUpButton.classList.add("disabled"); + moveTopButton.classList.add("disabled"); + } else { + // More than two rows + if (clickedRowIndex === 0) { + // First row + moveDownButton.classList.remove("disabled"); + moveBottomButton.classList.remove("disabled"); + removeButton.classList.remove("disabled"); + } else if (clickedRowIndex === totalRows - 1) { + // Last row + moveUpButton.classList.remove("disabled"); + moveTopButton.classList.remove("disabled"); + removeButton.classList.remove("disabled"); + } else { + // Middle rows + moveUpButton.classList.remove("disabled"); + moveTopButton.classList.remove("disabled"); + moveDownButton.classList.remove("disabled"); + moveBottomButton.classList.remove("disabled"); + removeButton.classList.remove("disabled"); + } + } + } + updateSQLTable() { + const tableName = document.getElementById("table-name").value; + document.getElementById("tableName").textContent = tableName; + } + + updateSQLQuery() { + const fieldList = document.getElementById("fieldList"); + fieldList.innerHTML = ""; // Clear previous fields + + const rows = document.querySelectorAll(".queryDiv .row"); + rows.forEach((row, index) => { + if (index === 0) return; + const fieldName = row.querySelector("input[type='text']").value; + const fieldType = row.querySelector(".field-type").value; + let fieldTypeText = ""; + switch (fieldType) { + case "0": + fieldTypeText = "INTEGER"; + break; + case "1": + fieldTypeText = "TEXT"; + break; + case "2": + fieldTypeText = "BLOB"; + break; + case "3": + fieldTypeText = "REAL"; + break; + case "4": + fieldTypeText = "NUMERIC"; + break; + default: + fieldTypeText = "INTEGER"; + break; + } + + const nullable = row.querySelector(".field-nullable input").checked + ? "NOT NULL" + : ""; + const primaryKey = row.querySelector(".field-primary-key input").checked + ? "PRIMARY KEY" + : ""; + const autoIncrement = row.querySelector(".field-auto-increment input") + .checked + ? "AUTOINCREMENT" + : ""; + const unique = row.querySelector(".field-unique input").checked + ? "UNIQUE" + : ""; + + // Field info satırı + const newFieldElement = document.createElement("div"); + newFieldElement.classList.add("field-c"); + const fieldInfo = `"${fieldName}" ${fieldTypeText} ${nullable} ${unique}`; + newFieldElement.innerHTML = fieldInfo; + fieldList.appendChild(newFieldElement); + + // PRIMARY KEY ve AUTOINCREMENT satırı + if (primaryKey || autoIncrement) { + const primaryKeyAutoIncElement = document.createElement("div"); + const primaryKeyAutoIncSQL = autoIncrement + ? `PRIMARY KEY("${fieldName}" AUTOINCREMENT)` + : `PRIMARY KEY("${fieldName}")`; + primaryKeyAutoIncElement.innerHTML = primaryKeyAutoIncSQL; + fieldList.appendChild(primaryKeyAutoIncElement); + } + }); + } + setupCheckboxListeners() { + const checkboxes = document.querySelectorAll( + ".queryDiv .row input[type='checkbox']" + ); + checkboxes.forEach((checkbox) => { + checkbox.addEventListener("change", (event) => { + const rowIndex = event.target.closest(".row").dataset.index; // Satırın index değerini al + if (event) { + console.log(`Row ${rowIndex} checkbox is checked`); + } else { + console.log(`Row ${rowIndex} checkbox is unchecked`); + } + updateSQLQuery(rowIndex); // Checkbox durumu değiştiğinde sorguyu güncelle, satırın indexini parametre olarak gönder + }); + }); + } + + removeSelectedRow() { + if (this.selectedRow !== null) { + this.selectedRow.remove(); + this.selectedRow = null; + this.updateButtonStates(); + this.updateSQLQuery(); + // Son eleman kaldırıldıysa ve başka eleman kalmadıysa margin-top özelliğini tekrar ekle + const elementCount = document.querySelectorAll(".field-c").length; + if (elementCount === 0) { + document.querySelector(".sql-fields").style.marginTop = "20px"; + this.updateButtonStates(); + } + } + this.removeLastAddedRow(); + this.updateOkButtonState(); + } + + updateOkButtonState() { + const rows = document.querySelectorAll(".queryDiv .js-row"); + const okButton = document.querySelector( + ".modal-footer .btn[type='submit']" + ); + + if (rows.length > 0) { + okButton.classList.remove("disabled"); + } else { + okButton.classList.add("disabled"); + } + } + updateSQLColumnNumbers() { + const sqlField = document.querySelector(".sql-field"); + const sqlCol = sqlField.querySelector(".sql-col"); + + const existingPs = sqlCol.querySelectorAll(".sql-p"); + + // Son numarayı bul + const lastNumber = parseInt(existingPs[existingPs.length - 1].textContent); + + // Yeni numarayı ekleyerek sonraki numarayı bul + const nextNumber = lastNumber + 1; + + const p = document.createElement("p"); + p.classList.add("sql-p"); + p.textContent = nextNumber.toString(); + sqlCol.appendChild(p); + } + + removeLastAddedRow() { + const sqlField = document.querySelector(".sql-field"); + const sqlCol = sqlField.querySelector(".sql-col"); + const lastP = sqlCol.querySelector(".sql-p:last-child"); + + // İlk 3 sabit elemanı korumak için kontrol ekleyin + if (lastP && parseInt(lastP.textContent) > 3) { + lastP.remove(); + this.fieldCounter--; + } + } + + saveSQL() { + const fieldList = document.getElementById("fieldList"); + const tableName = document.getElementById("tableName").innerText; + + // Collect SQL fields + const fields = Array.from(fieldList.querySelectorAll(".field-c")) + .map((field) => field.innerText) + .join(", "); + + const sqlQuery = `CREATE TABLE "${tableName}" (${fields});`; + + fetch("/save-sql", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ sql: sqlQuery }), + }) + .then((response) => response.json()) + .then((data) => { + if (data.message) { + alert(data.message); + } else if (data.error) { + alert(data.error); + } + }) + .catch((error) => { + console.error("Error:", error); + }); + } + async sqlQuerySave() { + // Önce updateSQLQuery fonksiyonunu çağırarak fieldList'i güncelleyelim + this.updateSQLQuery(); + + const fieldList = document.getElementById("fieldList"); + const fields = fieldList.querySelectorAll(".field-c"); + const tableNameInput = document.getElementById("tableName"); + const tableName = tableNameInput.innerText; + let sqlQuery = `CREATE TABLE "${tableName}" (`; + fields.forEach((field, index) => { + sqlQuery += field.textContent.trim(); + if (index < fields.length - 1) { + sqlQuery += ", "; + } + }); + sqlQuery += ");"; + + try { + const response = await fetch("/create_table", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ sql_query: sqlQuery }), + }); + + const result = await response.json(); + if (response.ok) { + console.log("Data:", result.message); + } else { + alert(result.error || result.message); + } + } catch (error) { + console.error("An error occurred:", error); + } + } +} + +// Kullanım +const queryDivManager = new QueryDivManager(); + +queryDivManager.setupCheckboxListeners(); + +function toggleSqlQuery() { + var sqlQueryDiv = document.getElementById("sqlQuery"); + var button = document.querySelector(".sql-col button"); + + if (sqlQueryDiv.style.display === "none") { + sqlQueryDiv.style.display = "block"; + button.textContent = "-"; + } else { + sqlQueryDiv.style.display = "none"; + button.textContent = "+"; // veya herhangi bir metin + } +} + +const closeDatabaseHandler = async () => { + try { + const response = await fetch("/close_database", { + method: "POST", + }); + if (response.ok) { + const data = await response.json(); + alert(data.message); // Backend tarafından gönderilen mesajı göster + dbOpened = false; + closeFileDB.classList.add("disabled"); + closeDB.classList.add("disabled"); + fad.classList.add("disabled"); + fcd.classList.add("disabled"); + fsp.classList.add("disabled"); + fspa.classList.add("disabled"); + fsa.classList.add("disabled"); + saveProject.classList.add("disabled"); + adDatabase.classList.add("disabled"); + createTable.classList.add("disabled"); + modifyTable.classList.add("disabled"); + deleteTable.classList.add("disabled"); + tableToCSV.classList.add("disabled"); + tableToJSON.classList.add("disabled"); + const la = document.getElementById("large-area"); + la.innerHTML = ""; + } else { + const data = await response.json(); + console.error("Failed to close the database:", data.error); + } + } catch (error) { + console.error("An error occurred while closing the database:", error); + } +}; + +closeFileDB.addEventListener("click", closeDatabaseHandler); +closeDB.addEventListener("click", closeDatabaseHandler); + +const openDatabaseHandler = () => { + fileInput.click(); +}; + +const fileInputChangeHandler = async (event) => { + const file = event.target.files[0]; + if (file) { + const fileName = file.name; + try { + const response = await fetch("/open_database", { + method: "POST", + body: JSON.stringify({ file_name: fileName }), + headers: { + "Content-Type": "application/json", + }, + }); + if (response.ok) { + const data = await response.json(); + alert(data.message); + + console.log("Data:", data.table_columns); + dbOpened = true; + fad.classList.remove("disabled"); + fcd.classList.remove("disabled"); + fsp.classList.remove("disabled"); + fspa.classList.remove("disabled"); + fsa.classList.remove("disabled"); + saveProject.disabled = false; + adDatabase.disabled = false; + closeDB.disabled = false; + saveProject.classList.remove("disabled"); + adDatabase.classList.remove("disabled"); + closeDB.classList.remove("disabled"); + createTable.classList.remove("disabled"); + modifyTable.classList.remove("disabled"); + deleteTable.classList.remove("disabled"); + compactDB.classList.remove("disabled"); + loadE.classList.remove("disabled"); + integrityCheck.classList.remove("disabled"); + quickIntegrityCheck.classList.remove("disabled"); + fkCheck.classList.remove("disabled"); + optimize.classList.remove("disabled"); + mCT.disabled = false; + mCI.disabled = false; + tableToCSV.classList.remove("disabled"); + tableToJSON.classList.remove("disabled"); + console.log("Data:", data.tables); + csv.classList.remove("disabled"); + mainWindow(data); + } else { + const data = await response.json(); + console.error("Failed to open the database:", data.error); + } + } catch (error) { + console.error("An error occurred while opening the database:", error); + } + } +}; + +openDataB.addEventListener("click", openDatabaseHandler); +openDatabase.addEventListener("click", openDatabaseHandler); +fileInput.addEventListener("change", fileInputChangeHandler); + +let dbOpened = false; + +const openModal = () => { + modalButton.click(); +}; + +mCT.addEventListener("click", openModal); +createTable.addEventListener("click", openModal); + +// cancelButton.addEventListener("click", () => { +// csv.classList.remove("disabled"); +// clearModal(); +// }); + +csv.addEventListener("click", () => { + csvFile.click(); +}); + +const csvChangeHandler = async (event) => { + const csvFile = event.target.files[0]; + if (csvFile) { + const csvFileName = csvFile.name; + try { + const response = await fetch("/open_csv", { + method: "POST", + body: JSON.stringify({ csvFile: csvFileName }), + headers: { + "Content-Type": "application/json", + }, + }); + const csvImport = document.getElementById("csvImport"); + csvImport.click(); + if (response.ok) { + const data = await response.json(); + console.log("Data:", data.tables); + updateCsvPreview(csvFileName); + } else { + const data = await response.json(); + console.error("Failed to open the csv:", data.error); + } + } catch (error) { + console.error("An error occurred while opening the csv:", error); + } + } +}; + +csvFile.addEventListener("change", csvChangeHandler); + +const updateCsvPreview = async (csvFileName) => { + const columnNamesCheckbox = document.getElementById("colNameCheckBox"); + const fieldSeparatorSelect = document.getElementById("fieldSeparator"); + const quoteCharacterSelect = document.getElementById("quoteCharacter"); + const encodingSelect = document.getElementById("encoding"); + const trimFieldsCheckbox = document.getElementById("trimFields"); + + if ( + !columnNamesCheckbox || + !fieldSeparatorSelect || + !quoteCharacterSelect || + !encodingSelect || + !trimFieldsCheckbox + ) { + console.error("One or more elements not found"); + return; + } + + const settings = { + columnNamesInFirstLine: columnNamesCheckbox.checked, + fieldSeparator: fieldSeparatorSelect.value, + quoteCharacter: quoteCharacterSelect.value || '"', + encoding: encodingSelect.value, + trimFields: trimFieldsCheckbox.checked, + }; + + try { + const response = await fetch("/update_csv_preview", { + method: "POST", + body: JSON.stringify({ csvFile: csvFileName, settings: settings }), + headers: { + "Content-Type": "application/json", + }, + }); + + if (response.ok) { + const data = await response.json(); + const previewElement = document.getElementById("csvPreview"); // Update to your actual preview element ID + if (!previewElement) { + console.error("Preview element not found"); + return; + } + handleCsvPreviewResponse(data); + previewElement.innerHTML = generateTableHTML( + data.tables, + data.column_names + ); + } else { + const data = await response.json(); + console.error("Failed to update the preview:", data.error); + } + } catch (error) { + console.error("An error occurred while updating the preview:", error); + } +}; + +const generateTableHTML = (rows, columns) => { + let tableHTML = ''; + columns.forEach((column, index) => { + tableHTML += ``; + }); + tableHTML += ""; + rows.forEach((row) => { + tableHTML += ""; + row.forEach((cell) => { + tableHTML += ``; + }); + tableHTML += ""; + }); + tableHTML += "
field${index + 1}
${cell}
"; + return tableHTML; +}; + +const columnNamesCheckbox = document.getElementById("colNameCheckBox"); + +columnNamesCheckbox.addEventListener("change", function () { + const checked = this.checked; + const previewElement = document.getElementById("csvPreview"); + const thElements = previewElement.querySelectorAll("thead th"); + const tbodyElement = previewElement.querySelector("tbody"); + + // Güncelleme işlemi + if (checked) { + thElements.forEach((th, index) => { + th.textContent = colNames[index]; + }); + // İlk satırı tbody'dan kaldırıyoruz + const firstRow = tbodyElement.querySelector("tr"); + if (firstRow) { + tbodyElement.removeChild(firstRow); + } + } else { + thElements.forEach((th, index) => { + th.textContent = `field${index + 1}`; + }); + // İlk satırı geri ekliyoruz + const newRow = document.createElement("tr"); + colNames.forEach((name, index) => { + const newCell = document.createElement("td"); + newCell.textContent = colNames[index]; + newRow.appendChild(newCell); + }); + tbodyElement.insertBefore(newRow, tbodyElement.firstChild); + } +}); +let colNames = []; +const handleCsvPreviewResponse = (data) => { + colNames = data.tables[0]; +}; + +class csvManager { + constructor() { + this.csvOKButton = document.getElementById("csvOK"); + this.csvTableNameInput = document.getElementById("csvTableName"); + this.isListenerAdded = false; + + this.setupCsvInputListener(); + this.addCsvButtonClickListener(); + } + + setupCsvInputListener() { + this.csvTableNameInput.addEventListener("keyup", () => { + const tableName = this.csvTableNameInput.value.trim(); + if (tableName) { + this.csvOKButton.classList.remove("disabled"); + } else { + this.csvOKButton.classList.add("disabled"); + } + }); + } + + addCsvButtonClickListener() { + if (this.isListenerAdded) return; + + this.csvOKButton.addEventListener("click", async () => { + const tableName = this.csvTableNameInput.value.trim(); + if (!tableName) return; + + try { + const response = await fetch("/add_csv_to_db", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + table_name: tableName, + // CSV ve DB dosya yolları gerekli parametrelerle eklenmeli + csv_file_path: "path/to/your/csvfile.csv", + db_file_path: "path/to/your/database.db", + }), + }); + + if (response.ok) { + const data = await response.json(); + console.log("Success:", data.message); + const csvCancel = document.getElementById("csvCancel"); + csvCancel.click(); + } else { + const errorData = await response.json(); + console.error("Error:", errorData.error); + } + } catch (error) { + console.error("An error occurred:", error); + } + }); + + this.isListenerAdded = true; + } +} + +const csvM = new csvManager(); +csvM.addCsvButtonClickListener(); + +let isRotated = false; +const mainWindow = (data) => { + const len = data.tables.length; + const collapseCol = document.getElementById("collapseCol"); + const rowcover = document.createElement("div"); + const collapseType = document.getElementById("collapseType"); + rowcover.classList.add("row"); + const row = document.getElementById("collapseTables"); + + const p = document.createElement("p"); + const pClass = ["d-inline-flex", "gap-1"]; + pClass.forEach((cls) => p.classList.add(cls)); + + const button = document.createElement("button"); + button.classList.add("btn"); + button.type = "button"; + button.setAttribute("data-bs-toggle", "collapse"); + button.setAttribute("data-bs-target", "#Tables"); + button.ariaExpanded = "false"; + button.ariaControls = "Tables"; + button.style.bottom = "-10px"; + button.style.position = "relative"; + const img1 = document.createElement("img"); + const img2 = document.createElement("img"); + img1.src = "/static/icons/bullet_arrow_up.svg"; + img1.style.transform = "rotate(90deg)"; + img1.style.left = "-15px"; + img1.style.position = "relative"; + img1.style.top = "-2px"; + img1.id = "rotateImg"; + img2.src = "/static/icons/table.svg"; + img2.style.position = "relative"; + img2.style.top = "-2px"; + img2.style.left = "-3px"; + img2.style.width = "20px"; + button.appendChild(img1); + button.appendChild(img2); + button.appendChild(document.createTextNode(`Tables (${len})`)); + p.appendChild(button); + row.appendChild(p); + + data.tables.forEach((tableName, index) => { + const tablediv = document.createElement("div"); + tablediv.classList.add("collapse"); + tablediv.id = "Tables"; + const innerbutton = document.createElement("button"); + innerbutton.classList.add("btn"); + innerbutton.type = "button"; + innerbutton.setAttribute("data-bs-toggle", "collapse"); + innerbutton.setAttribute("data-bs-target", `#Tables${index}`); + innerbutton.ariaExpanded = "false"; + innerbutton.ariaControls = `Tables${index}`; + innerbutton.style.marginLeft = "30px"; + innerbutton.textContent = tableName; + tablediv.appendChild(innerbutton); + row.appendChild(tablediv); + + const columns = data.table_columns[tableName]; + const innerdiv = document.createElement("div"); + innerdiv.classList.add("collapse"); + innerdiv.id = `Tables${index}`; + columns.forEach((column, columnIndex) => { + const innerdiv2 = document.createElement("div"); + innerdiv2.classList.add("card", "card-body"); + innerdiv2.style.marginLeft = "100px"; + innerdiv2.textContent = column.name; + collapseType.textContent = column.type; + innerdiv.appendChild(innerdiv2); + + // row.appendChild(innerdiv); // tablediv'e eklemeliyiz, row'a değil + }); + row.appendChild(innerdiv); + }); + const row1 = document.createElement("div"); + row1.classList.add("row"); + row1.style.marginTop = "-5px"; + row1.style.marginLeft = "12px"; + row1.style.marginBottom = "20px"; + const iconImg = document.createElement("img"); + iconImg.src = "/static/icons/tag_blue.svg"; + iconImg.style.width = "auto"; + iconImg.style.height = "auto"; + iconImg.style.position = "relative"; + const textNode = document.createTextNode("Indices (0)"); + row1.appendChild(iconImg); + row1.appendChild(textNode); + collapseCol.appendChild(row1); + collapseCol.appendChild(row1); + const row2 = document.createElement("div"); + row2.classList.add("row"); + row2.style.marginTop = "-5px"; + row2.style.marginLeft = "12px"; + row2.style.marginBottom = "20px"; + const iconImg2 = document.createElement("img"); + iconImg2.src = "/static/icons/picture.svg"; + iconImg2.style.width = "auto"; + iconImg2.style.height = "auto"; + iconImg2.style.position = "relative"; + const textNode2 = document.createTextNode("View (0)"); + row2.appendChild(iconImg2); + row2.appendChild(textNode2); + collapseCol.appendChild(row2); + const row3 = document.createElement("div"); + row3.classList.add("row"); + row3.style.marginTop = "-5px"; + row3.style.marginLeft = "12px"; + row3.style.marginBottom = "20px"; + const iconImg3 = document.createElement("img"); + iconImg3.src = "/static/icons/script.svg"; + iconImg3.style.width = "auto"; + iconImg3.style.height = "auto"; + iconImg3.style.position = "relative"; + const textNode3 = document.createTextNode("Trigger (0)"); + row3.appendChild(iconImg3); + row3.appendChild(textNode3); + collapseCol.appendChild(row3); + + // Add event listener to rotate the image + button.addEventListener("click", () => { + isRotated = !isRotated; + img1.style.transform = isRotated ? "rotate(180deg)" : "rotate(90deg)"; + }); +}; + +const exportJson = document.getElementById("ejson"); +tableToJSON.addEventListener("click", async () => { + exportJson.click(); +}); + +let selectedTables = []; +document.getElementById("ejson").addEventListener("click", async () => { + try { + const response = await fetch("/get_table_names"); + const data = await response.json(); + if (response.ok) { + const tableNames = data.table_names; + const tableNamesDiv = document.getElementById("tabletoJson"); + + // Önce mevcut tablo adlarını temizleyin + tableNamesDiv.innerHTML = ""; + + // Tablo adlarını div içine ekleyin + tableNames.forEach((tableName) => { + const tableNameElement = document.createElement("div"); + tableNameElement.textContent = tableName; + tableNameElement.classList.add("tableName"); + + // Tablo adının tıklama olayını dinleyin + tableNameElement.addEventListener("click", function () { + // Seçili hale gelip gelmediğini kontrol edin + if (this.classList.contains("selected")) { + // Eğer seçiliyse, seçili sınıfını kaldırın + this.classList.remove("selected"); + // Ve seçili tablo adını seçilmiş tablolar listesinden kaldırın + selectedTables = selectedTables.filter( + (table) => table !== tableName + ); + } else { + // Değilse, seçili sınıfını ekleyin + this.classList.add("selected"); + // Ve seçili tablo adını seçilmiş tablolar listesine ekleyin + selectedTables.push(tableName); + } + // Arka plan rengini değiştirin + this.style.backgroundColor = this.classList.contains("selected") + ? "orange" + : ""; + // // Seçilmiş tablo adlarını konsola yazdırın (opsiyonel) + // console.log("Selected tables:", selectedTables); + }); + + // Tablo adını div içine ekleyin + tableNamesDiv.appendChild(tableNameElement); + }); + } else { + alert(data.error || data.message); + } + } catch (error) { + console.error("An error occurred while fetching table names:", error); + } +}); + +document.getElementById("JSONSave").addEventListener("click", async () => { + try { + // Seçili tablo adlarını backend'e göndermek için fetch isteği yapın + const response = await fetch("/save_json", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ selectedTables: selectedTables }), + }); + // Sunucudan gelen cevabı kontrol edin + if (response.ok) { + const data = await response.json(); + console.log("Selected tables successfully converted to JSON", data); + const JSONCancel = document.getElementById("JSONCancel"); + JSONCancel.click(); + } else { + // İşlem başarısızsa, hata mesajını gösterin + const errorData = await response.json(); + console.error("Error:", errorData.error || errorData.message); + } + } catch (error) { + // Hata durumunda konsola yazdırın + console.error("An error occurred while sending selected tables:", error); + } +}); + +tableToCSV.addEventListener("click", async () => { + const csvBut = document.getElementById("csvBut"); + csvBut.click(); +}); + +let csvSelectedTables = []; +document.getElementById("csvBut").addEventListener("click", async () => { + try { + const response = await fetch("/get_table_names"); + const data = await response.json(); + if (response.ok) { + const tableNames = data.table_names; + const tableNamesDiv = document.getElementById("tabletoCSV"); + + // Önce mevcut tablo adlarını temizleyin + tableNamesDiv.innerHTML = ""; + + // Tablo adlarını div içine ekleyin + tableNames.forEach((tableName) => { + const tableNameElement = document.createElement("div"); + tableNameElement.textContent = tableName; + tableNameElement.classList.add("tableName"); + + // Tablo adının tıklama olayını dinleyin + tableNameElement.addEventListener("click", function () { + // Seçili hale gelip gelmediğini kontrol edin + if (this.classList.contains("selected")) { + // Eğer seçiliyse, seçili sınıfını kaldırın + this.classList.remove("selected"); + // Ve seçili tablo adını seçilmiş tablolar listesinden kaldırın + csvSelectedTables = csvSelectedTables.filter( + (table) => table !== tableName + ); + } else { + // Değilse, seçili sınıfını ekleyin + this.classList.add("selected"); + // Ve seçili tablo adını seçilmiş tablolar listesine ekleyin + csvSelectedTables.push(tableName); + } + // Arka plan rengini değiştirin + this.style.backgroundColor = this.classList.contains("selected") + ? "orange" + : ""; + // // Seçilmiş tablo adlarını konsola yazdırın (opsiyonel) + // console.log("Selected tables:", selectedTables); + }); + + // Tablo adını div içine ekleyin + tableNamesDiv.appendChild(tableNameElement); + }); + } else { + alert(data.error || data.message); + } + } catch (error) { + console.error("An error occurred while fetching table names:", error); + } +}); + +document.getElementById("CSVSave").addEventListener("click", async () => { + try { + // Seçilen tablo adlarını içeren dizi + const selectedTables = csvSelectedTables; + + // Seçili tablo adlarını backend'e gönder + const response = await fetch("/save_csv", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ selectedTables: selectedTables }), + }); + // Yanıtı kontrol et ve mesajı göster + const data = await response.json(); + if (response.ok) { + console.log(data.message); + const CSVCancel = document.getElementById("CSVCancel"); + CSVCancel.click(); + } else { + alert(data.error || data.message); + } + } catch (error) { + console.error("An error occurred while saving JSON:", error); + } +}); diff --git a/Projects/Bugbusters/static/style.css b/Projects/Bugbusters/static/style.css new file mode 100644 index 000000000..31bc475a5 --- /dev/null +++ b/Projects/Bugbusters/static/style.css @@ -0,0 +1,600 @@ +body { + border: 2px solid black; + width: auto; + height: auto; +} +.first { + margin-left: 25px !important; +} +.dropdown-toggle::after { + display: none; + /* Ok işaretini kaldırma */ +} + +.second { + margin-left: 5px !important; +} + +.display { + display: inline-block; +} + +.col .display:first-child { + margin-left: 35px; +} + +.btn:focus { + outline: none; + border-color: transparent !important; +} + +.pipe { + color: #8f8f8f; +} + +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl { + max-width: none; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; + } +} + +@media (min-width: 992px) { + .container, + .container-lg, + .container-md, + .container-sm { + max-width: none; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; + } +} + +@media (min-width: 768px) { + .container, + .container-md, + .container-sm { + max-width: none; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; + } +} + +@media (min-width: 576px) { + .container, + .container-sm { + max-width: none; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; + } +} + +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + border-color: transparent !important; +} + +.dropdown-menu li { + position: relative; +} +.dropdown-menu .dropdown-submenu { + display: none; + position: absolute; + left: 100%; + top: -7px; +} +.dropdown-menu .dropdown-submenu-left { + right: 100%; + left: auto; +} +.dropdown-menu > li:hover > .dropdown-submenu { + display: block; +} + +.ddia { + display: flex; + align-items: center; +} + +.dropdown-item { + padding: 3px 7px 3px 10px; + cursor: pointer; +} + +.ddia img { + margin-left: 5px; +} + +#right-arrow { + transform: rotate(90deg); +} +.ddia i { + margin-left: 5px; + color: #4d92c7; + width: 16px !important; + height: 16px !important; +} + +.fa-xs { + line-height: 1.3 !important; +} + +/* .third { + width: calc(100% - 585px); + margin: 10px 300px 10px 300px; +} */ + +.fourth { + border: 2px solid red; + width: 100wh; + height: 700px; +} + +.column1 { + height: 100vh; + width: 65vw; +} + +/* .genisEkran { + height: 100%; +} */ + +.yarimEkran { + height: 465px; + display: flex; + flex-direction: column; +} + +.butm { + margin: 2px 60px 2px 60px; +} + +.topMenu { + display: flex; + height: 40px; +} + +.sol { + margin-top: 5px; +} +.sol > button:nth-child(2) > i { + margin-left: 10px; +} + +.sag { + margin-left: 250px; + margin-top: 12px; +} +.d { + padding-left: 0px; + padding-right: 0px; +} + +.ortaMenu { + margin-bottom: 1px; + display: flex; +} + +.ddl { + display: flex; + height: 50px; + margin-top: 20px; +} + +.hidden { + display: none; +} + +.cog { + margin-left: 50px; + margin-top: 22px; + height: 50px; +} +.cog > img { + height: 25px; +} + +.i { + margin-left: 30px; + margin-top: 20px; + height: 50px; +} +.i > img { + margin-left: 5px; + padding-left: 5px; + padding-right: 5px; + height: 25px; +} + +.altMenu { + display: flex; + height: 270px; + margin-bottom: 1px; + width: 645px; +} + +.enAltMenu { + display: flex; + flex-grow: 1; + height: 20px; + margin-bottom: 10px; + flex-direction: column; +} + +.buttonApply { + margin-left: 190px; +} + +.topMenu2 { + display: flex; + height: 40px; +} + +.identity { + margin-bottom: 1px; + display: flex; +} + +.btn.active { + background-color: orange; /* Seçili butonun arka plan rengi */ + color: white; /* Seçili butonun metin rengi */ +} + +.btn-default { + background-color: grey; /* Diğer butonların arka plan rengi */ + color: white; /* Diğer butonların metin rengi */ +} + +.dropMenu { + height: 270px; + margin: top -10px; +} + +#large-area { + height: 815px; +} +#btn-group { + top: -25px; +} + +.d-advanced { + margin: 3px auto !important; + width: 60% !important; +} + +.tfac { + border: 2px solid black; +} + +.tfac.active { + background-color: orange; /* Seçili butonun arka plan rengi */ + color: white; /* Seçili butonun metin rengi */ +} + +.tfac-default { + background-color: grey; /* Diğer butonların arka plan rengi */ + color: white; /* Diğer butonların metin rengi */ +} + +.tfac { + background-color: grey; + color: white; + cursor: pointer; +} + +.drop-tfac { + border: 1px solid black; + top: -17px; + height: auto; + position: relative; + z-index: 2; +} + +#addButton { + cursor: pointer; + margin-right: 15px; + border: 0.02em solid black; + margin-left: 10px; +} + +#addButton > button { + left: -10px; + position: relative; +} + +#removeButton { + cursor: pointer; + margin-right: 15px; + border: 0.02em solid black; + margin-left: 10px; +} + +#removeButton > button { + left: -10px; + position: relative; +} + +#moveTopButton { + cursor: pointer; + margin-right: 15px; + border: 0.02em solid black; + margin-left: 10px; +} + +#moveTopButton > button { + left: -10px; + position: relative; +} + +#moveBottomButton { + cursor: pointer; + margin-right: 15px; + border: 0.02em solid black; + margin-left: 10px; +} + +#moveBottomButton > button { + left: -10px; + position: relative; +} + +#moveUpButton { + cursor: pointer; + margin-right: 15px; + border: 0.02em solid black; + margin-left: 10px; +} + +#moveUpButton > button { + left: -10px; + position: relative; +} + +#moveDownButton { + cursor: pointer; + margin-right: 15px; + border: 0.02em solid black; + margin-left: 10px; +} + +#moveDownButton > button { + left: -10px; + position: relative; +} + +.tableButton { + margin-top: 25px; +} + +.sql-field { + display: flex; +} + +.sql-col { + display: grid; + width: 20px; + position: relative; + justify-content: center; +} + +.sql-p { + position: relative; + top: -5px; + margin-block-start: 0px !important; + margin-block-end: 0px !important; +} + +textarea { + resize: none; +} + +.sql-form { + display: flex; + justify-content: flex-start; + width: 500px; + margin-left: 10px; +} + +.sql-keyword { + color: rgb(66, 127, 219); +} + +.table-name { + color: rgb(241, 0, 245); +} + +.sql-fields { + color: rgb(241, 0, 245); + margin-top: 20px; +} + +.sql-col-name { + width: 200px; + margin-top: 15px; +} + +.sql-col-type { + width: 70px; + position: relative; + margin-top: 15px; +} + +.sql-col-checkbox { + display: flex; + width: 60px; + position: relative; + left: 70px; + margin-top: 15px; +} + +.sql-col-default { + position: relative; + display: flex; + width: 90px; + left: 50px; + margin-top: 15px; +} + +.sql-col-check { + position: relative; + display: flex; + width: 100px; + left: 50px; + margin-top: 15px; +} + +.sql-col-collation { + position: relative; + display: flex; + width: 130px; + left: 20px; + margin-top: 15px; +} + +.sql-col-fk { + position: relative; + display: flex; + width: 200px; + left: 10px; + margin-top: 15px; +} +.sql-col-mt { + margin-top: 5px; + margin-bottom: 5px; +} + +#sqlQuery { + border: 2px solid black; + width: 100vh; +} + +.field-style { + margin-top: -20px; +} + +.execute-sql-buttons { + width: 40px; + margin: auto; +} + +.sqlQ { + border: 2px solid; + width: auto; + height: 86%; + display: flex; + position: relative; + flex-direction: column; +} + +.queryBox { + width: 100px; + height: 1.5rem; + position: relative; + /* border: 2px solid red; */ + left: 45%; + top: 1.5px; + border-radius: 10px; + background-color: slategrey; + color: azure; + align-items: center; + justify-content: center; + display: flex; +} + +.sqlQ_body { + height: 400px; + position: relative; + border: 2px solid purple; + width: 100%; + display: flex; + flex-direction: row; + margin-top: 2px; +} + +.inner-box-left { + width: 50px; + flex-direction: column; + display: flex; +} +.inner-box-right { + flex: 1; + margin-left: 5px; +} + +.row-item { + display: flex; + justify-content: center; +} + +textarea { + color: white; + background-color: rgb(47, 47, 46); +} +textarea::selection { + background: rgb(200, 131, 3); +} + +.sqlQ_result { + height: 400px; + position: relative; + width: 100%; + display: flex; + flex-direction: row; + margin: 5px auto; + margin-top: 7px; + overflow-y: auto; +} +.mt-0 { + position: relative; + top: 5px; +} + +#csvPreview { + max-height: 400px; + overflow-y: auto; + padding: 10px; +} +#rotateImg { + transition: transform 0.3s ease; +} + +.genisEkran { + overflow-y: auto; + max-height: 800px; /* İstediğiniz yüksekliğe göre ayarlayabilirsiniz */ +} + +.table thead th { + text-align: center; +} + +input[type="text"] { + width: 100%; + box-sizing: border-box; +} + +#prettyPrint { + background-color: #f0f0f0; /* Arka plan rengi */ + color: #333; /* Yazı rengi */ + padding: 5px 10px; /* İç boşluk */ + border-radius: 5px; /* Kenar yuvarlatma */ + border: 1px solid #ccc; /* Kenarlık */ + font-size: 14px; /* Yazı tipi boyutu */ +} diff --git a/Projects/Bugbusters/templates/index.html b/Projects/Bugbusters/templates/index.html new file mode 100644 index 000000000..189766d17 --- /dev/null +++ b/Projects/Bugbusters/templates/index.html @@ -0,0 +1,1521 @@ + + + + + + DB Browser for SQLite + + + + + + + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+
+
+
+ +
+
+ +
+
+ | +
+
+ +
+
+ +
+
+ | +
+
+ +
+
+ +
+
+ | +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ + + + + +
+
+
+
+
Name
+
| Type
+
| Scheme
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ + +
+
+

Edit Database Cell

+
+
+
+
+
+ + +
+
+
+ + +
+
+ + + + + + + + +
+
+
+

NULL

+
+
+
+
+
+

Type of data currently in cell

+
+
+

Size of data currently in table

+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+

Remote

+
+
+
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
Name
+
| Last Modified
+
| Size
+
| Commit
+
+
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + +