Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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 = "";
            }
        }