From 774b4791ba082c4ffa1edd840c914f578c668fd5 Mon Sep 17 00:00:00 2001 From: Patrick Sun Date: Fri, 6 Nov 2020 20:52:48 +1100 Subject: [PATCH] use canvas for testting and added menu service for events --- src/app/app-routing.module.ts | 2 + src/app/app.component.html | 28 +- src/app/app.component.ts | 14 +- src/app/app.module.ts | 7 +- src/app/canvas/canvas.component.html | 110 ++ src/app/canvas/canvas.component.scss | 0 src/app/canvas/canvas.component.spec.ts | 25 + src/app/canvas/canvas.component.ts | 41 + src/app/canvas/dist/canvas.component.js | 46 + src/app/dashboard/dashboard.component.html | 86 - src/app/dashboard/dashboard.component.ts | 1430 +---------------- src/app/dashboard/dist/dashboard.component.js | 1430 +---------------- src/app/main-menu-items.ts | 5 +- src/app/models/dist/sample_product.js | 1418 ++++++++++++++++ src/app/models/sample_product.ts | 1416 ++++++++++++++++ src/app/service/dist/menu.service.js | 20 + src/app/service/menu.service.ts | 7 + src/assets/bg.jpg | Bin 0 -> 52923 bytes src/assets/img/body_bg.jpg | Bin 0 -> 65709 bytes src/index.html | 15 +- 20 files changed, 3120 insertions(+), 2980 deletions(-) create mode 100644 src/app/canvas/canvas.component.html create mode 100644 src/app/canvas/canvas.component.scss create mode 100644 src/app/canvas/canvas.component.spec.ts create mode 100644 src/app/canvas/canvas.component.ts create mode 100644 src/app/canvas/dist/canvas.component.js create mode 100644 src/app/models/dist/sample_product.js create mode 100644 src/app/models/sample_product.ts create mode 100644 src/app/service/dist/menu.service.js create mode 100644 src/app/service/menu.service.ts create mode 100644 src/assets/bg.jpg create mode 100644 src/assets/img/body_bg.jpg diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index bf0b612..581fa82 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,11 +1,13 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { AuthComponent } from './auth/auth.component'; +import { CanvasComponent } from './canvas/canvas.component'; import { DashboardComponent } from './dashboard/dashboard.component'; const routes: Routes = [ {path : '', component: DashboardComponent}, + {path : 'canvas', component: CanvasComponent}, {path : 'dashboard', component: DashboardComponent}, {path : 'login', component: AuthComponent} ]; diff --git a/src/app/app.component.html b/src/app/app.component.html index 9318674..3b0b670 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,36 +1,12 @@
- + -   +   {{ item.text }}
- -
- - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index da15429..879eff2 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; import { mainMenuItems } from './main-menu-items'; +import { MenuService } from './service/menu.service'; @Component({ selector: 'app-root', @@ -11,9 +12,18 @@ export class AppComponent { title = 'broker'; public items: any[] = mainMenuItems; + + constructor(private menuService: MenuService){ + } - public hasFa (item: any) : boolean { - //console.log(item); + public menuItemHasFontawesome (item: any) : boolean { return item.hasOwnProperty('fa'); } + + public onSelect({ item }): void { + if (!item.items) { + this.menuService.itemClicked.emit(item); + //console.log("emit on select : " + item.text); + } + } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index fcc5ef3..4719707 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -17,6 +17,8 @@ import { AppRoutingModule } from './app-routing.module'; import { DashboardComponent } from './dashboard/dashboard.component'; import { AuthComponent } from './auth/auth.component'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { CanvasComponent } from './canvas/canvas.component'; +import { MenuService } from './service/menu.service'; @@ -25,7 +27,8 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; declarations: [ AppComponent, DashboardComponent, - AuthComponent + AuthComponent, + CanvasComponent ], imports: [ BrowserModule, @@ -40,7 +43,7 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; IconsModule, FontAwesomeModule ], - providers: [], + providers: [MenuService], bootstrap: [AppComponent] }) export class AppModule { } diff --git a/src/app/canvas/canvas.component.html b/src/app/canvas/canvas.component.html new file mode 100644 index 0000000..057d1a1 --- /dev/null +++ b/src/app/canvas/canvas.component.html @@ -0,0 +1,110 @@ +

this is canvas

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

Are you sure you want to + continue?

+ + +
+
+
+

ColorGradient

+ +
+
+

ColorPalette

+ +
+
+

ColorPicker

+ +
+
+

MaskedTextBox

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

Additional info

+
+
\ No newline at end of file diff --git a/src/app/canvas/canvas.component.scss b/src/app/canvas/canvas.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/canvas/canvas.component.spec.ts b/src/app/canvas/canvas.component.spec.ts new file mode 100644 index 0000000..ea2e3ad --- /dev/null +++ b/src/app/canvas/canvas.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CanvasComponent } from './canvas.component'; + +describe('CanvasComponent', () => { + let component: CanvasComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ CanvasComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(CanvasComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/canvas/canvas.component.ts b/src/app/canvas/canvas.component.ts new file mode 100644 index 0000000..d28cd8a --- /dev/null +++ b/src/app/canvas/canvas.component.ts @@ -0,0 +1,41 @@ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { sampleProducts } from '../models/sample_product'; +import { MenuService } from '../service/menu.service'; + +@Component({ + selector: 'app-canvas', + templateUrl: './canvas.component.html', + styleUrls: ['./canvas.component.scss'] +}) + +export class CanvasComponent implements OnInit, OnDestroy { + public gridData: any[] = sampleProducts; + public dialogOpened = false; + public windowOpened = false; + + constructor(private menuService: MenuService) { } + + ngOnInit(): void { + this.menuService.itemClicked.subscribe( + (item:any) =>{ + console.log(item); + } + ); + } + ngOnDestroy(): void{ + this.menuService.itemClicked.unsubscribe(); + } + + public close(component) { + this[component + 'Opened'] = false; + } + + public open(component) { + this[component + 'Opened'] = true; + } + + public action(status) { + console.log(`Dialog result: ${status}`); + this.dialogOpened = false; + } +} diff --git a/src/app/canvas/dist/canvas.component.js b/src/app/canvas/dist/canvas.component.js new file mode 100644 index 0000000..4d3bc59 --- /dev/null +++ b/src/app/canvas/dist/canvas.component.js @@ -0,0 +1,46 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +exports.__esModule = true; +exports.CanvasComponent = void 0; +var core_1 = require("@angular/core"); +var sample_product_1 = require("../models/sample_product"); +var CanvasComponent = /** @class */ (function () { + function CanvasComponent(menuService) { + this.menuService = menuService; + this.gridData = sample_product_1.sampleProducts; + this.dialogOpened = false; + this.windowOpened = false; + } + CanvasComponent.prototype.ngOnInit = function () { + this.menuService.itemClicked.subscribe(function (item) { + console.log(item); + }); + }; + CanvasComponent.prototype.ngOnDestroy = function () { + this.menuService.itemClicked.unsubscribe(); + }; + CanvasComponent.prototype.close = function (component) { + this[component + 'Opened'] = false; + }; + CanvasComponent.prototype.open = function (component) { + this[component + 'Opened'] = true; + }; + CanvasComponent.prototype.action = function (status) { + console.log("Dialog result: " + status); + this.dialogOpened = false; + }; + CanvasComponent = __decorate([ + core_1.Component({ + selector: 'app-canvas', + templateUrl: './canvas.component.html', + styleUrls: ['./canvas.component.scss'] + }) + ], CanvasComponent); + return CanvasComponent; +}()); +exports.CanvasComponent = CanvasComponent; diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html index a62e5b4..27c06cc 100644 --- a/src/app/dashboard/dashboard.component.html +++ b/src/app/dashboard/dashboard.component.html @@ -1,96 +1,10 @@

dashboard works!

- -
- - - - - - - - - - - - - - - - - - - - -
- - - - -

Are you sure you want to - continue?

- - -
-
-
-

ColorGradient

- -
-
-

ColorPalette

- -
-
-

ColorPicker

- -
-
-

MaskedTextBox

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

Additional info

-
-
\ No newline at end of file diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts index e894b20..550d2c9 100644 --- a/src/app/dashboard/dashboard.component.ts +++ b/src/app/dashboard/dashboard.component.ts @@ -1,1421 +1,6 @@ import { Component, OnInit } from '@angular/core'; -export const sampleProducts = [ - { - "ProductID": 1, - "ProductName": "Chai11", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "10 boxes x 20 bags", - "UnitPrice": 18, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 8, 20) - }, - { - "ProductID": 2, - "ProductName": "Chang", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 19, - "UnitsInStock": 17, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 7, 12) - }, - { - "ProductID": 3, - "ProductName": "Aniseed Syrup", - "SupplierID": 1, - "CategoryID": 2, - "QuantityPerUnit": "12 - 550 ml bottles", - "UnitPrice": 10, - "UnitsInStock": 13, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 8, 26) - }, - { - "ProductID": 4, - "ProductName": "Chef Anton's Cajun Seasoning", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "48 - 6 oz jars", - "UnitPrice": 22, - "UnitsInStock": 53, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 5, - "ProductName": "Chef Anton's Gumbo Mix", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "36 boxes", - "UnitPrice": 21.35, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 7, 17) - }, - { - "ProductID": 6, - "ProductName": "Grandma's Boysenberry Spread", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 8 oz jars", - "UnitPrice": 25, - "UnitsInStock": 120, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 7, - "ProductName": "Uncle Bob's Organic Dried Pears", - "SupplierID": 3, - "CategoryID": 7, - "QuantityPerUnit": "12 - 1 lb pkgs.", - "UnitPrice": 30, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - }, - "FirstOrderedOn": new Date(1996, 7, 22) - }, - { - "ProductID": 8, - "ProductName": "Northwoods Cranberry Sauce", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 12 oz jars", - "UnitPrice": 40, - "UnitsInStock": 6, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 11, 1) - }, - { - "ProductID": 9, - "ProductName": "Mishi Kobe Niku", - "SupplierID": 4, - "CategoryID": 6, - "QuantityPerUnit": "18 - 500 g pkgs.", - "UnitPrice": 97, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - }, - "FirstOrderedOn": new Date(1997, 1, 21) - }, - { - "ProductID": 10, - "ProductName": "Ikura", - "SupplierID": 4, - "CategoryID": 8, - "QuantityPerUnit": "12 - 200 ml jars", - "UnitPrice": 31, - "UnitsInStock": 31, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - }, - "FirstOrderedOn": new Date(1996, 8, 5) - } -]; -export const products = [{ - "ProductID": 1, - "ProductName": "Chai", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "10 boxes x 20 bags", - "UnitPrice": 18.0000, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 2, - "ProductName": "Chang", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 19.0000, - "UnitsInStock": 17, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 3, - "ProductName": "Aniseed Syrup", - "SupplierID": 1, - "CategoryID": 2, - "QuantityPerUnit": "12 - 550 ml bottles", - "UnitPrice": 10.0000, - "UnitsInStock": 13, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 4, - "ProductName": "Chef Anton's Cajun Seasoning", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "48 - 6 oz jars", - "UnitPrice": 22.0000, - "UnitsInStock": 53, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 5, - "ProductName": "Chef Anton's Gumbo Mix", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "36 boxes", - "UnitPrice": 21.3500, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 6, - "ProductName": "Grandma's Boysenberry Spread", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 8 oz jars", - "UnitPrice": 25.0000, - "UnitsInStock": 120, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 7, - "ProductName": "Uncle Bob's Organic Dried Pears", - "SupplierID": 3, - "CategoryID": 7, - "QuantityPerUnit": "12 - 1 lb pkgs.", - "UnitPrice": 30.0000, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } -}, { - "ProductID": 8, - "ProductName": "Northwoods Cranberry Sauce", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 12 oz jars", - "UnitPrice": 40.0000, - "UnitsInStock": 6, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 9, - "ProductName": "Mishi Kobe Niku", - "SupplierID": 4, - "CategoryID": 6, - "QuantityPerUnit": "18 - 500 g pkgs.", - "UnitPrice": 97.0000, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } -}, { - "ProductID": 10, - "ProductName": "Ikura", - "SupplierID": 4, - "CategoryID": 8, - "QuantityPerUnit": "12 - 200 ml jars", - "UnitPrice": 31.0000, - "UnitsInStock": 31, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 11, - "ProductName": "Queso Cabrales", - "SupplierID": 5, - "CategoryID": 4, - "QuantityPerUnit": "1 kg pkg.", - "UnitPrice": 21.0000, - "UnitsInStock": 22, - "UnitsOnOrder": 30, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 12, - "ProductName": "Queso Manchego La Pastora", - "SupplierID": 5, - "CategoryID": 4, - "QuantityPerUnit": "10 - 500 g pkgs.", - "UnitPrice": 38.0000, - "UnitsInStock": 86, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 13, - "ProductName": "Konbu", - "SupplierID": 6, - "CategoryID": 8, - "QuantityPerUnit": "2 kg box", - "UnitPrice": 6.0000, - "UnitsInStock": 24, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 14, - "ProductName": "Tofu", - "SupplierID": 6, - "CategoryID": 7, - "QuantityPerUnit": "40 - 100 g pkgs.", - "UnitPrice": 23.2500, - "UnitsInStock": 35, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } -}, { - "ProductID": 15, - "ProductName": "Genen Shouyu", - "SupplierID": 6, - "CategoryID": 2, - "QuantityPerUnit": "24 - 250 ml bottles", - "UnitPrice": 15.5000, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 16, - "ProductName": "Pavlova", - "SupplierID": 7, - "CategoryID": 3, - "QuantityPerUnit": "32 - 500 g boxes", - "UnitPrice": 17.4500, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 17, - "ProductName": "Alice Mutton", - "SupplierID": 7, - "CategoryID": 6, - "QuantityPerUnit": "20 - 1 kg tins", - "UnitPrice": 39.0000, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } -}, { - "ProductID": 18, - "ProductName": "Carnarvon Tigers", - "SupplierID": 7, - "CategoryID": 8, - "QuantityPerUnit": "16 kg pkg.", - "UnitPrice": 62.5000, - "UnitsInStock": 42, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 19, - "ProductName": "Teatime Chocolate Biscuits", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "10 boxes x 12 pieces", - "UnitPrice": 9.2000, - "UnitsInStock": 25, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 20, - "ProductName": "Sir Rodney's Marmalade", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "30 gift boxes", - "UnitPrice": 81.0000, - "UnitsInStock": 40, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 21, - "ProductName": "Sir Rodney's Scones", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "24 pkgs. x 4 pieces", - "UnitPrice": 10.0000, - "UnitsInStock": 3, - "UnitsOnOrder": 40, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 22, - "ProductName": "Gustaf's Knäckebröd", - "SupplierID": 9, - "CategoryID": 5, - "QuantityPerUnit": "24 - 500 g pkgs.", - "UnitPrice": 21.0000, - "UnitsInStock": 104, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 23, - "ProductName": "Tunnbröd", - "SupplierID": 9, - "CategoryID": 5, - "QuantityPerUnit": "12 - 250 g pkgs.", - "UnitPrice": 9.0000, - "UnitsInStock": 61, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 24, - "ProductName": "Guaraná Fantástica", - "SupplierID": 10, - "CategoryID": 1, - "QuantityPerUnit": "12 - 355 ml cans", - "UnitPrice": 4.5000, - "UnitsInStock": 20, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 25, - "ProductName": "NuNuCa Nuß-Nougat-Creme", - "SupplierID": 11, - "CategoryID": 3, - "QuantityPerUnit": "20 - 450 g glasses", - "UnitPrice": 14.0000, - "UnitsInStock": 76, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 26, - "ProductName": "Gumbär Gummibärchen", - "SupplierID": 11, - "CategoryID": 3, - "QuantityPerUnit": "100 - 250 g bags", - "UnitPrice": 31.2300, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 27, - "ProductName": "Schoggi Schokolade", - "SupplierID": 11, - "CategoryID": 3, - "QuantityPerUnit": "100 - 100 g pieces", - "UnitPrice": 43.9000, - "UnitsInStock": 49, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 28, - "ProductName": "Rössle Sauerkraut", - "SupplierID": 12, - "CategoryID": 7, - "QuantityPerUnit": "25 - 825 g cans", - "UnitPrice": 45.6000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } -}, { - "ProductID": 29, - "ProductName": "Thüringer Rostbratwurst", - "SupplierID": 12, - "CategoryID": 6, - "QuantityPerUnit": "50 bags x 30 sausgs.", - "UnitPrice": 123.7900, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } -}, { - "ProductID": 30, - "ProductName": "Nord-Ost Matjeshering", - "SupplierID": 13, - "CategoryID": 8, - "QuantityPerUnit": "10 - 200 g glasses", - "UnitPrice": 25.8900, - "UnitsInStock": 10, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 31, - "ProductName": "Gorgonzola Telino", - "SupplierID": 14, - "CategoryID": 4, - "QuantityPerUnit": "12 - 100 g pkgs", - "UnitPrice": 12.5000, - "UnitsInStock": 0, - "UnitsOnOrder": 70, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 32, - "ProductName": "Mascarpone Fabioli", - "SupplierID": 14, - "CategoryID": 4, - "QuantityPerUnit": "24 - 200 g pkgs.", - "UnitPrice": 32.0000, - "UnitsInStock": 9, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 33, - "ProductName": "Geitost", - "SupplierID": 15, - "CategoryID": 4, - "QuantityPerUnit": "500 g", - "UnitPrice": 2.5000, - "UnitsInStock": 112, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 34, - "ProductName": "Sasquatch Ale", - "SupplierID": 16, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 14.0000, - "UnitsInStock": 111, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 35, - "ProductName": "Steeleye Stout", - "SupplierID": 16, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 18.0000, - "UnitsInStock": 20, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 36, - "ProductName": "Inlagd Sill", - "SupplierID": 17, - "CategoryID": 8, - "QuantityPerUnit": "24 - 250 g jars", - "UnitPrice": 19.0000, - "UnitsInStock": 112, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 37, - "ProductName": "Gravad lax", - "SupplierID": 17, - "CategoryID": 8, - "QuantityPerUnit": "12 - 500 g pkgs.", - "UnitPrice": 26.0000, - "UnitsInStock": 11, - "UnitsOnOrder": 50, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 38, - "ProductName": "Côte de Blaye", - "SupplierID": 18, - "CategoryID": 1, - "QuantityPerUnit": "12 - 75 cl bottles", - "UnitPrice": 263.5000, - "UnitsInStock": 17, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 39, - "ProductName": "Chartreuse verte", - "SupplierID": 18, - "CategoryID": 1, - "QuantityPerUnit": "750 cc per bottle", - "UnitPrice": 18.0000, - "UnitsInStock": 69, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 40, - "ProductName": "Boston Crab Meat", - "SupplierID": 19, - "CategoryID": 8, - "QuantityPerUnit": "24 - 4 oz tins", - "UnitPrice": 18.4000, - "UnitsInStock": 123, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 41, - "ProductName": "Jack's New England Clam Chowder", - "SupplierID": 19, - "CategoryID": 8, - "QuantityPerUnit": "12 - 12 oz cans", - "UnitPrice": 9.6500, - "UnitsInStock": 85, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 42, - "ProductName": "Singaporean Hokkien Fried Mee", - "SupplierID": 20, - "CategoryID": 5, - "QuantityPerUnit": "32 - 1 kg pkgs.", - "UnitPrice": 14.0000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 43, - "ProductName": "Ipoh Coffee", - "SupplierID": 20, - "CategoryID": 1, - "QuantityPerUnit": "16 - 500 g tins", - "UnitPrice": 46.0000, - "UnitsInStock": 17, - "UnitsOnOrder": 10, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 44, - "ProductName": "Gula Malacca", - "SupplierID": 20, - "CategoryID": 2, - "QuantityPerUnit": "20 - 2 kg bags", - "UnitPrice": 19.4500, - "UnitsInStock": 27, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 45, - "ProductName": "Rogede sild", - "SupplierID": 21, - "CategoryID": 8, - "QuantityPerUnit": "1k pkg.", - "UnitPrice": 9.5000, - "UnitsInStock": 5, - "UnitsOnOrder": 70, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 46, - "ProductName": "Spegesild", - "SupplierID": 21, - "CategoryID": 8, - "QuantityPerUnit": "4 - 450 g glasses", - "UnitPrice": 12.0000, - "UnitsInStock": 95, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 47, - "ProductName": "Zaanse koeken", - "SupplierID": 22, - "CategoryID": 3, - "QuantityPerUnit": "10 - 4 oz boxes", - "UnitPrice": 9.5000, - "UnitsInStock": 36, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 48, - "ProductName": "Chocolade", - "SupplierID": 22, - "CategoryID": 3, - "QuantityPerUnit": "10 pkgs.", - "UnitPrice": 12.7500, - "UnitsInStock": 15, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 49, - "ProductName": "Maxilaku", - "SupplierID": 23, - "CategoryID": 3, - "QuantityPerUnit": "24 - 50 g pkgs.", - "UnitPrice": 20.0000, - "UnitsInStock": 10, - "UnitsOnOrder": 60, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 50, - "ProductName": "Valkoinen suklaa", - "SupplierID": 23, - "CategoryID": 3, - "QuantityPerUnit": "12 - 100 g bars", - "UnitPrice": 16.2500, - "UnitsInStock": 65, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 51, - "ProductName": "Manjimup Dried Apples", - "SupplierID": 24, - "CategoryID": 7, - "QuantityPerUnit": "50 - 300 g pkgs.", - "UnitPrice": 53.0000, - "UnitsInStock": 20, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } -}, { - "ProductID": 52, - "ProductName": "Filo Mix", - "SupplierID": 24, - "CategoryID": 5, - "QuantityPerUnit": "16 - 2 kg boxes", - "UnitPrice": 7.0000, - "UnitsInStock": 38, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 53, - "ProductName": "Perth Pasties", - "SupplierID": 24, - "CategoryID": 6, - "QuantityPerUnit": "48 pieces", - "UnitPrice": 32.8000, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } -}, { - "ProductID": 54, - "ProductName": "Tourtière", - "SupplierID": 25, - "CategoryID": 6, - "QuantityPerUnit": "16 pies", - "UnitPrice": 7.4500, - "UnitsInStock": 21, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } -}, { - "ProductID": 55, - "ProductName": "Pâté chinois", - "SupplierID": 25, - "CategoryID": 6, - "QuantityPerUnit": "24 boxes x 2 pies", - "UnitPrice": 24.0000, - "UnitsInStock": 115, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } -}, { - "ProductID": 56, - "ProductName": "Gnocchi di nonna Alice", - "SupplierID": 26, - "CategoryID": 5, - "QuantityPerUnit": "24 - 250 g pkgs.", - "UnitPrice": 38.0000, - "UnitsInStock": 21, - "UnitsOnOrder": 10, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 57, - "ProductName": "Ravioli Angelo", - "SupplierID": 26, - "CategoryID": 5, - "QuantityPerUnit": "24 - 250 g pkgs.", - "UnitPrice": 19.5000, - "UnitsInStock": 36, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 58, - "ProductName": "Escargots de Bourgogne", - "SupplierID": 27, - "CategoryID": 8, - "QuantityPerUnit": "24 pieces", - "UnitPrice": 13.2500, - "UnitsInStock": 62, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 59, - "ProductName": "Raclette Courdavault", - "SupplierID": 28, - "CategoryID": 4, - "QuantityPerUnit": "5 kg pkg.", - "UnitPrice": 55.0000, - "UnitsInStock": 79, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 60, - "ProductName": "Camembert Pierrot", - "SupplierID": 28, - "CategoryID": 4, - "QuantityPerUnit": "15 - 300 g rounds", - "UnitPrice": 34.0000, - "UnitsInStock": 19, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 61, - "ProductName": "Sirop d'érable", - "SupplierID": 29, - "CategoryID": 2, - "QuantityPerUnit": "24 - 500 ml bottles", - "UnitPrice": 28.5000, - "UnitsInStock": 113, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 62, - "ProductName": "Tarte au sucre", - "SupplierID": 29, - "CategoryID": 3, - "QuantityPerUnit": "48 pies", - "UnitPrice": 49.3000, - "UnitsInStock": 17, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 63, - "ProductName": "Vegie-spread", - "SupplierID": 7, - "CategoryID": 2, - "QuantityPerUnit": "15 - 625 g jars", - "UnitPrice": 43.9000, - "UnitsInStock": 24, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 64, - "ProductName": "Wimmers gute Semmelknödel", - "SupplierID": 12, - "CategoryID": 5, - "QuantityPerUnit": "20 bags x 4 pieces", - "UnitPrice": 33.2500, - "UnitsInStock": 22, - "UnitsOnOrder": 80, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } -}, { - "ProductID": 65, - "ProductName": "Louisiana Fiery Hot Pepper Sauce", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "32 - 8 oz bottles", - "UnitPrice": 21.0500, - "UnitsInStock": 76, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 66, - "ProductName": "Louisiana Hot Spiced Okra", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "24 - 8 oz jars", - "UnitPrice": 17.0000, - "UnitsInStock": 4, - "UnitsOnOrder": 100, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}, { - "ProductID": 67, - "ProductName": "Laughing Lumberjack Lager", - "SupplierID": 16, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 14.0000, - "UnitsInStock": 52, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 68, - "ProductName": "Scottish Longbreads", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "10 boxes x 8 pieces", - "UnitPrice": 12.5000, - "UnitsInStock": 6, - "UnitsOnOrder": 10, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } -}, { - "ProductID": 69, - "ProductName": "Gudbrandsdalsost", - "SupplierID": 15, - "CategoryID": 4, - "QuantityPerUnit": "10 kg pkg.", - "UnitPrice": 36.0000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 70, - "ProductName": "Outback Lager", - "SupplierID": 7, - "CategoryID": 1, - "QuantityPerUnit": "24 - 355 ml bottles", - "UnitPrice": 15.0000, - "UnitsInStock": 15, - "UnitsOnOrder": 10, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 71, - "ProductName": "Flotemysost", - "SupplierID": 15, - "CategoryID": 4, - "QuantityPerUnit": "10 - 500 g pkgs.", - "UnitPrice": 21.5000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 72, - "ProductName": "Mozzarella di Giovanni", - "SupplierID": 14, - "CategoryID": 4, - "QuantityPerUnit": "24 - 200 g pkgs.", - "UnitPrice": 34.8000, - "UnitsInStock": 14, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } -}, { - "ProductID": 73, - "ProductName": "Röd Kaviar", - "SupplierID": 17, - "CategoryID": 8, - "QuantityPerUnit": "24 - 150 g jars", - "UnitPrice": 15.0000, - "UnitsInStock": 101, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } -}, { - "ProductID": 74, - "ProductName": "Longlife Tofu", - "SupplierID": 4, - "CategoryID": 7, - "QuantityPerUnit": "5 kg pkg.", - "UnitPrice": 10.0000, - "UnitsInStock": 4, - "UnitsOnOrder": 20, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } -}, { - "ProductID": 75, - "ProductName": "Rhönbräu Klosterbier", - "SupplierID": 12, - "CategoryID": 1, - "QuantityPerUnit": "24 - 0.5 l bottles", - "UnitPrice": 7.7500, - "UnitsInStock": 125, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 76, - "ProductName": "Lakkalikööri", - "SupplierID": 23, - "CategoryID": 1, - "QuantityPerUnit": "500 ml", - "UnitPrice": 18.0000, - "UnitsInStock": 57, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } -}, { - "ProductID": 77, - "ProductName": "Original Frankfurter grüne Soße", - "SupplierID": 12, - "CategoryID": 2, - "QuantityPerUnit": "12 boxes", - "UnitPrice": 13.0000, - "UnitsInStock": 32, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } -}]; @Component({ @@ -1424,9 +9,7 @@ export const products = [{ styleUrls: ['./dashboard.component.scss'] }) export class DashboardComponent implements OnInit { - public gridData: any[] = sampleProducts; - public dialogOpened = false; - public windowOpened = false; + constructor() { } @@ -1435,16 +18,5 @@ export class DashboardComponent implements OnInit { - public close(component) { - this[component + 'Opened'] = false; - } - - public open(component) { - this[component + 'Opened'] = true; - } - public action(status) { - console.log(`Dialog result: ${status}`); - this.dialogOpened = false; - } } diff --git a/src/app/dashboard/dist/dashboard.component.js b/src/app/dashboard/dist/dashboard.component.js index 5ffe5fa..6e99460 100644 --- a/src/app/dashboard/dist/dashboard.component.js +++ b/src/app/dashboard/dist/dashboard.component.js @@ -6,1441 +6,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; exports.__esModule = true; -exports.DashboardComponent = exports.products = exports.sampleProducts = void 0; +exports.DashboardComponent = void 0; var core_1 = require("@angular/core"); -exports.sampleProducts = [ - { - "ProductID": 1, - "ProductName": "Chai11", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "10 boxes x 20 bags", - "UnitPrice": 18, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 8, 20) - }, - { - "ProductID": 2, - "ProductName": "Chang", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 19, - "UnitsInStock": 17, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 7, 12) - }, - { - "ProductID": 3, - "ProductName": "Aniseed Syrup", - "SupplierID": 1, - "CategoryID": 2, - "QuantityPerUnit": "12 - 550 ml bottles", - "UnitPrice": 10, - "UnitsInStock": 13, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 8, 26) - }, - { - "ProductID": 4, - "ProductName": "Chef Anton's Cajun Seasoning", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "48 - 6 oz jars", - "UnitPrice": 22, - "UnitsInStock": 53, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 5, - "ProductName": "Chef Anton's Gumbo Mix", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "36 boxes", - "UnitPrice": 21.35, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 7, 17) - }, - { - "ProductID": 6, - "ProductName": "Grandma's Boysenberry Spread", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 8 oz jars", - "UnitPrice": 25, - "UnitsInStock": 120, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 7, - "ProductName": "Uncle Bob's Organic Dried Pears", - "SupplierID": 3, - "CategoryID": 7, - "QuantityPerUnit": "12 - 1 lb pkgs.", - "UnitPrice": 30, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - }, - "FirstOrderedOn": new Date(1996, 7, 22) - }, - { - "ProductID": 8, - "ProductName": "Northwoods Cranberry Sauce", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 12 oz jars", - "UnitPrice": 40, - "UnitsInStock": 6, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 11, 1) - }, - { - "ProductID": 9, - "ProductName": "Mishi Kobe Niku", - "SupplierID": 4, - "CategoryID": 6, - "QuantityPerUnit": "18 - 500 g pkgs.", - "UnitPrice": 97, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - }, - "FirstOrderedOn": new Date(1997, 1, 21) - }, - { - "ProductID": 10, - "ProductName": "Ikura", - "SupplierID": 4, - "CategoryID": 8, - "QuantityPerUnit": "12 - 200 ml jars", - "UnitPrice": 31, - "UnitsInStock": 31, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - }, - "FirstOrderedOn": new Date(1996, 8, 5) - } -]; -exports.products = [{ - "ProductID": 1, - "ProductName": "Chai", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "10 boxes x 20 bags", - "UnitPrice": 18.0000, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 2, - "ProductName": "Chang", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 19.0000, - "UnitsInStock": 17, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 3, - "ProductName": "Aniseed Syrup", - "SupplierID": 1, - "CategoryID": 2, - "QuantityPerUnit": "12 - 550 ml bottles", - "UnitPrice": 10.0000, - "UnitsInStock": 13, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 4, - "ProductName": "Chef Anton's Cajun Seasoning", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "48 - 6 oz jars", - "UnitPrice": 22.0000, - "UnitsInStock": 53, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 5, - "ProductName": "Chef Anton's Gumbo Mix", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "36 boxes", - "UnitPrice": 21.3500, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 6, - "ProductName": "Grandma's Boysenberry Spread", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 8 oz jars", - "UnitPrice": 25.0000, - "UnitsInStock": 120, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 7, - "ProductName": "Uncle Bob's Organic Dried Pears", - "SupplierID": 3, - "CategoryID": 7, - "QuantityPerUnit": "12 - 1 lb pkgs.", - "UnitPrice": 30.0000, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } - }, { - "ProductID": 8, - "ProductName": "Northwoods Cranberry Sauce", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 12 oz jars", - "UnitPrice": 40.0000, - "UnitsInStock": 6, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 9, - "ProductName": "Mishi Kobe Niku", - "SupplierID": 4, - "CategoryID": 6, - "QuantityPerUnit": "18 - 500 g pkgs.", - "UnitPrice": 97.0000, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } - }, { - "ProductID": 10, - "ProductName": "Ikura", - "SupplierID": 4, - "CategoryID": 8, - "QuantityPerUnit": "12 - 200 ml jars", - "UnitPrice": 31.0000, - "UnitsInStock": 31, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 11, - "ProductName": "Queso Cabrales", - "SupplierID": 5, - "CategoryID": 4, - "QuantityPerUnit": "1 kg pkg.", - "UnitPrice": 21.0000, - "UnitsInStock": 22, - "UnitsOnOrder": 30, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 12, - "ProductName": "Queso Manchego La Pastora", - "SupplierID": 5, - "CategoryID": 4, - "QuantityPerUnit": "10 - 500 g pkgs.", - "UnitPrice": 38.0000, - "UnitsInStock": 86, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 13, - "ProductName": "Konbu", - "SupplierID": 6, - "CategoryID": 8, - "QuantityPerUnit": "2 kg box", - "UnitPrice": 6.0000, - "UnitsInStock": 24, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 14, - "ProductName": "Tofu", - "SupplierID": 6, - "CategoryID": 7, - "QuantityPerUnit": "40 - 100 g pkgs.", - "UnitPrice": 23.2500, - "UnitsInStock": 35, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } - }, { - "ProductID": 15, - "ProductName": "Genen Shouyu", - "SupplierID": 6, - "CategoryID": 2, - "QuantityPerUnit": "24 - 250 ml bottles", - "UnitPrice": 15.5000, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 16, - "ProductName": "Pavlova", - "SupplierID": 7, - "CategoryID": 3, - "QuantityPerUnit": "32 - 500 g boxes", - "UnitPrice": 17.4500, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 17, - "ProductName": "Alice Mutton", - "SupplierID": 7, - "CategoryID": 6, - "QuantityPerUnit": "20 - 1 kg tins", - "UnitPrice": 39.0000, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } - }, { - "ProductID": 18, - "ProductName": "Carnarvon Tigers", - "SupplierID": 7, - "CategoryID": 8, - "QuantityPerUnit": "16 kg pkg.", - "UnitPrice": 62.5000, - "UnitsInStock": 42, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 19, - "ProductName": "Teatime Chocolate Biscuits", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "10 boxes x 12 pieces", - "UnitPrice": 9.2000, - "UnitsInStock": 25, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 20, - "ProductName": "Sir Rodney's Marmalade", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "30 gift boxes", - "UnitPrice": 81.0000, - "UnitsInStock": 40, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 21, - "ProductName": "Sir Rodney's Scones", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "24 pkgs. x 4 pieces", - "UnitPrice": 10.0000, - "UnitsInStock": 3, - "UnitsOnOrder": 40, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 22, - "ProductName": "Gustaf's Knäckebröd", - "SupplierID": 9, - "CategoryID": 5, - "QuantityPerUnit": "24 - 500 g pkgs.", - "UnitPrice": 21.0000, - "UnitsInStock": 104, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 23, - "ProductName": "Tunnbröd", - "SupplierID": 9, - "CategoryID": 5, - "QuantityPerUnit": "12 - 250 g pkgs.", - "UnitPrice": 9.0000, - "UnitsInStock": 61, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 24, - "ProductName": "Guaraná Fantástica", - "SupplierID": 10, - "CategoryID": 1, - "QuantityPerUnit": "12 - 355 ml cans", - "UnitPrice": 4.5000, - "UnitsInStock": 20, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 25, - "ProductName": "NuNuCa Nuß-Nougat-Creme", - "SupplierID": 11, - "CategoryID": 3, - "QuantityPerUnit": "20 - 450 g glasses", - "UnitPrice": 14.0000, - "UnitsInStock": 76, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 26, - "ProductName": "Gumbär Gummibärchen", - "SupplierID": 11, - "CategoryID": 3, - "QuantityPerUnit": "100 - 250 g bags", - "UnitPrice": 31.2300, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 27, - "ProductName": "Schoggi Schokolade", - "SupplierID": 11, - "CategoryID": 3, - "QuantityPerUnit": "100 - 100 g pieces", - "UnitPrice": 43.9000, - "UnitsInStock": 49, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 28, - "ProductName": "Rössle Sauerkraut", - "SupplierID": 12, - "CategoryID": 7, - "QuantityPerUnit": "25 - 825 g cans", - "UnitPrice": 45.6000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } - }, { - "ProductID": 29, - "ProductName": "Thüringer Rostbratwurst", - "SupplierID": 12, - "CategoryID": 6, - "QuantityPerUnit": "50 bags x 30 sausgs.", - "UnitPrice": 123.7900, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } - }, { - "ProductID": 30, - "ProductName": "Nord-Ost Matjeshering", - "SupplierID": 13, - "CategoryID": 8, - "QuantityPerUnit": "10 - 200 g glasses", - "UnitPrice": 25.8900, - "UnitsInStock": 10, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 31, - "ProductName": "Gorgonzola Telino", - "SupplierID": 14, - "CategoryID": 4, - "QuantityPerUnit": "12 - 100 g pkgs", - "UnitPrice": 12.5000, - "UnitsInStock": 0, - "UnitsOnOrder": 70, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 32, - "ProductName": "Mascarpone Fabioli", - "SupplierID": 14, - "CategoryID": 4, - "QuantityPerUnit": "24 - 200 g pkgs.", - "UnitPrice": 32.0000, - "UnitsInStock": 9, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 33, - "ProductName": "Geitost", - "SupplierID": 15, - "CategoryID": 4, - "QuantityPerUnit": "500 g", - "UnitPrice": 2.5000, - "UnitsInStock": 112, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 34, - "ProductName": "Sasquatch Ale", - "SupplierID": 16, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 14.0000, - "UnitsInStock": 111, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 35, - "ProductName": "Steeleye Stout", - "SupplierID": 16, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 18.0000, - "UnitsInStock": 20, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 36, - "ProductName": "Inlagd Sill", - "SupplierID": 17, - "CategoryID": 8, - "QuantityPerUnit": "24 - 250 g jars", - "UnitPrice": 19.0000, - "UnitsInStock": 112, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 37, - "ProductName": "Gravad lax", - "SupplierID": 17, - "CategoryID": 8, - "QuantityPerUnit": "12 - 500 g pkgs.", - "UnitPrice": 26.0000, - "UnitsInStock": 11, - "UnitsOnOrder": 50, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 38, - "ProductName": "Côte de Blaye", - "SupplierID": 18, - "CategoryID": 1, - "QuantityPerUnit": "12 - 75 cl bottles", - "UnitPrice": 263.5000, - "UnitsInStock": 17, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 39, - "ProductName": "Chartreuse verte", - "SupplierID": 18, - "CategoryID": 1, - "QuantityPerUnit": "750 cc per bottle", - "UnitPrice": 18.0000, - "UnitsInStock": 69, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 40, - "ProductName": "Boston Crab Meat", - "SupplierID": 19, - "CategoryID": 8, - "QuantityPerUnit": "24 - 4 oz tins", - "UnitPrice": 18.4000, - "UnitsInStock": 123, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 41, - "ProductName": "Jack's New England Clam Chowder", - "SupplierID": 19, - "CategoryID": 8, - "QuantityPerUnit": "12 - 12 oz cans", - "UnitPrice": 9.6500, - "UnitsInStock": 85, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 42, - "ProductName": "Singaporean Hokkien Fried Mee", - "SupplierID": 20, - "CategoryID": 5, - "QuantityPerUnit": "32 - 1 kg pkgs.", - "UnitPrice": 14.0000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 43, - "ProductName": "Ipoh Coffee", - "SupplierID": 20, - "CategoryID": 1, - "QuantityPerUnit": "16 - 500 g tins", - "UnitPrice": 46.0000, - "UnitsInStock": 17, - "UnitsOnOrder": 10, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 44, - "ProductName": "Gula Malacca", - "SupplierID": 20, - "CategoryID": 2, - "QuantityPerUnit": "20 - 2 kg bags", - "UnitPrice": 19.4500, - "UnitsInStock": 27, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 45, - "ProductName": "Rogede sild", - "SupplierID": 21, - "CategoryID": 8, - "QuantityPerUnit": "1k pkg.", - "UnitPrice": 9.5000, - "UnitsInStock": 5, - "UnitsOnOrder": 70, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 46, - "ProductName": "Spegesild", - "SupplierID": 21, - "CategoryID": 8, - "QuantityPerUnit": "4 - 450 g glasses", - "UnitPrice": 12.0000, - "UnitsInStock": 95, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 47, - "ProductName": "Zaanse koeken", - "SupplierID": 22, - "CategoryID": 3, - "QuantityPerUnit": "10 - 4 oz boxes", - "UnitPrice": 9.5000, - "UnitsInStock": 36, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 48, - "ProductName": "Chocolade", - "SupplierID": 22, - "CategoryID": 3, - "QuantityPerUnit": "10 pkgs.", - "UnitPrice": 12.7500, - "UnitsInStock": 15, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 49, - "ProductName": "Maxilaku", - "SupplierID": 23, - "CategoryID": 3, - "QuantityPerUnit": "24 - 50 g pkgs.", - "UnitPrice": 20.0000, - "UnitsInStock": 10, - "UnitsOnOrder": 60, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 50, - "ProductName": "Valkoinen suklaa", - "SupplierID": 23, - "CategoryID": 3, - "QuantityPerUnit": "12 - 100 g bars", - "UnitPrice": 16.2500, - "UnitsInStock": 65, - "UnitsOnOrder": 0, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 51, - "ProductName": "Manjimup Dried Apples", - "SupplierID": 24, - "CategoryID": 7, - "QuantityPerUnit": "50 - 300 g pkgs.", - "UnitPrice": 53.0000, - "UnitsInStock": 20, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } - }, { - "ProductID": 52, - "ProductName": "Filo Mix", - "SupplierID": 24, - "CategoryID": 5, - "QuantityPerUnit": "16 - 2 kg boxes", - "UnitPrice": 7.0000, - "UnitsInStock": 38, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 53, - "ProductName": "Perth Pasties", - "SupplierID": 24, - "CategoryID": 6, - "QuantityPerUnit": "48 pieces", - "UnitPrice": 32.8000, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } - }, { - "ProductID": 54, - "ProductName": "Tourtière", - "SupplierID": 25, - "CategoryID": 6, - "QuantityPerUnit": "16 pies", - "UnitPrice": 7.4500, - "UnitsInStock": 21, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } - }, { - "ProductID": 55, - "ProductName": "Pâté chinois", - "SupplierID": 25, - "CategoryID": 6, - "QuantityPerUnit": "24 boxes x 2 pies", - "UnitPrice": 24.0000, - "UnitsInStock": 115, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - } - }, { - "ProductID": 56, - "ProductName": "Gnocchi di nonna Alice", - "SupplierID": 26, - "CategoryID": 5, - "QuantityPerUnit": "24 - 250 g pkgs.", - "UnitPrice": 38.0000, - "UnitsInStock": 21, - "UnitsOnOrder": 10, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 57, - "ProductName": "Ravioli Angelo", - "SupplierID": 26, - "CategoryID": 5, - "QuantityPerUnit": "24 - 250 g pkgs.", - "UnitPrice": 19.5000, - "UnitsInStock": 36, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 58, - "ProductName": "Escargots de Bourgogne", - "SupplierID": 27, - "CategoryID": 8, - "QuantityPerUnit": "24 pieces", - "UnitPrice": 13.2500, - "UnitsInStock": 62, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 59, - "ProductName": "Raclette Courdavault", - "SupplierID": 28, - "CategoryID": 4, - "QuantityPerUnit": "5 kg pkg.", - "UnitPrice": 55.0000, - "UnitsInStock": 79, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 60, - "ProductName": "Camembert Pierrot", - "SupplierID": 28, - "CategoryID": 4, - "QuantityPerUnit": "15 - 300 g rounds", - "UnitPrice": 34.0000, - "UnitsInStock": 19, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 61, - "ProductName": "Sirop d'érable", - "SupplierID": 29, - "CategoryID": 2, - "QuantityPerUnit": "24 - 500 ml bottles", - "UnitPrice": 28.5000, - "UnitsInStock": 113, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 62, - "ProductName": "Tarte au sucre", - "SupplierID": 29, - "CategoryID": 3, - "QuantityPerUnit": "48 pies", - "UnitPrice": 49.3000, - "UnitsInStock": 17, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 63, - "ProductName": "Vegie-spread", - "SupplierID": 7, - "CategoryID": 2, - "QuantityPerUnit": "15 - 625 g jars", - "UnitPrice": 43.9000, - "UnitsInStock": 24, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 64, - "ProductName": "Wimmers gute Semmelknödel", - "SupplierID": 12, - "CategoryID": 5, - "QuantityPerUnit": "20 bags x 4 pieces", - "UnitPrice": 33.2500, - "UnitsInStock": 22, - "UnitsOnOrder": 80, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 5, - "CategoryName": "Grains/Cereals", - "Description": "Breads, crackers, pasta, and cereal" - } - }, { - "ProductID": 65, - "ProductName": "Louisiana Fiery Hot Pepper Sauce", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "32 - 8 oz bottles", - "UnitPrice": 21.0500, - "UnitsInStock": 76, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 66, - "ProductName": "Louisiana Hot Spiced Okra", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "24 - 8 oz jars", - "UnitPrice": 17.0000, - "UnitsInStock": 4, - "UnitsOnOrder": 100, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }, { - "ProductID": 67, - "ProductName": "Laughing Lumberjack Lager", - "SupplierID": 16, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 14.0000, - "UnitsInStock": 52, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 68, - "ProductName": "Scottish Longbreads", - "SupplierID": 8, - "CategoryID": 3, - "QuantityPerUnit": "10 boxes x 8 pieces", - "UnitPrice": 12.5000, - "UnitsInStock": 6, - "UnitsOnOrder": 10, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 3, - "CategoryName": "Confections", - "Description": "Desserts, candies, and sweet breads" - } - }, { - "ProductID": 69, - "ProductName": "Gudbrandsdalsost", - "SupplierID": 15, - "CategoryID": 4, - "QuantityPerUnit": "10 kg pkg.", - "UnitPrice": 36.0000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 70, - "ProductName": "Outback Lager", - "SupplierID": 7, - "CategoryID": 1, - "QuantityPerUnit": "24 - 355 ml bottles", - "UnitPrice": 15.0000, - "UnitsInStock": 15, - "UnitsOnOrder": 10, - "ReorderLevel": 30, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 71, - "ProductName": "Flotemysost", - "SupplierID": 15, - "CategoryID": 4, - "QuantityPerUnit": "10 - 500 g pkgs.", - "UnitPrice": 21.5000, - "UnitsInStock": 26, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 72, - "ProductName": "Mozzarella di Giovanni", - "SupplierID": 14, - "CategoryID": 4, - "QuantityPerUnit": "24 - 200 g pkgs.", - "UnitPrice": 34.8000, - "UnitsInStock": 14, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 4, - "CategoryName": "Dairy Products", - "Description": "Cheeses" - } - }, { - "ProductID": 73, - "ProductName": "Röd Kaviar", - "SupplierID": 17, - "CategoryID": 8, - "QuantityPerUnit": "24 - 150 g jars", - "UnitPrice": 15.0000, - "UnitsInStock": 101, - "UnitsOnOrder": 0, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - } - }, { - "ProductID": 74, - "ProductName": "Longlife Tofu", - "SupplierID": 4, - "CategoryID": 7, - "QuantityPerUnit": "5 kg pkg.", - "UnitPrice": 10.0000, - "UnitsInStock": 4, - "UnitsOnOrder": 20, - "ReorderLevel": 5, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - } - }, { - "ProductID": 75, - "ProductName": "Rhönbräu Klosterbier", - "SupplierID": 12, - "CategoryID": 1, - "QuantityPerUnit": "24 - 0.5 l bottles", - "UnitPrice": 7.7500, - "UnitsInStock": 125, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 76, - "ProductName": "Lakkalikööri", - "SupplierID": 23, - "CategoryID": 1, - "QuantityPerUnit": "500 ml", - "UnitPrice": 18.0000, - "UnitsInStock": 57, - "UnitsOnOrder": 0, - "ReorderLevel": 20, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - } - }, { - "ProductID": 77, - "ProductName": "Original Frankfurter grüne Soße", - "SupplierID": 12, - "CategoryID": 2, - "QuantityPerUnit": "12 boxes", - "UnitPrice": 13.0000, - "UnitsInStock": 32, - "UnitsOnOrder": 0, - "ReorderLevel": 15, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - } - }]; var DashboardComponent = /** @class */ (function () { function DashboardComponent() { - this.gridData = exports.sampleProducts; - this.dialogOpened = false; - this.windowOpened = false; } DashboardComponent.prototype.ngOnInit = function () { }; - DashboardComponent.prototype.close = function (component) { - this[component + 'Opened'] = false; - }; - DashboardComponent.prototype.open = function (component) { - this[component + 'Opened'] = true; - }; - DashboardComponent.prototype.action = function (status) { - console.log("Dialog result: " + status); - this.dialogOpened = false; - }; DashboardComponent = __decorate([ core_1.Component({ selector: 'app-dashboard', diff --git a/src/app/main-menu-items.ts b/src/app/main-menu-items.ts index 19cee46..26e1c22 100644 --- a/src/app/main-menu-items.ts +++ b/src/app/main-menu-items.ts @@ -3,7 +3,8 @@ import { faChartArea, faChartPie, faIdCard, faIdCardAlt, faMoneyCheck, faUnivers export const mainMenuItems: any[] = [ { text: '', - fa: faUniversity + fa: faUniversity, + url: './#canvas' }, { text: 'SFM', @@ -58,7 +59,7 @@ export const mainMenuItems: any[] = [ { text: '--', separator: "true" }, { text: 'Broadcast' , icon : 'email'}, { text: '--', separator: "true" }, - { text: 'UnPaid', icon : 'dollar' }, + { text: 'UnPaid', fa : faMoneyCheck }, ] } ]; \ No newline at end of file diff --git a/src/app/models/dist/sample_product.js b/src/app/models/dist/sample_product.js new file mode 100644 index 0000000..0c39991 --- /dev/null +++ b/src/app/models/dist/sample_product.js @@ -0,0 +1,1418 @@ +"use strict"; +exports.__esModule = true; +exports.products = exports.sampleProducts = void 0; +exports.sampleProducts = [ + { + "ProductID": 1, + "ProductName": "Chai11", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "10 boxes x 20 bags", + "UnitPrice": 18, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + }, + "FirstOrderedOn": new Date(1996, 8, 20) + }, + { + "ProductID": 2, + "ProductName": "Chang", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 19, + "UnitsInStock": 17, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + }, + "FirstOrderedOn": new Date(1996, 7, 12) + }, + { + "ProductID": 3, + "ProductName": "Aniseed Syrup", + "SupplierID": 1, + "CategoryID": 2, + "QuantityPerUnit": "12 - 550 ml bottles", + "UnitPrice": 10, + "UnitsInStock": 13, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 8, 26) + }, + { + "ProductID": 4, + "ProductName": "Chef Anton's Cajun Seasoning", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "48 - 6 oz jars", + "UnitPrice": 22, + "UnitsInStock": 53, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 9, 19) + }, + { + "ProductID": 5, + "ProductName": "Chef Anton's Gumbo Mix", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "36 boxes", + "UnitPrice": 21.35, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 7, 17) + }, + { + "ProductID": 6, + "ProductName": "Grandma's Boysenberry Spread", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 8 oz jars", + "UnitPrice": 25, + "UnitsInStock": 120, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 9, 19) + }, + { + "ProductID": 7, + "ProductName": "Uncle Bob's Organic Dried Pears", + "SupplierID": 3, + "CategoryID": 7, + "QuantityPerUnit": "12 - 1 lb pkgs.", + "UnitPrice": 30, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + }, + "FirstOrderedOn": new Date(1996, 7, 22) + }, + { + "ProductID": 8, + "ProductName": "Northwoods Cranberry Sauce", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 12 oz jars", + "UnitPrice": 40, + "UnitsInStock": 6, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 11, 1) + }, + { + "ProductID": 9, + "ProductName": "Mishi Kobe Niku", + "SupplierID": 4, + "CategoryID": 6, + "QuantityPerUnit": "18 - 500 g pkgs.", + "UnitPrice": 97, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + }, + "FirstOrderedOn": new Date(1997, 1, 21) + }, + { + "ProductID": 10, + "ProductName": "Ikura", + "SupplierID": 4, + "CategoryID": 8, + "QuantityPerUnit": "12 - 200 ml jars", + "UnitPrice": 31, + "UnitsInStock": 31, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + }, + "FirstOrderedOn": new Date(1996, 8, 5) + } +]; +exports.products = [{ + "ProductID": 1, + "ProductName": "Chai", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "10 boxes x 20 bags", + "UnitPrice": 18.0000, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 2, + "ProductName": "Chang", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 19.0000, + "UnitsInStock": 17, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 3, + "ProductName": "Aniseed Syrup", + "SupplierID": 1, + "CategoryID": 2, + "QuantityPerUnit": "12 - 550 ml bottles", + "UnitPrice": 10.0000, + "UnitsInStock": 13, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 4, + "ProductName": "Chef Anton's Cajun Seasoning", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "48 - 6 oz jars", + "UnitPrice": 22.0000, + "UnitsInStock": 53, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 5, + "ProductName": "Chef Anton's Gumbo Mix", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "36 boxes", + "UnitPrice": 21.3500, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 6, + "ProductName": "Grandma's Boysenberry Spread", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 8 oz jars", + "UnitPrice": 25.0000, + "UnitsInStock": 120, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 7, + "ProductName": "Uncle Bob's Organic Dried Pears", + "SupplierID": 3, + "CategoryID": 7, + "QuantityPerUnit": "12 - 1 lb pkgs.", + "UnitPrice": 30.0000, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 8, + "ProductName": "Northwoods Cranberry Sauce", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 12 oz jars", + "UnitPrice": 40.0000, + "UnitsInStock": 6, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 9, + "ProductName": "Mishi Kobe Niku", + "SupplierID": 4, + "CategoryID": 6, + "QuantityPerUnit": "18 - 500 g pkgs.", + "UnitPrice": 97.0000, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 10, + "ProductName": "Ikura", + "SupplierID": 4, + "CategoryID": 8, + "QuantityPerUnit": "12 - 200 ml jars", + "UnitPrice": 31.0000, + "UnitsInStock": 31, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 11, + "ProductName": "Queso Cabrales", + "SupplierID": 5, + "CategoryID": 4, + "QuantityPerUnit": "1 kg pkg.", + "UnitPrice": 21.0000, + "UnitsInStock": 22, + "UnitsOnOrder": 30, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 12, + "ProductName": "Queso Manchego La Pastora", + "SupplierID": 5, + "CategoryID": 4, + "QuantityPerUnit": "10 - 500 g pkgs.", + "UnitPrice": 38.0000, + "UnitsInStock": 86, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 13, + "ProductName": "Konbu", + "SupplierID": 6, + "CategoryID": 8, + "QuantityPerUnit": "2 kg box", + "UnitPrice": 6.0000, + "UnitsInStock": 24, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 14, + "ProductName": "Tofu", + "SupplierID": 6, + "CategoryID": 7, + "QuantityPerUnit": "40 - 100 g pkgs.", + "UnitPrice": 23.2500, + "UnitsInStock": 35, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 15, + "ProductName": "Genen Shouyu", + "SupplierID": 6, + "CategoryID": 2, + "QuantityPerUnit": "24 - 250 ml bottles", + "UnitPrice": 15.5000, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 16, + "ProductName": "Pavlova", + "SupplierID": 7, + "CategoryID": 3, + "QuantityPerUnit": "32 - 500 g boxes", + "UnitPrice": 17.4500, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 17, + "ProductName": "Alice Mutton", + "SupplierID": 7, + "CategoryID": 6, + "QuantityPerUnit": "20 - 1 kg tins", + "UnitPrice": 39.0000, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 18, + "ProductName": "Carnarvon Tigers", + "SupplierID": 7, + "CategoryID": 8, + "QuantityPerUnit": "16 kg pkg.", + "UnitPrice": 62.5000, + "UnitsInStock": 42, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 19, + "ProductName": "Teatime Chocolate Biscuits", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "10 boxes x 12 pieces", + "UnitPrice": 9.2000, + "UnitsInStock": 25, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 20, + "ProductName": "Sir Rodney's Marmalade", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "30 gift boxes", + "UnitPrice": 81.0000, + "UnitsInStock": 40, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 21, + "ProductName": "Sir Rodney's Scones", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "24 pkgs. x 4 pieces", + "UnitPrice": 10.0000, + "UnitsInStock": 3, + "UnitsOnOrder": 40, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 22, + "ProductName": "Gustaf's Knäckebröd", + "SupplierID": 9, + "CategoryID": 5, + "QuantityPerUnit": "24 - 500 g pkgs.", + "UnitPrice": 21.0000, + "UnitsInStock": 104, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 23, + "ProductName": "Tunnbröd", + "SupplierID": 9, + "CategoryID": 5, + "QuantityPerUnit": "12 - 250 g pkgs.", + "UnitPrice": 9.0000, + "UnitsInStock": 61, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 24, + "ProductName": "Guaraná Fantástica", + "SupplierID": 10, + "CategoryID": 1, + "QuantityPerUnit": "12 - 355 ml cans", + "UnitPrice": 4.5000, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 25, + "ProductName": "NuNuCa Nuß-Nougat-Creme", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "20 - 450 g glasses", + "UnitPrice": 14.0000, + "UnitsInStock": 76, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 26, + "ProductName": "Gumbär Gummibärchen", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "100 - 250 g bags", + "UnitPrice": 31.2300, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 27, + "ProductName": "Schoggi Schokolade", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "100 - 100 g pieces", + "UnitPrice": 43.9000, + "UnitsInStock": 49, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 28, + "ProductName": "Rössle Sauerkraut", + "SupplierID": 12, + "CategoryID": 7, + "QuantityPerUnit": "25 - 825 g cans", + "UnitPrice": 45.6000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 29, + "ProductName": "Thüringer Rostbratwurst", + "SupplierID": 12, + "CategoryID": 6, + "QuantityPerUnit": "50 bags x 30 sausgs.", + "UnitPrice": 123.7900, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 30, + "ProductName": "Nord-Ost Matjeshering", + "SupplierID": 13, + "CategoryID": 8, + "QuantityPerUnit": "10 - 200 g glasses", + "UnitPrice": 25.8900, + "UnitsInStock": 10, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 31, + "ProductName": "Gorgonzola Telino", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "12 - 100 g pkgs", + "UnitPrice": 12.5000, + "UnitsInStock": 0, + "UnitsOnOrder": 70, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 32, + "ProductName": "Mascarpone Fabioli", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "24 - 200 g pkgs.", + "UnitPrice": 32.0000, + "UnitsInStock": 9, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 33, + "ProductName": "Geitost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "500 g", + "UnitPrice": 2.5000, + "UnitsInStock": 112, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 34, + "ProductName": "Sasquatch Ale", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 14.0000, + "UnitsInStock": 111, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 35, + "ProductName": "Steeleye Stout", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 18.0000, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 36, + "ProductName": "Inlagd Sill", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "24 - 250 g jars", + "UnitPrice": 19.0000, + "UnitsInStock": 112, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 37, + "ProductName": "Gravad lax", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "12 - 500 g pkgs.", + "UnitPrice": 26.0000, + "UnitsInStock": 11, + "UnitsOnOrder": 50, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 38, + "ProductName": "Côte de Blaye", + "SupplierID": 18, + "CategoryID": 1, + "QuantityPerUnit": "12 - 75 cl bottles", + "UnitPrice": 263.5000, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 39, + "ProductName": "Chartreuse verte", + "SupplierID": 18, + "CategoryID": 1, + "QuantityPerUnit": "750 cc per bottle", + "UnitPrice": 18.0000, + "UnitsInStock": 69, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 40, + "ProductName": "Boston Crab Meat", + "SupplierID": 19, + "CategoryID": 8, + "QuantityPerUnit": "24 - 4 oz tins", + "UnitPrice": 18.4000, + "UnitsInStock": 123, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 41, + "ProductName": "Jack's New England Clam Chowder", + "SupplierID": 19, + "CategoryID": 8, + "QuantityPerUnit": "12 - 12 oz cans", + "UnitPrice": 9.6500, + "UnitsInStock": 85, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 42, + "ProductName": "Singaporean Hokkien Fried Mee", + "SupplierID": 20, + "CategoryID": 5, + "QuantityPerUnit": "32 - 1 kg pkgs.", + "UnitPrice": 14.0000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 43, + "ProductName": "Ipoh Coffee", + "SupplierID": 20, + "CategoryID": 1, + "QuantityPerUnit": "16 - 500 g tins", + "UnitPrice": 46.0000, + "UnitsInStock": 17, + "UnitsOnOrder": 10, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 44, + "ProductName": "Gula Malacca", + "SupplierID": 20, + "CategoryID": 2, + "QuantityPerUnit": "20 - 2 kg bags", + "UnitPrice": 19.4500, + "UnitsInStock": 27, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 45, + "ProductName": "Rogede sild", + "SupplierID": 21, + "CategoryID": 8, + "QuantityPerUnit": "1k pkg.", + "UnitPrice": 9.5000, + "UnitsInStock": 5, + "UnitsOnOrder": 70, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 46, + "ProductName": "Spegesild", + "SupplierID": 21, + "CategoryID": 8, + "QuantityPerUnit": "4 - 450 g glasses", + "UnitPrice": 12.0000, + "UnitsInStock": 95, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 47, + "ProductName": "Zaanse koeken", + "SupplierID": 22, + "CategoryID": 3, + "QuantityPerUnit": "10 - 4 oz boxes", + "UnitPrice": 9.5000, + "UnitsInStock": 36, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 48, + "ProductName": "Chocolade", + "SupplierID": 22, + "CategoryID": 3, + "QuantityPerUnit": "10 pkgs.", + "UnitPrice": 12.7500, + "UnitsInStock": 15, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 49, + "ProductName": "Maxilaku", + "SupplierID": 23, + "CategoryID": 3, + "QuantityPerUnit": "24 - 50 g pkgs.", + "UnitPrice": 20.0000, + "UnitsInStock": 10, + "UnitsOnOrder": 60, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 50, + "ProductName": "Valkoinen suklaa", + "SupplierID": 23, + "CategoryID": 3, + "QuantityPerUnit": "12 - 100 g bars", + "UnitPrice": 16.2500, + "UnitsInStock": 65, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 51, + "ProductName": "Manjimup Dried Apples", + "SupplierID": 24, + "CategoryID": 7, + "QuantityPerUnit": "50 - 300 g pkgs.", + "UnitPrice": 53.0000, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 52, + "ProductName": "Filo Mix", + "SupplierID": 24, + "CategoryID": 5, + "QuantityPerUnit": "16 - 2 kg boxes", + "UnitPrice": 7.0000, + "UnitsInStock": 38, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 53, + "ProductName": "Perth Pasties", + "SupplierID": 24, + "CategoryID": 6, + "QuantityPerUnit": "48 pieces", + "UnitPrice": 32.8000, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 54, + "ProductName": "Tourtière", + "SupplierID": 25, + "CategoryID": 6, + "QuantityPerUnit": "16 pies", + "UnitPrice": 7.4500, + "UnitsInStock": 21, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 55, + "ProductName": "Pâté chinois", + "SupplierID": 25, + "CategoryID": 6, + "QuantityPerUnit": "24 boxes x 2 pies", + "UnitPrice": 24.0000, + "UnitsInStock": 115, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 56, + "ProductName": "Gnocchi di nonna Alice", + "SupplierID": 26, + "CategoryID": 5, + "QuantityPerUnit": "24 - 250 g pkgs.", + "UnitPrice": 38.0000, + "UnitsInStock": 21, + "UnitsOnOrder": 10, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 57, + "ProductName": "Ravioli Angelo", + "SupplierID": 26, + "CategoryID": 5, + "QuantityPerUnit": "24 - 250 g pkgs.", + "UnitPrice": 19.5000, + "UnitsInStock": 36, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 58, + "ProductName": "Escargots de Bourgogne", + "SupplierID": 27, + "CategoryID": 8, + "QuantityPerUnit": "24 pieces", + "UnitPrice": 13.2500, + "UnitsInStock": 62, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 59, + "ProductName": "Raclette Courdavault", + "SupplierID": 28, + "CategoryID": 4, + "QuantityPerUnit": "5 kg pkg.", + "UnitPrice": 55.0000, + "UnitsInStock": 79, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 60, + "ProductName": "Camembert Pierrot", + "SupplierID": 28, + "CategoryID": 4, + "QuantityPerUnit": "15 - 300 g rounds", + "UnitPrice": 34.0000, + "UnitsInStock": 19, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 61, + "ProductName": "Sirop d'érable", + "SupplierID": 29, + "CategoryID": 2, + "QuantityPerUnit": "24 - 500 ml bottles", + "UnitPrice": 28.5000, + "UnitsInStock": 113, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 62, + "ProductName": "Tarte au sucre", + "SupplierID": 29, + "CategoryID": 3, + "QuantityPerUnit": "48 pies", + "UnitPrice": 49.3000, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 63, + "ProductName": "Vegie-spread", + "SupplierID": 7, + "CategoryID": 2, + "QuantityPerUnit": "15 - 625 g jars", + "UnitPrice": 43.9000, + "UnitsInStock": 24, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 64, + "ProductName": "Wimmers gute Semmelknödel", + "SupplierID": 12, + "CategoryID": 5, + "QuantityPerUnit": "20 bags x 4 pieces", + "UnitPrice": 33.2500, + "UnitsInStock": 22, + "UnitsOnOrder": 80, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 65, + "ProductName": "Louisiana Fiery Hot Pepper Sauce", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "32 - 8 oz bottles", + "UnitPrice": 21.0500, + "UnitsInStock": 76, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 66, + "ProductName": "Louisiana Hot Spiced Okra", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "24 - 8 oz jars", + "UnitPrice": 17.0000, + "UnitsInStock": 4, + "UnitsOnOrder": 100, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 67, + "ProductName": "Laughing Lumberjack Lager", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 14.0000, + "UnitsInStock": 52, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 68, + "ProductName": "Scottish Longbreads", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "10 boxes x 8 pieces", + "UnitPrice": 12.5000, + "UnitsInStock": 6, + "UnitsOnOrder": 10, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 69, + "ProductName": "Gudbrandsdalsost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "10 kg pkg.", + "UnitPrice": 36.0000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 70, + "ProductName": "Outback Lager", + "SupplierID": 7, + "CategoryID": 1, + "QuantityPerUnit": "24 - 355 ml bottles", + "UnitPrice": 15.0000, + "UnitsInStock": 15, + "UnitsOnOrder": 10, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 71, + "ProductName": "Flotemysost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "10 - 500 g pkgs.", + "UnitPrice": 21.5000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 72, + "ProductName": "Mozzarella di Giovanni", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "24 - 200 g pkgs.", + "UnitPrice": 34.8000, + "UnitsInStock": 14, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 73, + "ProductName": "Röd Kaviar", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "24 - 150 g jars", + "UnitPrice": 15.0000, + "UnitsInStock": 101, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 74, + "ProductName": "Longlife Tofu", + "SupplierID": 4, + "CategoryID": 7, + "QuantityPerUnit": "5 kg pkg.", + "UnitPrice": 10.0000, + "UnitsInStock": 4, + "UnitsOnOrder": 20, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 75, + "ProductName": "Rhönbräu Klosterbier", + "SupplierID": 12, + "CategoryID": 1, + "QuantityPerUnit": "24 - 0.5 l bottles", + "UnitPrice": 7.7500, + "UnitsInStock": 125, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 76, + "ProductName": "Lakkalikööri", + "SupplierID": 23, + "CategoryID": 1, + "QuantityPerUnit": "500 ml", + "UnitPrice": 18.0000, + "UnitsInStock": 57, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 77, + "ProductName": "Original Frankfurter grüne Soße", + "SupplierID": 12, + "CategoryID": 2, + "QuantityPerUnit": "12 boxes", + "UnitPrice": 13.0000, + "UnitsInStock": 32, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }]; diff --git a/src/app/models/sample_product.ts b/src/app/models/sample_product.ts new file mode 100644 index 0000000..16edc19 --- /dev/null +++ b/src/app/models/sample_product.ts @@ -0,0 +1,1416 @@ +export const sampleProducts = [ + { + "ProductID": 1, + "ProductName": "Chai11", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "10 boxes x 20 bags", + "UnitPrice": 18, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + }, + "FirstOrderedOn": new Date(1996, 8, 20) + }, + { + "ProductID": 2, + "ProductName": "Chang", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 19, + "UnitsInStock": 17, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + }, + "FirstOrderedOn": new Date(1996, 7, 12) + }, + { + "ProductID": 3, + "ProductName": "Aniseed Syrup", + "SupplierID": 1, + "CategoryID": 2, + "QuantityPerUnit": "12 - 550 ml bottles", + "UnitPrice": 10, + "UnitsInStock": 13, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 8, 26) + }, + { + "ProductID": 4, + "ProductName": "Chef Anton's Cajun Seasoning", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "48 - 6 oz jars", + "UnitPrice": 22, + "UnitsInStock": 53, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 9, 19) + }, + { + "ProductID": 5, + "ProductName": "Chef Anton's Gumbo Mix", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "36 boxes", + "UnitPrice": 21.35, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 7, 17) + }, + { + "ProductID": 6, + "ProductName": "Grandma's Boysenberry Spread", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 8 oz jars", + "UnitPrice": 25, + "UnitsInStock": 120, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 9, 19) + }, + { + "ProductID": 7, + "ProductName": "Uncle Bob's Organic Dried Pears", + "SupplierID": 3, + "CategoryID": 7, + "QuantityPerUnit": "12 - 1 lb pkgs.", + "UnitPrice": 30, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + }, + "FirstOrderedOn": new Date(1996, 7, 22) + }, + { + "ProductID": 8, + "ProductName": "Northwoods Cranberry Sauce", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 12 oz jars", + "UnitPrice": 40, + "UnitsInStock": 6, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 11, 1) + }, + { + "ProductID": 9, + "ProductName": "Mishi Kobe Niku", + "SupplierID": 4, + "CategoryID": 6, + "QuantityPerUnit": "18 - 500 g pkgs.", + "UnitPrice": 97, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + }, + "FirstOrderedOn": new Date(1997, 1, 21) + }, + { + "ProductID": 10, + "ProductName": "Ikura", + "SupplierID": 4, + "CategoryID": 8, + "QuantityPerUnit": "12 - 200 ml jars", + "UnitPrice": 31, + "UnitsInStock": 31, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + }, + "FirstOrderedOn": new Date(1996, 8, 5) + } + ]; + + export const products = [{ + "ProductID": 1, + "ProductName": "Chai", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "10 boxes x 20 bags", + "UnitPrice": 18.0000, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 2, + "ProductName": "Chang", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 19.0000, + "UnitsInStock": 17, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 3, + "ProductName": "Aniseed Syrup", + "SupplierID": 1, + "CategoryID": 2, + "QuantityPerUnit": "12 - 550 ml bottles", + "UnitPrice": 10.0000, + "UnitsInStock": 13, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 4, + "ProductName": "Chef Anton's Cajun Seasoning", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "48 - 6 oz jars", + "UnitPrice": 22.0000, + "UnitsInStock": 53, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 5, + "ProductName": "Chef Anton's Gumbo Mix", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "36 boxes", + "UnitPrice": 21.3500, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 6, + "ProductName": "Grandma's Boysenberry Spread", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 8 oz jars", + "UnitPrice": 25.0000, + "UnitsInStock": 120, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 7, + "ProductName": "Uncle Bob's Organic Dried Pears", + "SupplierID": 3, + "CategoryID": 7, + "QuantityPerUnit": "12 - 1 lb pkgs.", + "UnitPrice": 30.0000, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 8, + "ProductName": "Northwoods Cranberry Sauce", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 12 oz jars", + "UnitPrice": 40.0000, + "UnitsInStock": 6, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 9, + "ProductName": "Mishi Kobe Niku", + "SupplierID": 4, + "CategoryID": 6, + "QuantityPerUnit": "18 - 500 g pkgs.", + "UnitPrice": 97.0000, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 10, + "ProductName": "Ikura", + "SupplierID": 4, + "CategoryID": 8, + "QuantityPerUnit": "12 - 200 ml jars", + "UnitPrice": 31.0000, + "UnitsInStock": 31, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 11, + "ProductName": "Queso Cabrales", + "SupplierID": 5, + "CategoryID": 4, + "QuantityPerUnit": "1 kg pkg.", + "UnitPrice": 21.0000, + "UnitsInStock": 22, + "UnitsOnOrder": 30, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 12, + "ProductName": "Queso Manchego La Pastora", + "SupplierID": 5, + "CategoryID": 4, + "QuantityPerUnit": "10 - 500 g pkgs.", + "UnitPrice": 38.0000, + "UnitsInStock": 86, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 13, + "ProductName": "Konbu", + "SupplierID": 6, + "CategoryID": 8, + "QuantityPerUnit": "2 kg box", + "UnitPrice": 6.0000, + "UnitsInStock": 24, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 14, + "ProductName": "Tofu", + "SupplierID": 6, + "CategoryID": 7, + "QuantityPerUnit": "40 - 100 g pkgs.", + "UnitPrice": 23.2500, + "UnitsInStock": 35, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 15, + "ProductName": "Genen Shouyu", + "SupplierID": 6, + "CategoryID": 2, + "QuantityPerUnit": "24 - 250 ml bottles", + "UnitPrice": 15.5000, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 16, + "ProductName": "Pavlova", + "SupplierID": 7, + "CategoryID": 3, + "QuantityPerUnit": "32 - 500 g boxes", + "UnitPrice": 17.4500, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 17, + "ProductName": "Alice Mutton", + "SupplierID": 7, + "CategoryID": 6, + "QuantityPerUnit": "20 - 1 kg tins", + "UnitPrice": 39.0000, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 18, + "ProductName": "Carnarvon Tigers", + "SupplierID": 7, + "CategoryID": 8, + "QuantityPerUnit": "16 kg pkg.", + "UnitPrice": 62.5000, + "UnitsInStock": 42, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 19, + "ProductName": "Teatime Chocolate Biscuits", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "10 boxes x 12 pieces", + "UnitPrice": 9.2000, + "UnitsInStock": 25, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 20, + "ProductName": "Sir Rodney's Marmalade", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "30 gift boxes", + "UnitPrice": 81.0000, + "UnitsInStock": 40, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 21, + "ProductName": "Sir Rodney's Scones", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "24 pkgs. x 4 pieces", + "UnitPrice": 10.0000, + "UnitsInStock": 3, + "UnitsOnOrder": 40, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 22, + "ProductName": "Gustaf's Knäckebröd", + "SupplierID": 9, + "CategoryID": 5, + "QuantityPerUnit": "24 - 500 g pkgs.", + "UnitPrice": 21.0000, + "UnitsInStock": 104, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 23, + "ProductName": "Tunnbröd", + "SupplierID": 9, + "CategoryID": 5, + "QuantityPerUnit": "12 - 250 g pkgs.", + "UnitPrice": 9.0000, + "UnitsInStock": 61, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 24, + "ProductName": "Guaraná Fantástica", + "SupplierID": 10, + "CategoryID": 1, + "QuantityPerUnit": "12 - 355 ml cans", + "UnitPrice": 4.5000, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 25, + "ProductName": "NuNuCa Nuß-Nougat-Creme", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "20 - 450 g glasses", + "UnitPrice": 14.0000, + "UnitsInStock": 76, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 26, + "ProductName": "Gumbär Gummibärchen", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "100 - 250 g bags", + "UnitPrice": 31.2300, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 27, + "ProductName": "Schoggi Schokolade", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "100 - 100 g pieces", + "UnitPrice": 43.9000, + "UnitsInStock": 49, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 28, + "ProductName": "Rössle Sauerkraut", + "SupplierID": 12, + "CategoryID": 7, + "QuantityPerUnit": "25 - 825 g cans", + "UnitPrice": 45.6000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 29, + "ProductName": "Thüringer Rostbratwurst", + "SupplierID": 12, + "CategoryID": 6, + "QuantityPerUnit": "50 bags x 30 sausgs.", + "UnitPrice": 123.7900, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 30, + "ProductName": "Nord-Ost Matjeshering", + "SupplierID": 13, + "CategoryID": 8, + "QuantityPerUnit": "10 - 200 g glasses", + "UnitPrice": 25.8900, + "UnitsInStock": 10, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 31, + "ProductName": "Gorgonzola Telino", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "12 - 100 g pkgs", + "UnitPrice": 12.5000, + "UnitsInStock": 0, + "UnitsOnOrder": 70, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 32, + "ProductName": "Mascarpone Fabioli", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "24 - 200 g pkgs.", + "UnitPrice": 32.0000, + "UnitsInStock": 9, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 33, + "ProductName": "Geitost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "500 g", + "UnitPrice": 2.5000, + "UnitsInStock": 112, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 34, + "ProductName": "Sasquatch Ale", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 14.0000, + "UnitsInStock": 111, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 35, + "ProductName": "Steeleye Stout", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 18.0000, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 36, + "ProductName": "Inlagd Sill", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "24 - 250 g jars", + "UnitPrice": 19.0000, + "UnitsInStock": 112, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 37, + "ProductName": "Gravad lax", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "12 - 500 g pkgs.", + "UnitPrice": 26.0000, + "UnitsInStock": 11, + "UnitsOnOrder": 50, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 38, + "ProductName": "Côte de Blaye", + "SupplierID": 18, + "CategoryID": 1, + "QuantityPerUnit": "12 - 75 cl bottles", + "UnitPrice": 263.5000, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 39, + "ProductName": "Chartreuse verte", + "SupplierID": 18, + "CategoryID": 1, + "QuantityPerUnit": "750 cc per bottle", + "UnitPrice": 18.0000, + "UnitsInStock": 69, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 40, + "ProductName": "Boston Crab Meat", + "SupplierID": 19, + "CategoryID": 8, + "QuantityPerUnit": "24 - 4 oz tins", + "UnitPrice": 18.4000, + "UnitsInStock": 123, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 41, + "ProductName": "Jack's New England Clam Chowder", + "SupplierID": 19, + "CategoryID": 8, + "QuantityPerUnit": "12 - 12 oz cans", + "UnitPrice": 9.6500, + "UnitsInStock": 85, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 42, + "ProductName": "Singaporean Hokkien Fried Mee", + "SupplierID": 20, + "CategoryID": 5, + "QuantityPerUnit": "32 - 1 kg pkgs.", + "UnitPrice": 14.0000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 43, + "ProductName": "Ipoh Coffee", + "SupplierID": 20, + "CategoryID": 1, + "QuantityPerUnit": "16 - 500 g tins", + "UnitPrice": 46.0000, + "UnitsInStock": 17, + "UnitsOnOrder": 10, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 44, + "ProductName": "Gula Malacca", + "SupplierID": 20, + "CategoryID": 2, + "QuantityPerUnit": "20 - 2 kg bags", + "UnitPrice": 19.4500, + "UnitsInStock": 27, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 45, + "ProductName": "Rogede sild", + "SupplierID": 21, + "CategoryID": 8, + "QuantityPerUnit": "1k pkg.", + "UnitPrice": 9.5000, + "UnitsInStock": 5, + "UnitsOnOrder": 70, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 46, + "ProductName": "Spegesild", + "SupplierID": 21, + "CategoryID": 8, + "QuantityPerUnit": "4 - 450 g glasses", + "UnitPrice": 12.0000, + "UnitsInStock": 95, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 47, + "ProductName": "Zaanse koeken", + "SupplierID": 22, + "CategoryID": 3, + "QuantityPerUnit": "10 - 4 oz boxes", + "UnitPrice": 9.5000, + "UnitsInStock": 36, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 48, + "ProductName": "Chocolade", + "SupplierID": 22, + "CategoryID": 3, + "QuantityPerUnit": "10 pkgs.", + "UnitPrice": 12.7500, + "UnitsInStock": 15, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 49, + "ProductName": "Maxilaku", + "SupplierID": 23, + "CategoryID": 3, + "QuantityPerUnit": "24 - 50 g pkgs.", + "UnitPrice": 20.0000, + "UnitsInStock": 10, + "UnitsOnOrder": 60, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 50, + "ProductName": "Valkoinen suklaa", + "SupplierID": 23, + "CategoryID": 3, + "QuantityPerUnit": "12 - 100 g bars", + "UnitPrice": 16.2500, + "UnitsInStock": 65, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 51, + "ProductName": "Manjimup Dried Apples", + "SupplierID": 24, + "CategoryID": 7, + "QuantityPerUnit": "50 - 300 g pkgs.", + "UnitPrice": 53.0000, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 52, + "ProductName": "Filo Mix", + "SupplierID": 24, + "CategoryID": 5, + "QuantityPerUnit": "16 - 2 kg boxes", + "UnitPrice": 7.0000, + "UnitsInStock": 38, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 53, + "ProductName": "Perth Pasties", + "SupplierID": 24, + "CategoryID": 6, + "QuantityPerUnit": "48 pieces", + "UnitPrice": 32.8000, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 54, + "ProductName": "Tourtière", + "SupplierID": 25, + "CategoryID": 6, + "QuantityPerUnit": "16 pies", + "UnitPrice": 7.4500, + "UnitsInStock": 21, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 55, + "ProductName": "Pâté chinois", + "SupplierID": 25, + "CategoryID": 6, + "QuantityPerUnit": "24 boxes x 2 pies", + "UnitPrice": 24.0000, + "UnitsInStock": 115, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + } + }, { + "ProductID": 56, + "ProductName": "Gnocchi di nonna Alice", + "SupplierID": 26, + "CategoryID": 5, + "QuantityPerUnit": "24 - 250 g pkgs.", + "UnitPrice": 38.0000, + "UnitsInStock": 21, + "UnitsOnOrder": 10, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 57, + "ProductName": "Ravioli Angelo", + "SupplierID": 26, + "CategoryID": 5, + "QuantityPerUnit": "24 - 250 g pkgs.", + "UnitPrice": 19.5000, + "UnitsInStock": 36, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 58, + "ProductName": "Escargots de Bourgogne", + "SupplierID": 27, + "CategoryID": 8, + "QuantityPerUnit": "24 pieces", + "UnitPrice": 13.2500, + "UnitsInStock": 62, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 59, + "ProductName": "Raclette Courdavault", + "SupplierID": 28, + "CategoryID": 4, + "QuantityPerUnit": "5 kg pkg.", + "UnitPrice": 55.0000, + "UnitsInStock": 79, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 60, + "ProductName": "Camembert Pierrot", + "SupplierID": 28, + "CategoryID": 4, + "QuantityPerUnit": "15 - 300 g rounds", + "UnitPrice": 34.0000, + "UnitsInStock": 19, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 61, + "ProductName": "Sirop d'érable", + "SupplierID": 29, + "CategoryID": 2, + "QuantityPerUnit": "24 - 500 ml bottles", + "UnitPrice": 28.5000, + "UnitsInStock": 113, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 62, + "ProductName": "Tarte au sucre", + "SupplierID": 29, + "CategoryID": 3, + "QuantityPerUnit": "48 pies", + "UnitPrice": 49.3000, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 63, + "ProductName": "Vegie-spread", + "SupplierID": 7, + "CategoryID": 2, + "QuantityPerUnit": "15 - 625 g jars", + "UnitPrice": 43.9000, + "UnitsInStock": 24, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 64, + "ProductName": "Wimmers gute Semmelknödel", + "SupplierID": 12, + "CategoryID": 5, + "QuantityPerUnit": "20 bags x 4 pieces", + "UnitPrice": 33.2500, + "UnitsInStock": 22, + "UnitsOnOrder": 80, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal" + } + }, { + "ProductID": 65, + "ProductName": "Louisiana Fiery Hot Pepper Sauce", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "32 - 8 oz bottles", + "UnitPrice": 21.0500, + "UnitsInStock": 76, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 66, + "ProductName": "Louisiana Hot Spiced Okra", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "24 - 8 oz jars", + "UnitPrice": 17.0000, + "UnitsInStock": 4, + "UnitsOnOrder": 100, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }, { + "ProductID": 67, + "ProductName": "Laughing Lumberjack Lager", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 14.0000, + "UnitsInStock": 52, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 68, + "ProductName": "Scottish Longbreads", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "10 boxes x 8 pieces", + "UnitPrice": 12.5000, + "UnitsInStock": 6, + "UnitsOnOrder": 10, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads" + } + }, { + "ProductID": 69, + "ProductName": "Gudbrandsdalsost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "10 kg pkg.", + "UnitPrice": 36.0000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 70, + "ProductName": "Outback Lager", + "SupplierID": 7, + "CategoryID": 1, + "QuantityPerUnit": "24 - 355 ml bottles", + "UnitPrice": 15.0000, + "UnitsInStock": 15, + "UnitsOnOrder": 10, + "ReorderLevel": 30, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 71, + "ProductName": "Flotemysost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "10 - 500 g pkgs.", + "UnitPrice": 21.5000, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 72, + "ProductName": "Mozzarella di Giovanni", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "24 - 200 g pkgs.", + "UnitPrice": 34.8000, + "UnitsInStock": 14, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses" + } + }, { + "ProductID": 73, + "ProductName": "Röd Kaviar", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "24 - 150 g jars", + "UnitPrice": 15.0000, + "UnitsInStock": 101, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + } + }, { + "ProductID": 74, + "ProductName": "Longlife Tofu", + "SupplierID": 4, + "CategoryID": 7, + "QuantityPerUnit": "5 kg pkg.", + "UnitPrice": 10.0000, + "UnitsInStock": 4, + "UnitsOnOrder": 20, + "ReorderLevel": 5, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + } + }, { + "ProductID": 75, + "ProductName": "Rhönbräu Klosterbier", + "SupplierID": 12, + "CategoryID": 1, + "QuantityPerUnit": "24 - 0.5 l bottles", + "UnitPrice": 7.7500, + "UnitsInStock": 125, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 76, + "ProductName": "Lakkalikööri", + "SupplierID": 23, + "CategoryID": 1, + "QuantityPerUnit": "500 ml", + "UnitPrice": 18.0000, + "UnitsInStock": 57, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + } + }, { + "ProductID": 77, + "ProductName": "Original Frankfurter grüne Soße", + "SupplierID": 12, + "CategoryID": 2, + "QuantityPerUnit": "12 boxes", + "UnitPrice": 13.0000, + "UnitsInStock": 32, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + } + }]; \ No newline at end of file diff --git a/src/app/service/dist/menu.service.js b/src/app/service/dist/menu.service.js new file mode 100644 index 0000000..00b4211 --- /dev/null +++ b/src/app/service/dist/menu.service.js @@ -0,0 +1,20 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +exports.__esModule = true; +exports.MenuService = void 0; +var core_1 = require("@angular/core"); +var MenuService = /** @class */ (function () { + function MenuService() { + this.itemClicked = new core_1.EventEmitter(); + } + MenuService = __decorate([ + core_1.Injectable() + ], MenuService); + return MenuService; +}()); +exports.MenuService = MenuService; diff --git a/src/app/service/menu.service.ts b/src/app/service/menu.service.ts new file mode 100644 index 0000000..fa102e8 --- /dev/null +++ b/src/app/service/menu.service.ts @@ -0,0 +1,7 @@ +import { EventEmitter, Injectable } from '@angular/core'; + + +@Injectable() +export class MenuService { + itemClicked = new EventEmitter (); +} \ No newline at end of file diff --git a/src/assets/bg.jpg b/src/assets/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7efb725b9d585dd980ecdcd6c2cfe6d8f3893025 GIT binary patch literal 52923 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

a6-33BsD!HA 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

{rH)_O;`r1WK9%-nY6NUdPbSmHb8 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/body_bg.jpg b/src/assets/img/body_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b477f4830005338be195d97a85292c12acc2a799 GIT binary patch literal 65709 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

1E?-l>l`iZoLzNz(1 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 - +