private string GetBTCUSDavg(int days) { DateTime dtto = DateTime.Now; DateTime dtfrom = DateTime.Now.AddDays(days * -1); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("{"); sb.Append("\"BTCUSD\": ["); BLL.ProfitRecordingCollection profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Bitfinex, BLL.ProfitRecording.enCurrency.USD, dtfrom, dtto, 1440, "BTC"); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"btcusds\":" + pf.ExchangeAsk); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("]"); sb.Append("}"); return(sb.ToString()); }
public static ProfitRecording GetLatestByExchangeAndCurrnecy(enExchange exchange, enCurrency currency, string arbSymbol) { ProfitRecording obj = new ProfitRecording(); DataSet ds = new DAL.ProfitRecordings().GetLatestByExchangeAndCurrnecy(exchange, currency, arbSymbol); if (obj.MapData(ds) == false) { obj = null; } return(obj); }
public static ProfitRecording GetById(int id) { ProfitRecording obj = new ProfitRecording(); DataSet ds = new DAL.ProfitRecordings().GetById(id); if (obj.MapData(ds) == false) { obj = null; } return(obj); }
private void BindPage() { lblProfits.InnerHtml += "<br>"; string strcolor = "green"; decimal usdzar = 0; decimal eurzar = 0; decimal gbpzar = 0; decimal cexusd = 0; decimal bitfinexusd = 0; decimal biggestProfit = -100; System.Collections.Generic.List <BLL.ProfitRecording> pfs = new List <BLL.ProfitRecording>(); BLL.ProfitRecording pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.USD, "BTC"); //strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); //lblProfits.InnerHtml += "Bitlish USD: $" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" +strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; //usdzar = pf.CurrencyToZARExchangeRate; //pfs.Add(pf); //if (pf.ProfitPerc > biggestProfit) biggestProfit = pf.ProfitPerc; //pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Bitlish, BLL.ProfitRecording.enCurrency.EUR, "BTC"); //strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); //lblProfits.InnerHtml += "Bitlish EUR: €" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; //eurzar = pf.CurrencyToZARExchangeRate; //pfs.Add(pf); //if (pf.ProfitPerc > biggestProfit) biggestProfit = pf.ProfitPerc; //lblProfits.InnerHtml += "<br>"; pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Bitstamp, BLL.ProfitRecording.enCurrency.USD, "BTC"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "Bitstamp USD: $" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; usdzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); if (pf.ProfitPerc > biggestProfit) { biggestProfit = pf.ProfitPerc; } pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Bitstamp, BLL.ProfitRecording.enCurrency.EUR, "BTC"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "Bitstamp EUR: €" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; eurzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); if (pf.ProfitPerc > biggestProfit) { biggestProfit = pf.ProfitPerc; } lblProfits.InnerHtml += "<br>"; pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.USD, "BTC"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "CEX USD: $" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; usdzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); if (pf.ProfitPerc > biggestProfit) { biggestProfit = pf.ProfitPerc; } cexusd = pf.ExchangeAsk; pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.EUR, "BTC"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "CEX EUR: €" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; pfs.Add(pf); if (pf.ProfitPerc > biggestProfit) { biggestProfit = pf.ProfitPerc; } pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.GBP, "BTC"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "CEX GBP: £" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; gbpzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); if (pf.ProfitPerc > biggestProfit) { biggestProfit = pf.ProfitPerc; } lblProfits.InnerHtml += "<br>"; pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Bitfinex, BLL.ProfitRecording.enCurrency.USD, "BTC"); // strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); // lblProfits.InnerHtml += "Bitfinex USD: €" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; pfs.Add(pf); bitfinexusd = pf.ExchangeAsk; // BLL.ProfitRecording latest = pfs.Find(delegate (BLL.ProfitRecording p) { return p.TimeStamp == pfs.Max(t => t.TimeStamp); }); // lblProfits.InnerHtml += "<br>"; lblProfits.InnerHtml += "Luno ZAR: R" + pf.LunoBid.ToString("0") + "<br>"; lblProfits.InnerHtml += "<br>"; lblProfits.InnerHtml += "USDZAR: R" + usdzar.ToString("0.00") + "<br>"; lblProfits.InnerHtml += "EURZAR: R" + eurzar.ToString("0.00") + "<br>"; lblProfits.InnerHtml += "GBPZAR: R" + gbpzar.ToString("0.00") + "<br>"; lblCEXBitfinex.InnerHtml += "<br>CEX: $" + cexusd.ToString("0"); lblCEXBitfinex.InnerHtml += "<br>Bitfinex: $" + bitfinexusd.ToString("0"); lblCEXBitfinex.InnerHtml += "<br>Perc difference: " + (((cexusd / bitfinexusd) * 100) - 100).ToString("0.00") + "%"; ((CryptoTrader.Template.Site) this.Page.Master).PageTitle = "Crypto Trades " + biggestProfit.ToString("0.00") + "%"; }
private static void GenerateETHProfitRecordings() { ProfitRecording pf = new ProfitRecording(); var luno = LunoApi.GetLunoResult(10.00001M, LunoSymbolEnum.ETHZAR); // decimal bestprice = ((luno.ask.price + luno.bid.price) / 2); //var bitlishUSD = BitlishApi.GetBestPrices(BitlsihSymbolEnum.EthUsd, 0.01m); //var bitlishEUR = BitlishApi.GetBestPrices(BitlsihSymbolEnum.EthEur, 0.01m); var cexUSD = CexApi.GetBestPrices(CEXSymbolEnum.Eth_Usd, 0.01m); var cexEUR = CexApi.GetBestPrices(CEXSymbolEnum.Eth_Eur, 0.01m); var cexGBP = CexApi.GetBestPrices(CEXSymbolEnum.Eth_Gbp, 0.01m); decimal usdzar = 0m; decimal eurzar = 0m; decimal rubzar = 0m; decimal gbpzar = 0m; try { usdzar = CurrencyHelper.ConvertToZAR(1, CurrencyHelper.CurrencyEnum.Usd); eurzar = CurrencyHelper.ConvertToZAR(1, CurrencyHelper.CurrencyEnum.Eur); rubzar = CurrencyHelper.ConvertToZAR(1, CurrencyHelper.CurrencyEnum.Rub); gbpzar = CurrencyHelper.ConvertToZAR(1, CurrencyHelper.CurrencyEnum.Gbp); } catch { // failed to get live rates - use latest ProfitRecording recEUR = GetLatestByExchangeAndCurrnecy(enExchange.Cex, enCurrency.EUR, "BTC"); ProfitRecording recUSD = GetLatestByExchangeAndCurrnecy(enExchange.Cex, enCurrency.USD, "BTC"); ProfitRecording recGBP = GetLatestByExchangeAndCurrnecy(enExchange.Cex, enCurrency.GBP, "BTC"); eurzar = recEUR.CurrencyToZARExchangeRate; usdzar = recUSD.CurrencyToZARExchangeRate; gbpzar = recGBP.CurrencyToZARExchangeRate; } decimal profPerc = 0; // Bitlish USD; //try //{ // profPerc = GetProfit(bitlishUSD.ask.price, luno.bid.price, usdzar, 0.4M, 4.84M, 2000); // pf = new ProfitRecording(); // pf.Exchange = enExchange.Bitlish; // pf.Currency = enCurrency.USD; // pf.LunoBid = luno.bid.price; // pf.ExchangeAsk = bitlishUSD.ask.price; // pf.CurrencyToZARExchangeRate = usdzar; // pf.ProfitPerc = profPerc; // pf.ArbSymblol = "ETH"; // pf.Save(); //} //catch //{// duplicate last recording // ProfitRecording pflast = ProfitRecording.GetLatestByExchangeAndCurrnecy(enExchange.Bitlish, enCurrency.USD, "ETH"); // pf = new ProfitRecording(); // pf.Exchange = pflast.Exchange; // pf.Currency = pflast.Currency; // pf.LunoBid = pflast.LunoBid; // pf.ExchangeAsk = pflast.ExchangeAsk; // pf.CurrencyToZARExchangeRate = pflast.CurrencyToZARExchangeRate; // pf.ProfitPerc = pflast.ProfitPerc; // pf.ArbSymblol = "ETH"; // pf.Save(); //} //// Bitlish EUR; //try //{ // profPerc = GetProfit(bitlishEUR.ask.price, luno.bid.price, eurzar, 0.4M, 4.35M, 1500); // pf = new ProfitRecording(); // pf.Exchange = enExchange.Bitlish; // pf.Currency = enCurrency.EUR; // pf.LunoBid = luno.bid.price; // pf.ExchangeAsk = bitlishEUR.ask.price; // pf.CurrencyToZARExchangeRate = eurzar; // pf.ProfitPerc = profPerc; // pf.ArbSymblol = "ETH"; // pf.Save(); //} //catch //{// duplicate last recording // ProfitRecording pflast = ProfitRecording.GetLatestByExchangeAndCurrnecy(enExchange.Bitlish, enCurrency.EUR, "ETH"); // pf = new ProfitRecording(); // pf.Exchange = pflast.Exchange; // pf.Currency = pflast.Currency; // pf.LunoBid = pflast.LunoBid; // pf.ExchangeAsk = pflast.ExchangeAsk; // pf.CurrencyToZARExchangeRate = pflast.CurrencyToZARExchangeRate; // pf.ProfitPerc = pflast.ProfitPerc; // pf.ArbSymblol = "ETH"; // pf.Save(); //} // CEX USD; try { profPerc = GetProfit(cexUSD.ask.price, luno.bid.price, usdzar, 0.4M, 2.99M, 3000); pf = new ProfitRecording(); pf.Exchange = enExchange.Cex; pf.Currency = enCurrency.USD; pf.LunoBid = luno.bid.price; pf.ExchangeAsk = cexUSD.ask.price; pf.CurrencyToZARExchangeRate = usdzar; pf.ProfitPerc = profPerc; pf.ArbSymblol = "ETH"; pf.Save(); } catch {// duplicate last recording ProfitRecording pflast = ProfitRecording.GetLatestByExchangeAndCurrnecy(enExchange.Cex, enCurrency.USD, "ETH"); pf = new ProfitRecording(); pf.Exchange = pflast.Exchange; pf.Currency = pflast.Currency; pf.LunoBid = pflast.LunoBid; pf.ExchangeAsk = pflast.ExchangeAsk; pf.CurrencyToZARExchangeRate = pflast.CurrencyToZARExchangeRate; pf.ProfitPerc = pflast.ProfitPerc; pf.ArbSymblol = "ETH"; pf.Save(); } // CEX EUR; try { profPerc = GetProfit(cexEUR.ask.price, luno.bid.price, eurzar, 0.4M, 2.99M, 3000); pf = new ProfitRecording(); pf.Exchange = enExchange.Cex; pf.Currency = enCurrency.EUR; pf.LunoBid = luno.bid.price; pf.ExchangeAsk = cexEUR.ask.price; pf.CurrencyToZARExchangeRate = eurzar; pf.ProfitPerc = profPerc; pf.ArbSymblol = "ETH"; pf.Save(); } catch {// duplicate last recording ProfitRecording pflast = ProfitRecording.GetLatestByExchangeAndCurrnecy(enExchange.Cex, enCurrency.EUR, "ETH"); pf = new ProfitRecording(); pf.Exchange = pflast.Exchange; pf.Currency = pflast.Currency; pf.LunoBid = pflast.LunoBid; pf.ExchangeAsk = pflast.ExchangeAsk; pf.CurrencyToZARExchangeRate = pflast.CurrencyToZARExchangeRate; pf.ProfitPerc = pflast.ProfitPerc; pf.ArbSymblol = "ETH"; pf.Save(); } // CEX GBP; try { profPerc = GetProfit(cexGBP.ask.price, luno.bid.price, gbpzar, 0.4M, 2.99M, 2000); pf = new ProfitRecording(); pf.Exchange = enExchange.Cex; pf.Currency = enCurrency.GBP; pf.LunoBid = luno.bid.price; pf.ExchangeAsk = cexGBP.ask.price; pf.CurrencyToZARExchangeRate = gbpzar; pf.ProfitPerc = profPerc; pf.ArbSymblol = "ETH"; pf.Save(); } catch { // duplicate last recording ProfitRecording pflast = ProfitRecording.GetLatestByExchangeAndCurrnecy(enExchange.Cex, enCurrency.GBP, "ETH"); pf = new ProfitRecording(); pf.Exchange = pflast.Exchange; pf.Currency = pflast.Currency; pf.LunoBid = pflast.LunoBid; pf.ExchangeAsk = pflast.ExchangeAsk; pf.CurrencyToZARExchangeRate = pflast.CurrencyToZARExchangeRate; pf.ProfitPerc = pflast.ProfitPerc; pf.ArbSymblol = "ETH"; pf.Save(); } }
private string GetProfitJSON(int days, string arbSymbol) { DateTime dtto = DateTime.Now; DateTime dtfrom = DateTime.Now.AddDays(days * -1); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("{"); sb.Append("\"BitlishUSD\": ["); BLL.ProfitRecordingCollection profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Bitlish, BLL.ProfitRecording.enCurrency.USD, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"BitlishEUR\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Bitlish, BLL.ProfitRecording.enCurrency.EUR, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"BitstampUSD\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Bitstamp, BLL.ProfitRecording.enCurrency.USD, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"BitstampEUR\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Bitstamp, BLL.ProfitRecording.enCurrency.EUR, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"CEXUSD\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.USD, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"CEXEUR\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.EUR, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"CEXGBP\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.GBP, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("],"); sb.Append("\"BitFinexUSD\": ["); profits = BLL.ProfitRecordingCollection.GetByExchangeAndCurrecyBetween(BLL.ProfitRecording.enExchange.Bitfinex, BLL.ProfitRecording.enCurrency.USD, dtfrom, dtto, days, arbSymbol); for (int x = 0; x < profits.Count; x++) { BLL.ProfitRecording pf = profits[x]; sb.Append("{"); sb.Append("\"id\":" + pf.Id.ToString() + ","); sb.Append("\"ts\":\"" + pf.TimeStamp.ToString("d MMM yyyy, HH:mm") + "\","); sb.Append("\"p\":" + pf.ProfitPerc + ","); sb.Append("\"rate\":" + pf.CurrencyToZARExchangeRate + ","); sb.Append("\"ask\":" + pf.ExchangeAsk + ","); sb.Append("\"bid\":" + pf.LunoBid + ""); sb.Append("}"); if (x < profits.Count - 1) { sb.Append(","); } } sb.Append("]"); sb.Append("}"); return(sb.ToString()); }
private void BindPage() { lblProfits.InnerHtml += "<br>"; string strcolor = "green"; decimal usdzar = 0; decimal eurzar = 0; decimal gbpzar = 0; decimal cexusd = 0; decimal bitfinexusd = 0; System.Collections.Generic.List <BLL.ProfitRecording> pfs = new List <BLL.ProfitRecording>(); BLL.ProfitRecording pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Bitlish, BLL.ProfitRecording.enCurrency.USD, "ETH"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "Bitlish USD: $" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; usdzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Bitlish, BLL.ProfitRecording.enCurrency.EUR, "ETH"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "Bitlish EUR: €" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; eurzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); lblProfits.InnerHtml += "<br>"; pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.USD, "ETH"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "CEX USD: $" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; usdzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); cexusd = pf.ExchangeAsk; pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.EUR, "ETH"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "CEX EUR: €" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; pfs.Add(pf); pf = BLL.ProfitRecording.GetLatestByExchangeAndCurrnecy(BLL.ProfitRecording.enExchange.Cex, BLL.ProfitRecording.enCurrency.GBP, "ETH"); strcolor = (pf.ProfitPerc < 0 ? "red" : "green"); lblProfits.InnerHtml += "CEX GBP: £" + pf.ExchangeAsk.ToString("0") + ": <font color=\"" + strcolor + "\">" + pf.ProfitPerc.ToString("0.00") + "%</font> @ " + pf.TimeStamp.ToString("d MMM yyyy, HH:mm:ss") + " <br>"; gbpzar = pf.CurrencyToZARExchangeRate; pfs.Add(pf); lblProfits.InnerHtml += "<br>"; BLL.ProfitRecording latest = pfs.Find(delegate(BLL.ProfitRecording p) { return(p.TimeStamp == pfs.Max(t => t.TimeStamp)); }); lblProfits.InnerHtml += "<br>"; lblProfits.InnerHtml += "Luno ZAR: R" + latest.LunoBid.ToString("0") + "<br>"; lblProfits.InnerHtml += "<br>"; lblProfits.InnerHtml += "USDZAR: R" + usdzar.ToString("0.00") + "<br>"; lblProfits.InnerHtml += "EURZAR: R" + eurzar.ToString("0.00") + "<br>"; lblProfits.InnerHtml += "GBPZAR: R" + gbpzar.ToString("0.00") + "<br>"; }