コード例 #1
0
        public void IniciarCenario()
        {
            _repositorio = new NotaFiscalEmitidaRepositorioSql();

            _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML();

            _destinatarioRepositorio         = new DestinatarioRepositorioSql();
            _emitenteRepositorio             = new EmitenteRepositorioSql();
            _transportadorRepositorio        = new TransportadorRepositorioSql();
            _produtoNotaFiscalRepositorioSql = new ProdutoNotaFiscalRepositorioSql();

            BaseSqlTeste.InicializarBancoDeDadosPrepararNotaFiscalEmitida();

            long idEmitenteCadastradoPorBaseSql           = 1;
            long idDestinatarioCadastradoPorBaseSql       = 1;
            long idTransportadorCadastradoPorBaseSql      = 1;
            long idProdutoNotaFiscalCadastradorPorBaseSql = 1;

            _notaFiscalValida = ObjectMother.PegarNotaFiscalValidaComIdDasDependencias(idEmitenteCadastradoPorBaseSql, idDestinatarioCadastradoPorBaseSql, idTransportadorCadastradoPorBaseSql);
            _notaFiscalValida.Destinatario  = _destinatarioRepositorio.BuscarPorId(idDestinatarioCadastradoPorBaseSql);
            _notaFiscalValida.Emitente      = _emitenteRepositorio.BuscarPorId(idEmitenteCadastradoPorBaseSql);
            _notaFiscalValida.Transportador = _transportadorRepositorio.BuscarPorId(idTransportadorCadastradoPorBaseSql);
            _notaFiscalValida.Produtos      = new List <ProdutoNotaFiscal>();
            _notaFiscalValida.Produtos.Add(_produtoNotaFiscalRepositorioSql.BuscarPorId(idProdutoNotaFiscalCadastradorPorBaseSql));

            _notaFiscalValida.ValidarGeracao();
            _notaFiscalValida.ValidarParaEmitir();
            _notaFiscalValida.CalcularValoresTotais();
            _notaFiscalValida.GerarChaveDeAcesso(new Random());
            _notaFiscalValida.DataEmissao = DateTime.Now;
        }
コード例 #2
0
        public void IniciarCenario()
        {
            _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML();

            _endereco = Common.Tests.Funcionalidades.Enderecos.ObjectMother.PegarEnderecoValido();

            _emitente = Common.Tests.Funcionalidades.Emitentes.ObjectMother.PegarEmitenteValido(_endereco, new CNPJ {
                NumeroComPontuacao = "99.327.235/0001-50"
            });
            _destinatario = Common.Tests.Funcionalidades.Destinatarios.ObjectMother.PegarDestinatarioValidoComCNPJ(_endereco, new CNPJ {
                NumeroComPontuacao = "13.106.137/0001-77"
            });
            _transportador = Common.Tests.Funcionalidades.Transportadoras.ObjectMother.PegarTransportadorValidoComCNPJ(_endereco, new CNPJ {
                NumeroComPontuacao = "11.222.333/0001-81"
            });

            _notaFiscal             = ObjectMother.PegarNotaFiscalValida(_emitente, _destinatario, _transportador);
            _notaFiscal.DataEmissao = DateTime.Now;
            _produto           = Common.Tests.Funcionalidades.Produtos.ObjectMother.ObterProdutoValido();
            _produtoNotaFiscal = Common.Tests.Funcionalidades.ProdutoNotasFiscais.ObjectMother.PegarProdutoNotaFiscalValido(_produto, _notaFiscal);

            _notaFiscal.Produtos = new List <ProdutoNotaFiscal>();
            _notaFiscal.Produtos.Add(_produtoNotaFiscal);

            _notaFiscal.ValidarGeracao();
            _notaFiscal.ValidarParaEmitir();
            _notaFiscal.CalcularValoresTotais();
            _notaFiscal.GerarChaveDeAcesso(new Random());
            _notaFiscal.DataEmissao = DateTime.Now;
        }
コード例 #3
0
        public void NotaFiscal_InfraPDF_Exportar_Com5Produtos_Sucesso()
        {
            Produto           produto           = Common.Tests.Funcionalidades.Produtos.ObjectMother.ObterProdutoValido();
            ProdutoNotaFiscal produtoNotaFiscal = Common.Tests.Funcionalidades.ProdutoNotasFiscais.ObjectMother.PegarProdutoNotaFiscalValido(produto, _notaFiscal);

            _notaFiscal.Produtos = new List <ProdutoNotaFiscal>();
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);

            _notaFiscal.ValidarGeracao();
            _notaFiscal.ValidarParaEmitir();
            _notaFiscal.CalcularValoresTotais();
            _notaFiscal.GerarChaveDeAcesso(new Random());
            _notaFiscal.DataEmissao = DateTime.Now;

            NotaFiscalRepositorioPDF gerador = new NotaFiscalRepositorioPDF();

            gerador.Exportar(_caminhoParaANovaNotaFiscal, _notaFiscal);

            Action acaoParaVerificarSeArquivoExiste = () => File.Exists(_caminhoParaANovaNotaFiscal);

            acaoParaVerificarSeArquivoExiste.Should().Equals(true);

            File.Delete(_caminhoParaANovaNotaFiscal);
        }
コード例 #4
0
        public NotaFiscal Adicionar(NotaFiscal notaFiscal)
        {
            notaFiscal.ValidarGeracao();

            notaFiscal = _notaFiscalRepositorio.Adicionar(notaFiscal);

            foreach (var produto in notaFiscal.Produtos)
            {
                produto.NotaFiscal.Id = notaFiscal.Id;
                _produtoNotaFiscalRepositorio.Adicionar(produto);
            }

            return(notaFiscal);
        }
コード例 #5
0
        public NotaFiscal Atualizar(NotaFiscal notaFiscal)
        {
            if (notaFiscal.Id < 1)
            {
                throw new ExcecaoIdentificadorIndefinido();
            }

            notaFiscal.ValidarGeracao();

            foreach (var produto in notaFiscal.Produtos)
            {
                produto.NotaFiscal.Id = notaFiscal.Id;
                _produtoNotaFiscalRepositorio.Atualizar(produto);
            }

            return(_notaFiscalRepositorio.Atualizar(notaFiscal));
        }