Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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);
        }