From f19fb1edf89d01addaeb546cb452ae4fc58bbc35 Mon Sep 17 00:00:00 2001 From: cpstrillvt93 Date: Fri, 17 Mar 2017 15:55:28 -0400 Subject: [PATCH] first commit --- .../dispense-item/dispense-item.component.css | 0 .../dispense-item.component.html | 4 +++ .../dispense-item.component.spec.ts | 25 +++++++++++++++++ .../dispense-item/dispense-item.component.ts | 28 +++++++++++++++++++ src/app/select-item/select-item.component.css | 0 .../select-item/select-item.component.html | 4 +++ .../select-item/select-item.component.spec.ts | 25 +++++++++++++++++ src/app/select-item/select-item.component.ts | 23 +++++++++++++++ 8 files changed, 109 insertions(+) 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 create mode 100644 src/app/select-item/select-item.component.css create mode 100644 src/app/select-item/select-item.component.html create mode 100644 src/app/select-item/select-item.component.spec.ts create mode 100644 src/app/select-item/select-item.component.ts 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..634f92c --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.html @@ -0,0 +1,4 @@ +

+ 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..e3d2ca1 --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +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..67af3f3 --- /dev/null +++ b/src/app/dispense-item/dispense-item.component.ts @@ -0,0 +1,28 @@ +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'] +}) +export class DispenseItemComponent implements OnInit { + + 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 left"); + } + else ( this.itemService.dispenseItem((item)=> { + (this.balanceService.deductBalance(item.cost)) + // alert('enjoy your ', item); + }) +}; diff --git a/src/app/select-item/select-item.component.css b/src/app/select-item/select-item.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/select-item/select-item.component.html b/src/app/select-item/select-item.component.html new file mode 100644 index 0000000..db65ec6 --- /dev/null +++ b/src/app/select-item/select-item.component.html @@ -0,0 +1,4 @@ +
  • + {{item.name}} +
  • diff --git a/src/app/select-item/select-item.component.spec.ts b/src/app/select-item/select-item.component.spec.ts new file mode 100644 index 0000000..217a5ae --- /dev/null +++ b/src/app/select-item/select-item.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SelectItemComponent } from './select-item.component'; + +describe('SelectItemComponent', () => { + let component: SelectItemComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SelectItemComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SelectItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/select-item/select-item.component.ts b/src/app/select-item/select-item.component.ts new file mode 100644 index 0000000..6a6b5c2 --- /dev/null +++ b/src/app/select-item/select-item.component.ts @@ -0,0 +1,23 @@ +import { Component, OnInit } from '@angular/core'; +import { ItemService } from '../item/item.service'; + +@Component({ + selector: 'app-select-item', + templateUrl: './select-item.component.html', + styleUrls: ['./select-item.component.css'] +}) +export class SelectItemComponent implements OnInit { + public items; + constructor(public itemService: ItemService) { } + + ngOnInit() { + this.itemService.onItemsRetrieved((items)=> { + this.items = items; + }) + } + + onItemSelected(item) { + this.itemService.setSelectedItem(item); + } + +}