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; }
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; }