From 088d9affc86490936944ad0e89ec49da8e368f27 Mon Sep 17 00:00:00 2001 From: Stephen Wisner Date: Fri, 17 Mar 2017 15:19:34 -0400 Subject: [PATCH 1/3] Done --- db.json | 4 +-- src/app/app.module.ts | 4 ++- .../dispense-item/dispense-item.component.css | 0 .../dispense-item.component.html | 3 ++ .../dispense-item.component.spec.ts | 28 +++++++++++++++++++ .../dispense-item/dispense-item.component.ts | 15 ++++++++++ 6 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 src/app/dispense-item/dispense-item.component.css create mode 100644 src/app/dispense-item/dispense-item.component.html create mode 100644 src/app/dispense-item/dispense-item.component.spec.ts create mode 100644 src/app/dispense-item/dispense-item.component.ts diff --git a/db.json b/db.json index baf7af9..dbbf1e9 100644 --- a/db.json +++ b/db.json @@ -4,13 +4,13 @@ "id": 1, "name": "Sprite", "cost": 0.5, - "remaining": 10 + "remaining": 4 }, { "id": 2, "name": "Coke", "cost": 0.5, - "remaining": 10 + "remaining": 9 }, { "id": 3, diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b290358..748b431 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -8,11 +8,13 @@ import { InsertCoinComponent } from './insert-coin/insert-coin.component'; import { ItemService } from './item/item.service'; import { BalanceService } from './balance/balance.service'; +import { DispenseItemComponent } from './dispense-item/dispense-item.component'; @NgModule({ declarations: [ AppComponent, - InsertCoinComponent + InsertCoinComponent, + DispenseItemComponent ], imports: [ BrowserModule, diff --git a/src/app/dispense-item/dispense-item.component.css b/src/app/dispense-item/dispense-item.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/dispense-item/dispense-item.component.html b/src/app/dispense-item/dispense-item.component.html new file mode 100644 index 0000000..fa53554 --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.html @@ -0,0 +1,3 @@ +

+ dispense-item works! +

diff --git a/src/app/dispense-item/dispense-item.component.spec.ts b/src/app/dispense-item/dispense-item.component.spec.ts new file mode 100644 index 0000000..185c09a --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.spec.ts @@ -0,0 +1,28 @@ +/* tslint:disable:no-unused-variable */ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { DebugElement } from '@angular/core'; + +import { DispenseItemComponent } from './dispense-item.component'; + +describe('DispenseItemComponent', () => { + let component: DispenseItemComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DispenseItemComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DispenseItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/dispense-item/dispense-item.component.ts b/src/app/dispense-item/dispense-item.component.ts new file mode 100644 index 0000000..113ff1d --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-dispense-item', + templateUrl: './dispense-item.component.html', + styleUrls: ['./dispense-item.component.css'] +}) +export class DispenseItemComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} From cd761d532b43b73e88e29037fe7012cc3907ffa2 Mon Sep 17 00:00:00 2001 From: Stephen Wisner Date: Fri, 17 Mar 2017 15:21:22 -0400 Subject: [PATCH 2/3] 2 --- src/app/dispense-item/dispense-item.component.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/app/dispense-item/dispense-item.component.html b/src/app/dispense-item/dispense-item.component.html index fa53554..bff0a72 100644 --- a/src/app/dispense-item/dispense-item.component.html +++ b/src/app/dispense-item/dispense-item.component.html @@ -1,3 +1 @@ -

- dispense-item works! -

+ From 6dfe1d6e9f803131086954dd4b639d13ff4ca245 Mon Sep 17 00:00:00 2001 From: Stephen Wisner Date: Fri, 17 Mar 2017 15:53:57 -0400 Subject: [PATCH 3/3] My work --- src/app/app.component.html | 1 + .../dispense-item/dispense-item.component.ts | 22 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index 20f9499..1db1e32 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -2,3 +2,4 @@

{{title}}

+ diff --git a/src/app/dispense-item/dispense-item.component.ts b/src/app/dispense-item/dispense-item.component.ts index 113ff1d..d10fc73 100644 --- a/src/app/dispense-item/dispense-item.component.ts +++ b/src/app/dispense-item/dispense-item.component.ts @@ -1,15 +1,31 @@ import { Component, OnInit } from '@angular/core'; +import { ItemService } from '../item/item.service'; +import { BalanceService } from '../balance/balance.service'; @Component({ selector: 'app-dispense-item', templateUrl: './dispense-item.component.html', - styleUrls: ['./dispense-item.component.css'] + styleUrls: ['./dispense-item.component.scss'], + providers: [] }) export class DispenseItemComponent implements OnInit { - constructor() { } + constructor(private itemService: ItemService, private balanceService: BalanceService) { } ngOnInit() { + dispenseItem() { + const currentBalance = this.balanceService.getBalance(); + if (!this.itemService.hasSufficientBalance(currentBalance)) { + alert("insufficient balance"); + } else if (!this.itemService.hasRemaining()) { + alert("none remaining"); + } else { + // itemSerice.dispenseItem + this.itemService.dispenseItem((item) => { + alert('Enjoy your ' + item.name); + this.balanceService.deductBalance(item.cost); + }) + } + } } - }