public NotaFiscal Emitir(NotaFiscal notaFiscal, Random sorteador) { notaFiscal.CalcularValoresTotais(); notaFiscal.ValidarParaEmitir(); notaFiscal.GerarChaveDeAcesso(sorteador); while (ConsultarExistenciaDeNotaEmitida(notaFiscal.ChaveAcesso)) { notaFiscal.GerarChaveDeAcesso(sorteador); } //Gerarando XML para inserção em banco string notaFiscalSerializadaParaXML = _notaFiscalRepositorioXML.Serializar(notaFiscal); long idNotaFiscalEmitida = _notaFiscalEmitidaRepositorio.Adicionar(notaFiscalSerializadaParaXML, notaFiscal.ChaveAcesso); if (idNotaFiscalEmitida != 0) { _notaFiscalRepositorio.Excluir(notaFiscal); } return(notaFiscal); }
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; }
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; }
public void NotaFiscal_InfraPDF_Exportar_Com5Produtos_Sucesso() { Produto produto = ObjectMother.ObterProdutoValido(); ProdutoNotaFiscal produtoNotaFiscal = 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.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); }
public void IniciarCenario() { var connection = DbConnectionFactory.CreatePersistent(Guid.NewGuid().ToString()); _fakeDbContext = new FakeDbContext(connection); _repositorio = new NotaFiscalEmitidaRepositorioSql(); _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML(); _destinatarioRepositorio = new DestinatarioRepositorioSql(_fakeDbContext); _emitenteRepositorio = new EmitenteRepositorioSql(_fakeDbContext); _transportadorRepositorio = new TransportadorRepositorioSql(_fakeDbContext); _produtoNotaFiscalRepositorioSql = new ProdutoNotaFiscalRepositorioSql(_fakeDbContext); 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.CalcularValoresTotais(); _notaFiscalValida.GerarChaveDeAcesso(new Random()); _notaFiscalValida.DataEmissao = DateTime.Now; }
public void NotaFiscal_Dominio_TamanhoChaveDeAcessoDeveSer44_Sucesso() { Random sorteador = new Random(); _notaFiscal.GerarChaveDeAcesso(sorteador); string chaveGerada = _notaFiscal.ChaveAcesso; chaveGerada.Length.Should().Be(44); }
public void GerarCodigoDeAcesso_Deve_gerar_o_codigo_de_acesso_corretamente() { //Arrange List <NotaFiscal> notas = new List <NotaFiscal> { NotaFiscalValidaNaoEmitida }; //Action NotaFiscalValidaNaoEmitida.GerarChaveDeAcesso(new DateTime(636643306335845925)); //Assert NotaFiscalValidaNaoEmitida.ChaveAcesso.Should().Be("63664330633584592563664330633584592563664330"); }
public void IniciarCenario() { Endereco enderecoEmitente = ObjectMother.PegarEnderecoValido(); Endereco enderecoDestinatario = ObjectMother.PegarEnderecoValido(); Endereco enderecoTransportador = ObjectMother.PegarEnderecoValido(); Emitente emitente = ObjectMother.PegarEmitenteValido(enderecoEmitente, new Documento("99.327.235/0001-50", TipoDocumento.CNPJ)); Destinatario destinatario = ObjectMother.PegarDestinatarioValidoComCNPJ(enderecoDestinatario, new Documento("13.106.137/0001-77", TipoDocumento.CNPJ)); Transportador transportador = ObjectMother.PegarTransportadorValidoComCNPJ(enderecoTransportador, new Documento("11.222.333/0001-81", TipoDocumento.CNPJ)); _notaFiscal = ObjectMother.PegarNotaFiscalValida(emitente, destinatario, transportador); Produto produto = ObjectMother.ObterProdutoValido(); ProdutoNotaFiscal produtoNotaFiscal = ObjectMother.PegarProdutoNotaFiscalValido(produto, _notaFiscal); _notaFiscal.Produtos = new List <ProdutoNotaFiscal>(); _notaFiscal.Produtos.Add(produtoNotaFiscal); _notaFiscal.CalcularValoresTotais(); _notaFiscal.GerarChaveDeAcesso(new Random()); _notaFiscal.DataEmissao = DateTime.Now; }
public void IniciarCenario() { _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML(); _endereco = ObjectMother.PegarEnderecoValido(); _emitente = ObjectMother.PegarEmitenteValido(_endereco, new Documento("99.327.235/0001-50", TipoDocumento.CNPJ)); _destinatario = ObjectMother.PegarDestinatarioValidoComCNPJ(_endereco, new Documento("13.106.137/0001-77", TipoDocumento.CNPJ)); _transportador = ObjectMother.PegarTransportadorValidoComCNPJ(_endereco, new Documento("11.222.333/0001-81", TipoDocumento.CNPJ)); _notaFiscal = ObjectMother.PegarNotaFiscalValida(_emitente, _destinatario, _transportador); _notaFiscal.DataEmissao = DateTime.Now; _produto = ObjectMother.ObterProdutoValido(); _produtoNotaFiscal = ObjectMother.PegarProdutoNotaFiscalValido(_produto, _notaFiscal); _notaFiscal.Produtos = new List <ProdutoNotaFiscal>(); _notaFiscal.Produtos.Add(_produtoNotaFiscal); _notaFiscal.CalcularValoresTotais(); _notaFiscal.GerarChaveDeAcesso(new Random()); _notaFiscal.DataEmissao = DateTime.Now; }