public override string ToString() { string codigoAtivo = Ativo.CodigoNegociacao; int quantidadeCompra = Ordens.Where(o => o.Tipo == TipoOrdem.Compra).Sum(o => o.Quantidade); int quantidadeVenda = Ordens.Where(o => o.Tipo == TipoOrdem.Venda).Sum(o => o.Quantidade); double somaCompras = Ordens.Where(o => o.Tipo == TipoOrdem.Compra).Sum(o => o.Valor); double somaVendas = Ordens.Where(o => o.Tipo == TipoOrdem.Venda).Sum(o => o.Valor); StringBuilder sb = new StringBuilder(); sb.AppendLine($"Posição {Status} em {codigoAtivo}:"); sb.AppendLine($"Quantidade: {quantidadeCompra - quantidadeVenda}"); sb.AppendLine($"Valor (R$): {(somaCompras - somaVendas):F2}"); return(sb.ToString()); }
public StatusPosicao VerificarStatusAtualDaPosicao() { if (Ordens.Count < 2) { return(StatusPosicao.Aberta); } else { int quantidadeCompra = Ordens.Where(o => o.Tipo == TipoOrdem.Compra).Sum(o => o.Quantidade); int quantidadeVenda = Ordens.Where(o => o.Tipo == TipoOrdem.Venda).Sum(o => o.Quantidade); if (quantidadeCompra == quantidadeVenda) { return(StatusPosicao.Fechada); } } return(StatusPosicao.Aberta); }