public static void CriarMoedaCotacao(Moeda moeda) { var Moedas = GetDadosMoedas(moeda); var DePara = DeParaCotacao.GetDadosMoedas().Where(m => m.ID_MOEDA == moeda.moeda).FirstOrDefault(); var Cotacao = DadosCotacao.GetDadosCatacao().Where(m => m.cod_cotacao == DePara.cod_cotacao).ToList() .Where(t => DateTime.Parse(t.dat_cotacao) > DateTime.Parse(moeda.data_inicio)).ToList() .Where(t => DateTime.Parse(t.dat_cotacao) < DateTime.Parse(moeda.data_fim)).ToList(); List <MoedaCotacao> moedaCotacao = new List <MoedaCotacao>(); foreach (var item in Moedas) { moedaCotacao.Add(new MoedaCotacao() { ID_MOEDA = item.ID_MOEDA, DATA_REF = item.DATA_REF }); } var query = from moed in moedaCotacao join cot in Cotacao on DateTime.Parse(moed.DATA_REF) equals DateTime.Parse(cot.dat_cotacao) select new { id = moed.ID_MOEDA, dt = moed.DATA_REF, vl = cot.vlr_cotacao }; List <MoedaCotacao> request = new List <MoedaCotacao>(); foreach (var item in query) { request.Add(new MoedaCotacao() { ID_MOEDA = item.id, DATA_REF = item.dt, VL_COTACAO = item.vl }); } MoedaCotacao.AddMoedaCotacao(request); }
public void InserirDadosCotacao(DadosCotacao d) { string sql = $"insert into DadosCotacao values ('{d.vlr_cotacao}','{d.cod_cotacao}','{d.dat_cotacao}')"; using (SqlConnection conexao = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Wipro;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")) { conexao.Execute(sql); } }
public DadosCotacao FromCsv(string csvLine) { string[] values = csvLine.Split(';'); DadosCotacao dadosValues = new DadosCotacao(); dadosValues.VLR_COTACAO = Convert.ToDecimal(values[0]); dadosValues.COD_COTACAO = Convert.ToInt32(values[1]); dadosValues.DAT_COTACAO = Convert.ToDateTime(values[2]); return(dadosValues); }
/// <summary> /// Atualiza os dados de uma linha do DataGrid com a cotação /// </summary> /// <param name="linha">Linha do DataGrid que será atualizada</param> /// <param name="Cotacao">Dados da cotação da ação</param> private void atualizarDataGrid(int linha, DadosCotacao Cotacao) { //Se não achou a ação... if (Cotacao.descAtivo == "") { limparLinha(linha); return; } dataGridView1.Rows[linha].Cells["CodNeg"].Value = Cotacao.codAtivo; dataGridView1.Rows[linha].Cells["CodNeg"].ToolTipText = Cotacao.descAtivo; dataGridView1.Rows[linha].Cells["ValFechamento"].Value = Cotacao.valFechamento; dataGridView1.Rows[linha].Cells["QtdNegocios"].Value = Cotacao.numNegocios; dataGridView1.Rows[linha].Cells["QtdNegocios"].ToolTipText = "R$ " + Cotacao.qtdVolume; dataGridView1.Rows[linha].Cells["Hora"].Value = Cotacao.datPregao + ' ' + Cotacao.horCotacao; dataGridView1.Rows[linha].Cells["ValAbertura"].Value = Cotacao.valAbertura; dataGridView1.Rows[linha].Cells["ValAbertura"].Style.ForeColor = (Cotacao.valAbertura < Cotacao.valFechamento ? Color.Red : (Cotacao.valAbertura > Cotacao.valFechamento ? Color.Blue : Color.Black)); dataGridView1.Rows[linha].Cells["ValMinimo"].Value = Cotacao.valMinimo; dataGridView1.Rows[linha].Cells["ValMinimo"].Style.ForeColor = (Cotacao.valMinimo < Cotacao.valFechamento ? Color.Red : (Cotacao.valMinimo > Cotacao.valFechamento ? Color.Blue : Color.Black)); dataGridView1.Rows[linha].Cells["ValMaximo"].Value = Cotacao.valMaximo; dataGridView1.Rows[linha].Cells["ValMaximo"].Style.ForeColor = (Cotacao.valMaximo < Cotacao.valFechamento ? Color.Red : (Cotacao.valMaximo > Cotacao.valFechamento ? Color.Blue : Color.Black)); dataGridView1.Rows[linha].Cells["ValAtualCompra"].Value = Cotacao.valOfertaCompra[0]; dataGridView1.Rows[linha].Cells["ValAtualCompra"].Style.ForeColor = (Cotacao.valOfertaCompra[0] < Cotacao.valFechamento ? Color.Red : (Cotacao.valOfertaCompra[0] > Cotacao.valFechamento ? Color.Blue : Color.Black)); dataGridView1.Rows[linha].Cells["ValAtualVenda"].Value = Cotacao.valOfertaVenda[0]; dataGridView1.Rows[linha].Cells["ValAtualVenda"].Style.ForeColor = (Cotacao.valOfertaVenda[0] < Cotacao.valFechamento ? Color.Red : (Cotacao.valOfertaVenda[0] > Cotacao.valFechamento ? Color.Blue : Color.Black)); //Se tiver preço atual e de fechamento, calcula a porcentagem em tempo real if (Cotacao.valFechamento > 0 && Cotacao.valOfertaVenda[0] != 0) { dataGridView1.Rows[linha].Cells["PerVariacao"].Value = Convert.ToDecimal(((Cotacao.valOfertaCompra[0] / Cotacao.valFechamento - 1) )); dataGridView1.Rows[linha].Cells["PerVariacao"].Style.ForeColor = (Cotacao.valOfertaCompra[0] < Cotacao.valFechamento ? Color.Red : (Cotacao.valOfertaCompra[0] > Cotacao.valFechamento ? Color.Blue : Color.Black)); } else { dataGridView1.Rows[linha].Cells["PerVariacao"].Value = decimal.Divide(Cotacao.qtdVariacao, 100); dataGridView1.Rows[linha].Cells["PerVariacao"].Style.ForeColor = (Cotacao.qtdVariacao < 0 ? Color.Red : (Cotacao.qtdVariacao > 0 ? Color.Blue : Color.Black)); } dataGridView1.Rows[linha].Cells["CodNeg"].Style.ForeColor = dataGridView1.Rows[linha].Cells["PerVariacao"].Style.ForeColor; if (Cotacao.valFechamento > 0) { dataGridView1.Rows[linha].Cells["ValAbertura"].ToolTipText = Convert.ToDecimal(((Cotacao.valAbertura / Cotacao.valFechamento - 1))).ToString("P2"); dataGridView1.Rows[linha].Cells["ValMinimo"].ToolTipText = Convert.ToDecimal(((Cotacao.valMinimo / Cotacao.valFechamento - 1))).ToString("P2"); dataGridView1.Rows[linha].Cells["ValMaximo"].ToolTipText = Convert.ToDecimal(((Cotacao.valMaximo / Cotacao.valFechamento - 1))).ToString("P2"); dataGridView1.Rows[linha].Cells["ValAtualCompra"].ToolTipText = Convert.ToDecimal(((Cotacao.valOfertaCompra[0] / Cotacao.valFechamento - 1))).ToString("P2"); dataGridView1.Rows[linha].Cells["ValAtualVenda"].ToolTipText = Convert.ToDecimal(((Cotacao.valOfertaVenda[0] / Cotacao.valFechamento - 1))).ToString("P2"); } else { dataGridView1.Rows[linha].Cells["ValAbertura"].ToolTipText = ""; dataGridView1.Rows[linha].Cells["ValMinimo"].ToolTipText = ""; dataGridView1.Rows[linha].Cells["ValMaximo"].ToolTipText = ""; dataGridView1.Rows[linha].Cells["ValAtualCompra"].ToolTipText = ""; dataGridView1.Rows[linha].Cells["ValAtualVenda"].ToolTipText = ""; } }