コード例 #1
0
        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);
        }
コード例 #2
0
 public void NotaFiscal_Emitida_InfraData_Adicionar_Sucesso()
 {
     _repositorio.Adicionar(_notaFiscalRepositorioXML.Serializar(_notaFiscalValida), _notaFiscalValida.ChaveAcesso);
 }