Skip to content

Commit b32e4c6

Browse files
committed
Merge branch 'release'
2 parents 3bdb038 + 716da04 commit b32e4c6

3 files changed

Lines changed: 31 additions & 3 deletions

File tree

src/pages/all-assets/all-assets.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@
2424
<ion-searchbar (ionInput)="onFilterTriggered($event)"></ion-searchbar>
2525

2626
<ion-list inset>
27+
<ion-item>
28+
<ion-avatar item-start>
29+
<img src="../../assets/imgs/cryptocurrencies/bitcoin.png" />
30+
</ion-avatar>
31+
32+
<h3>Purchase price: {{ (purchasePrice).toFixed(3) }} BTC</h3>
33+
<h3>Current price: {{ (currentPrice).toFixed(3) }} BTC</h3>
34+
<h3>Change: {{ (((currentPrice - purchasePrice) / purchasePrice) * 100).toFixed(3) }} %</h3>
35+
</ion-item>
36+
2737
<ion-item-sliding *ngFor="let asset of filtered" #slidingItem>
2838
<ion-item>
2939
<ion-avatar item-start>

src/pages/all-assets/all-assets.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { UserAuthenticationPage } from '../user-authentication/user-authenticati
1111
import { InsertAssetPage } from '../insert-asset/insert-asset';
1212
import { UpdateAssetPage } from '../update-asset/update-asset';
1313
import { AllWalletsPage } from '../all-wallets/all-wallets';
14+
import { CoinMarketCapProvider } from '../../providers/coinmarketcap/coinmarketcap';
1415

1516
@Component({
1617
selector: 'page-all-assets',
@@ -21,8 +22,10 @@ export class AllAssetsPage {
2122
public wallet: Wallet;
2223
public filtered: Array<Asset> = [];
2324
public all: Array<Asset> = [];
25+
public purchasePrice: number = 0;
26+
public currentPrice: number = 0;
2427

25-
constructor(private navCtrl: NavController, private navParams: NavParams, private loadingCtrl: LoadingController, private toastCtrl: ToastController, private alertCtrl: AlertController, private registeredUserProvider: RegisteredUserProvider, private localStorageProvider: LocalStorageProvider) {}
28+
constructor(private navCtrl: NavController, private navParams: NavParams, private loadingCtrl: LoadingController, private toastCtrl: ToastController, private alertCtrl: AlertController, private registeredUserProvider: RegisteredUserProvider, private coinMarketCapProvider: CoinMarketCapProvider, private localStorageProvider: LocalStorageProvider) {}
2629

2730
public ionViewWillEnter(): void {
2831
if (!this.localStorageProvider.isUserRegistered()) {
@@ -42,13 +45,28 @@ export class AllAssetsPage {
4245
}
4346

4447
private refreshData(): void {
48+
this.purchasePrice = 0;
49+
this.currentPrice = 0;
50+
4551
let loadingOverlay = this.loadingCtrl.create({ content: 'Please wait...' });
4652
loadingOverlay.present();
4753

4854
this.registeredUserProvider.allAssets(this.localStorageProvider.getUserTokenValue(), this.wallet).subscribe(result => {
4955
this.all = result.data;
5056
this.filtered = result.data;
5157

58+
for (let offset = 0; offset < this.all.length; offset++) {
59+
let asset: Asset = this.all[offset];
60+
this.purchasePrice = this.purchasePrice + asset.purchasePrice;
61+
this.coinMarketCapProvider.getPrice(asset.cryptocurrency).subscribe(result => {
62+
console.log(result);console.log(asset.amount);console.log(parseFloat(result[0].price_btc));
63+
this.currentPrice = this.currentPrice + (asset.amount * parseFloat(result[0].price_btc));
64+
}, error => {
65+
console.error(error);
66+
this.toastCtrl.create({ message: 'An error occured...', duration: 3000, position: 'top' }).present();
67+
});
68+
}
69+
5270
loadingOverlay.dismiss();
5371
}, error => {
5472
console.error(error);

src/providers/coinmarketcap/coinmarketcap.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ export class CoinMarketCapProvider {
1515

1616
constructor(private http: HttpClient) {}
1717

18-
public getPrice(cryptocurrency: Cryptocurrency): Observable<CoinMarketCapTickerResponse> {
19-
return this.http.get<CoinMarketCapTickerResponse>(this.getPricePath.replace("RESOURCE_URL", cryptocurrency.resourceUrl));
18+
public getPrice(cryptocurrency: Cryptocurrency): Observable<Array<CoinMarketCapTickerResponse>> {
19+
return this.http.get<Array<CoinMarketCapTickerResponse>>(this.getPricePath.replace("RESOURCE_URL", cryptocurrency.resourceUrl));
2020
}
2121

2222
public allPrices(cryptocurrency: Cryptocurrency): Observable<CoinMarketCapGraphsResponse> {

0 commit comments

Comments
 (0)