//protected void OnMensaje(string p, CDataPrice moneyp) protected void OnMensaje(string p, CMoneyPrice moneyp) { if (Mensaje != null) { Mensaje(p, moneyp); } }
//public void MostrarMensaje(string sMensaje, CDataPrice moneyp) public void MostrarMensaje(string sMensaje, CMoneyPrice moneyp) { if (sMensaje != "" || Convert.ToDouble(moneyp.ask) > 0.0) { OnMensaje(sMensaje, moneyp); } }
private void SetText(string text, CMoneyPrice moneyp) { if (dgvMonedas.InvokeRequired) { try { if (dgvMonedas.IsHandleCreated) { SetTextCallback d = new SetTextCallback(SetText); this.Invoke(d, new object[] { text, moneyp }); } } catch (StackOverflowException so) { MessageBox.Show(so.InnerException.ToString()); txtlogerror.AppendText(so.InnerException.ToString()); } catch (Exception ex) { //MessageBox.Show(ex.Message); txtlogerror.AppendText(ex.Message); } } else { if (text.Trim().Length > 0) { if (!text.Trim().Contains("Referencia a objeto no establecida como instancia de un objeto") && !text.Trim().Contains("Se excedió el tiempo de espera de la operación")) { txtlogerror.AppendText(text); } } else { lMoneyDia.Add(moneyp); } } }
public void consultamonedas(string sMoneda, ListView lvObj) { CMoneyPrice mp = new CMoneyPrice(); double dporcentaje = 0.0, dvar = 0.0; string sTexto = string.Empty; try { var ticker = GetTicker(sMoneda); if (sMoneda == "btc_mxn" || sMoneda == "xrp_mxn") { lvObj.Items[sMoneda].SubItems[1].Text = string.Format("{0,14:N2}", Convert.ToDouble(ticker.Ask)); lvObj.Items[sMoneda].SubItems[2].Text = string.Format("{0,14:N2}", Convert.ToDouble(ticker.PriceHigh)); lvObj.Items[sMoneda].SubItems[3].Text = string.Format("{0,14:N2}", Convert.ToDouble(ticker.PriceLow)); lvObj.Items[sMoneda].SubItems[4].Text = string.Format("{0,14:N2}", Convert.ToDouble(ticker.LastTradedPrice)); dvar = Convert.ToDouble(ticker.LastTradedPrice) - Convert.ToDouble(ticker.PriceHigh); dporcentaje = ((dvar / Convert.ToDouble(ticker.PriceLow)) * 100.00); if (dporcentaje < 0.0) { sTexto = string.Format("{0,14:N2} ({1,2:N2}%){2}", dvar, dporcentaje, "↓"); } else { sTexto = string.Format("{0,14:N2} ({1,2:N2}%){2}", dvar, dporcentaje, "↑"); } lvObj.Items[sMoneda].SubItems[5].Text = sTexto; } else { lvObj.Items[sMoneda].SubItems[1].Text = ticker.Ask; lvObj.Items[sMoneda].SubItems[2].Text = ticker.PriceHigh; lvObj.Items[sMoneda].SubItems[3].Text = ticker.PriceLow; lvObj.Items[sMoneda].SubItems[4].Text = ticker.LastTradedPrice; } //dPrice.book = sMoneda; mp.ask = ticker.Ask; mp.bid = ticker.Bid; mp.book = ticker.Book; mp.created_at = DateTime.Parse(ticker.CreatedAt); mp.high = ticker.PriceHigh; mp.last = ticker.LastTradedPrice; mp.low = ticker.PriceLow; mp.volume = ticker.Volume; mp.vwap = ticker.VolumeWeightedAvgPrice; //sTServ = DateTime.Parse(ticker.CreatedAt).ToShortTimeString(); // dPrice.created_at.ToShortTimeString(); MostrarMensaje("", mp); } catch (WebException ex) { var sMensajeError = string.Format("stauts: {0}, Error:{1}, moneda[{2}][#2] ,d |h[{3}]\n", ex.Status.ToString(), ex.Message, sMoneda, "000" /*getTime()*/); MostrarMensaje(sMensajeError, mp); } catch (Exception ex) { // MessageBox.Show("Ocurrio un error: [" + sMoneda +" ] :" + ex.Message); sMensajeError = string.Format("Error:{0} ,Moneda[{1}][#2], d |h[{2}]\n", ex.Message, sMoneda, getTime()); MostrarMensaje(sMensajeError, mp); //MessageBox.Show(sMensajeError); } }//fin
}//finaliza timer general /// <summary> /// cmh_Mensaje, metodo que se ejecuta desde un delagado que obtiene datos de la moneda en ese momento /// </summary> /// <param name="p">Nombre de la moneda a consultar</param> /// <param name="moneyp">Estructura donde contiene los datos de la moneda consultada</param> private void cmh_Mensaje(string p, CMoneyPrice moneyp) { this.SetText(p, moneyp); }