Exemple #1
0
        public SolicitacaoCompra(string usuarioSolicitante, string nomeFornecedor)
        {
            Itens = new List <Item>();

            Id = Guid.NewGuid();
            UsuarioSolicitante = new UsuarioSolicitante(usuarioSolicitante);
            NomeFornecedor     = new NomeFornecedor(nomeFornecedor);
            CondicaoPagamento  = new CondicaoPagamento(0);
            Data     = DateTime.Now;
            Situacao = Situacao.Solicitado;
        }
Exemple #2
0
        public void RegistrarCompra()
        {
            if (!Itens.Any())
            {
                throw new BusinessRuleException("A solicitação de compra deve possuir itens!");
            }

            TotalGeral = new Money(Itens.ToList().Sum(x => x.Subtotal.Value));

            if (TotalGeral.Value > 50000)
            {
                CondicaoPagamento = new CondicaoPagamento(30);
            }

            AddEvent(new CompraRegistradaEvent(Id, Itens, TotalGeral.Value));
        }