diff options
author | Antony Kellermann | 2018-05-02 12:01:10 -0400 |
---|---|---|
committer | Antony Kellermann | 2018-05-02 12:01:10 -0400 |
commit | 6e41053e018000a988ca51371a72b81341d18862 (patch) | |
tree | 533e2716dbf8ef564f1b5fd7b4704a0ed59964b9 /portfolio.c | |
parent | 4095dcd225f63f4d42cc69fb48b6ca7b1cd8bf1f (diff) | |
download | aur-6e41053e018000a988ca51371a72b81341d18862.tar.gz |
Function for storing api data in security data struct
Diffstat (limited to 'portfolio.c')
-rw-r--r-- | portfolio.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/portfolio.c b/portfolio.c index d54634f6c267..d70dba431d3d 100644 --- a/portfolio.c +++ b/portfolio.c @@ -190,7 +190,7 @@ SDA* portfolio_get_data_array(void) { pointer_alloc_check(tcd_index); json_index = json_object_array_get_idx(jobj, i); strcpy(tcd_index->symbol, json_object_get_string(json_object_object_get(json_index, "Symbol"))); - portfolio_data->sec_data[i]->amount = json_object_get_double(json_object_object_get(json_index, "Shares")); + tcd_index->amount = json_object_get_double(json_object_object_get(json_index, "Shares")); tcd_index->total_spent = json_object_get_double(json_object_object_get(json_index, "USD_Spent")); } json_object_put(jobj); @@ -198,6 +198,29 @@ SDA* portfolio_get_data_array(void) { return portfolio_data; } +void portfolio_store_api_data(SD* sec_data) { + if (strcmp(sec_data->symbol, "USD$") != 0) { + double* ticker_data = api_get_current_price(sec_data->symbol); + sec_data->current_value = sec_data->amount * ticker_data[0]; + sec_data->total_profit = sec_data->current_value - sec_data->total_spent; + sec_data->total_profit_percent = 100 * ((ticker_data[0] / (sec_data->total_spent / sec_data->amount)) - 1); + sec_data->total_profit_percent = 100 * ((ticker_data[0] / (sec_data->total_spent / sec_data->amount)) - 1); + sec_data->one_day_profit = sec_data->current_value - (sec_data->amount * ticker_data[1]); + sec_data->one_day_profit_percent = 100 * ((ticker_data[0] / ticker_data[1]) - 1); + //sec_data->seven_day_profit = sec_data->current_value - (sec_data->amount * ticker_data[2]); + //sec_data->seven_day_profit_percent = 100 * (ticker_data[0] - ticker_data[2]); + free(ticker_data); + } else { + sec_data->current_value = sec_data->amount; + sec_data->total_profit = sec_data->current_value - sec_data->total_spent; + sec_data->total_profit_percent = 100 * sec_data->total_profit / sec_data->total_spent; + sec_data->one_day_profit = 0; + sec_data->one_day_profit_percent = 0; + //sec_data->seven_day_profit = 0; + //sec_data->seven_day_profit_percent = 0; + } +} + void portfolio_print_all(void) { String* pString = portfolio_file_get_string(); if (pString == NULL) { |