Esempio n. 1
0
        private static void AtualizarDicionarioCorretora(int compradoraVendedora, string corretora, string instrumento, double valorNegocio)
        {
            if (!dictCorretoras.ContainsKey(corretora))
            {
                dictCorretoras.Add(corretora, new InstrumentosPorCorretoraInfo());
                dictCorretoras[corretora].DictMaioresVolumes = new SortedDictionary <CorretorasInfo, string>(new ComparadorDecrescenteCorretoras());
                dictCorretoras[corretora].DictMaioresVolumesPorInstrumento = new SortedDictionary <string, CorretorasInfo>();

                dictCorretoras[corretora].DictMaioresVolumesPorInstrumento.Add(TODOS_INSTRUMENTOS, new CorretorasInfo(0, TODOS_INSTRUMENTOS, 0, 0, 0));
            }

            if (!dictCorretoras[corretora].DictMaioresVolumesPorInstrumento.ContainsKey(instrumento))
            {
                dictCorretoras[corretora].DictMaioresVolumes.Add(new CorretorasInfo(0, instrumento, 0, 0, 0), instrumento);
                dictCorretoras[corretora].DictMaioresVolumesPorInstrumento.Add(instrumento, new CorretorasInfo(0, instrumento, 0, 0, 0));
            }

            CorretorasInfo corretoraAtual = dictCorretoras[corretora].DictMaioresVolumesPorInstrumento[instrumento];
            CorretorasInfo corretoraNovo  = new CorretorasInfo();

            if (compradoraVendedora == COMPRADORA)
            {
                corretoraNovo.VolumeCompra = corretoraAtual.VolumeCompra + valorNegocio;
                corretoraNovo.VolumeVenda  = corretoraAtual.VolumeVenda;
                dictCorretoras[corretora].DictMaioresVolumesPorInstrumento[TODOS_INSTRUMENTOS].VolumeCompra += valorNegocio;
            }
            else
            {
                corretoraNovo.VolumeVenda  = corretoraAtual.VolumeVenda + valorNegocio;
                corretoraNovo.VolumeCompra = corretoraAtual.VolumeCompra;
                dictCorretoras[corretora].DictMaioresVolumesPorInstrumento[TODOS_INSTRUMENTOS].VolumeVenda += valorNegocio;
            }

            corretoraNovo.Corretora     = instrumento;
            corretoraNovo.VolumeBruto   = corretoraNovo.VolumeCompra + corretoraNovo.VolumeVenda;
            corretoraNovo.VolumeLiquido = corretoraNovo.VolumeCompra - corretoraNovo.VolumeVenda;

            dictCorretoras[corretora].DictMaioresVolumes.Remove(corretoraAtual);
            dictCorretoras[corretora].DictMaioresVolumes.Add(corretoraNovo, instrumento);
            dictCorretoras[corretora].DictMaioresVolumesPorInstrumento[instrumento] = corretoraNovo;
        }
Esempio n. 2
0
        private static void AtualizarDicionarioInstrumento(int compradoraVendedora, string corretora, double valorNegocio, InstrumentoInfo dadosInstrumento)
        {
            if (int.Parse(corretora) == 0)
            {
                return;
            }

            if (!dadosInstrumento.DictMaioresVolumesPorCorretora.ContainsKey(corretora))
            {
                dadosInstrumento.DictMaioresVolumes.Add(new CorretorasInfo(0, corretora, 0, 0, 0), corretora);
                dadosInstrumento.DictMaioresVolumesPorCorretora.Add(corretora, new CorretorasInfo(0, corretora, 0, 0, 0));
            }

            CorretorasInfo rankingAtual = dadosInstrumento.DictMaioresVolumesPorCorretora[corretora];
            CorretorasInfo rankingNovo  = new CorretorasInfo();

            if (compradoraVendedora == COMPRADORA)
            {
                dadosInstrumento.DictMaioresVolumesPorCorretora[TODAS_CORRETORAS].VolumeCompra += valorNegocio;

                rankingNovo.VolumeCompra = rankingAtual.VolumeCompra + valorNegocio;
                rankingNovo.VolumeVenda  = rankingAtual.VolumeVenda;
            }
            else
            {
                dadosInstrumento.DictMaioresVolumesPorCorretora[TODAS_CORRETORAS].VolumeVenda += valorNegocio;

                rankingNovo.VolumeCompra = rankingAtual.VolumeCompra;
                rankingNovo.VolumeVenda  = rankingAtual.VolumeVenda + valorNegocio;
            }
            rankingNovo.Corretora     = corretora;
            rankingNovo.VolumeBruto   = rankingNovo.VolumeCompra + rankingNovo.VolumeVenda;
            rankingNovo.VolumeLiquido = rankingNovo.VolumeCompra - rankingNovo.VolumeVenda;

            dadosInstrumento.DictMaioresVolumes.Remove(rankingAtual);
            dadosInstrumento.DictMaioresVolumes.Add(rankingNovo, corretora);
            dadosInstrumento.DictMaioresVolumesPorCorretora[corretora] = rankingNovo;
        }