Ejemplo n.º 1
0
        /// <summary>
        /// Exporta os registros de teste e retorna o caminho do arquivo gerado
        /// </summary>
        /// <returns></returns>
        public string Exportar()
        {
            ILeiaute leiaute = GetLeiaute();
            Synchronize.Export.ExportarParaArquivo exportar = new Export.ExportarParaArquivo(leiaute,
                 leiaute.PadraoNomeArquivo);

            PreVendaTest pvTest = new PreVendaTest();
            pvTest.Gravar();

            exportar.Where = new Where {
                {"fat_Lan.GUID = @g",
                    new Unimake.Data.Generic.Parameter{
                        ParameterName = "@g",
                        Value = pvTest.GUID
                    }
                }};

            exportar.Salvar();

            return exportar.FileInfo.DirectoryName;
        }
        /// <summary>
        /// Exporta os registros de teste e retorna o caminho do arquivo gerado
        /// </summary>
        /// <returns></returns>
        public string Exportar()
        {
            ILeiaute leiaute = GetLeiaute();
            Synchronize.Export.ExportarParaArquivo exportar = new Export.ExportarParaArquivo(leiaute,
                 leiaute.PadraoNomeArquivo);

            PreVendaTest pvTest = new PreVendaTest();
            pvTest.Gravar();
            IPreVenda pv = new Data.Faturamento.Lancamento.Movimento.PreVenda.PreVenda(pvTest.GUID);
            pv.Cancelar("Teste de Cancelamento");

            exportar.Where = new Where {
                {"fat_LanCan.GUIDLan = @g",
                    new Unimake.Data.Generic.Parameter{
                        ParameterName = "@g",
                        Value = pvTest.GUID
                    }
                }};

            exportar.Salvar();

            return exportar.FileInfo.DirectoryName;
        }
Ejemplo n.º 3
0
        public void RegraEstadoClienteTest()
        {
            //-------------------------------------------------------------------------
            // Gravar um pré-venda para utilizar durante o teste
            //-------------------------------------------------------------------------
            PreVendaTest pvTest = new PreVendaTest();
            pvTest.Gravar();
            PreVenda pv = pvTest.PreVenda;

            //-------------------------------------------------------------------------
            // Criar um regra por estado e cliente
            //-------------------------------------------------------------------------
            DescontoRegra oRegDesc = new DescontoRegra();
            oRegDesc.Descricao = "Primeira Regra Desconto";
            oRegDesc.TipoValor = TipoValor.Percentual;
            oRegDesc.Valor = 10;

            oRegDesc.Filtros = new List<IDescontoRegraFiltro>{
                new DescontoRegraFiltro{
                    Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado,
                    Cliente = pv.DadoPessoa.Cliente as ICliente
                }
            };

            GUID = oRegDesc.Save();

            Model.Faturamento.Lancamento.Movimento.Item.IItem item = pv.Itens[0];

            double old = item.ValorTotalLiquido;

            //-------------------------------------------------------------------------
            // Buscar um desconto pelo estado
            //-------------------------------------------------------------------------
            RegraDescontoResult result = new CalcularDesconto(pv, item).ExecutarRegra(
                new RegraDescontoFilter
                {
                    Cliente = new OpenPOS.Data.Cadastro.Pessoa.Cliente
                    {
                        GUID = Guid.NewGuid().ToString()
                    },
                    Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado
                });

            Assert.AreEqual(old, item.ValorTotalLiquido);

            result = new CalcularDesconto(pv, pv.Itens[0]).ExecutarRegra(
                new RegraDescontoFilter
                {
                    Cliente = pv.DadoPessoa.Cliente as ICliente,
                    Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado
                });

            Assert.AreNotEqual(old, item.ValorTotalLiquido);
        }
Ejemplo n.º 4
0
        public override void Gravar()
        {
            #region Impressora
            //criar uma impressora
            ImpressoraTest imprTest = new ImpressoraTest();
            imprTest.Gravar();
            IImpressora impressora = new Impressora(imprTest.GUID);
            #endregion

            #region Regsitro 01
            Registro01 r01 = new Registro01();
            r01.Impressora = impressora;
            r01.TipoECF = "TipoECF";
            r01.MarcaECF = "MarcaECF";
            r01.VersaoSB = "VesaoSB";
            r01.DataInstalacaoSB = DateTime.Today;
            r01.HoraInstalacaoSB = DateTime.Now;
            r01.NumeroSequenciaECF = 1;
            r01.CNPJEmitente = "04141174000125";
            r01.IEEmitente = "1234567890";
            r01.CNPJSoftwareHouse = "04141174000125";
            r01.IESoftwareHouse = "InscEstSoftHouse";
            r01.InscrMunicipalSoftwareHouse = "InscMunSoftHouse";
            r01.DenominacaoSoftwareHouse = "DenominacaoSoftHouse";
            r01.NomePAFECF = "NomePAFECF";
            r01.VersaoPAFECF = "VersaoPAFECF";
            r01.CodigoMD5PAFECF = "CodMD5PAFECF";
            r01.DataCriacao = DateTime.Today;
            r01.VersaoEspecReqPAFECF = "VersaoEspReqPAFECF";
            #endregion

            #region Registro 02
            Registro02 r02 = new Registro02();

            r02.CRZ = 1;
            r02.COO = 1;
            r02.CRO = 1;
            r02.DataMovimento = DateTime.Today;
            r02.DataHoraEmissao = DateTime.Now;
            r02.VendaBrutaDiaria = new Random().NextDouble(500);
            r02.ParametroECFISSQN = false;

            r02.Registros03.Add(new Registro03()
            {
                ValorAcumulado = new Random().NextDouble(500),
                TotalizadorParcial = "T1800"
            });

            r02.Registros03.Add(new Registro03()
            {
                ValorAcumulado = new Random().NextDouble(500),
                TotalizadorParcial = "F1800"
            });

            r02.MeiosPagamentos.Add(new Registro02MeiosPagto
            {
                FormaPagamento = "Dinheiro",
                Indice = 1,
                ValorAcumulado = new Random().NextDouble(500),
            });

            r02.MeiosPagamentos.Add(new Registro02MeiosPagto
            {
                FormaPagamento = "Cartao",
                Indice = 2,
                ValorAcumulado = new Random().NextDouble(500),
            });

            r01.RegistrosR2.Add(r02);
            #endregion

            #region Registro 04
            #region Movimento
            PreVendaTest pvTest = new PreVendaTest();
            pvTest.Gravar();
            IMovimento movimento = new PreVenda(pvTest.GUID);
            #endregion

            Registro04 r04 = new Registro04();
            r04.Movimento = movimento;
            r04.NumeroFabricacao = "p_NumeroFabricacao";
            r04.MFAdicional = "p_MFAdicional";
            r04.ModeloECF = "p_ModeloECF";
            r04.NumeroUsuario = 1;
            r04.CCF = 1;
            r04.COO = 2;
            r04.DataEmissao = DateTime.Today;
            r04.ValorSubtotal = new Random().NextDouble(50);
            r04.ValorDescontoSubtotal = new Random().NextDouble(50);
            r04.TipoDescontoSubtotal = IndicadorTipo.Monetario;
            r04.ValorAcrescimoSubtotal = new Random().NextDouble(50);
            r04.TipoAcrescimoSubtotal = IndicadorTipo.Percentual;
            r04.ValorTotalLiquido = new Random().NextDouble(50);
            r04.Cancelado = IndicadorCancelamento.Nao;
            r04.ValorCancelamentoAcrescimoSubtotal = new Random().NextDouble(50);
            r04.OrdemDescontoAcrescimo = IndicadorOrdem.Desconto;
            r04.NomeAdquirente = "Marcelo";
            r04.CPFCNPJAdquirente = "25806756807";

            //adicionar registros05
            r04.Registros05.Add(new Registro05
            {
                ItemMovimentado = movimento.Itens[0],
                NumeroFabricacao = "NumeroFabricacao",
                MFAdicional = "MFAdicional",
                ModeloECF = "ModeloECF",
                NumeroUsuario = 1,
                COO = 1,
                CCF = 1,
                NumeroItem = 1,
                CodigoTotalalizadorParcial = "CodigoTotalalizadorParcial",
                Cancelado = IndicadorCancelamento.Nao,
                QuantidadeCancelada = new Random().NextDouble(50),
                ValorCancelado = new Random().NextDouble(50),
                ValorCancelamentoAcrescimo = new Random().NextDouble(50),
                IndicadorTruncamento = IndicadorTruncamento.Arredondamento,
                IndicadorProducao = IndicadorProducao.Proprio,
                QuantidadeCasaDecimal = 2,
                QuantidadeCasaDecimalVlrUnit = 2,
                SituacaoTributaria = SituacaoTributaria.Isento
            });

            r01.RegistrosR4.Add(r04);
            #endregion

            #region Registro 06
            Registro06 r06 = new Registro06();

            r06.NumeroFabricacao = "p_NumeroFabricacao";
            r06.MFAdicional = "p_MFAdicional";
            r06.ModeloECF = "p_ModeloECF";
            r06.NumeroUsuario = 1;
            r06.COO = 2;
            r06.GNF = 1;
            r06.GRC = 1;
            r06.Denominacao = SimboloDenominacao.ComprovanteCreditoDebito;
            r06.DataFinalEmissao = DateTime.Today;
            r06.HoraFinalEmissao = DateTime.Today;

            //adicionar registros07
            r06.Registros07.Add(new Registro07()
            {
                COO = 1,
                CCF = 1,
                GNF = 1,
                //TODO: Quando implementar a baixa, colocar neste teste
                //BaixaForma
                IndicadorEstorno = IndicadorEstorno.Nao,
                ValorEstornado = new Random().NextDouble(50)
            });

            r01.RegistrosR6.Add(r06);
            #endregion

            GUID = r01.Save();
        }
Ejemplo n.º 5
0
        public void ExcecaoTest()
        {
            #region gravar a pré-venda
            //-------------------------------------------------------------------------
            // Gravar um pré-venda para utilizar durante o teste
            //-------------------------------------------------------------------------
            PreVendaTest pvTest = new PreVendaTest();
            pvTest.Gravar();
            PreVenda pv = pvTest.PreVenda;
            IEstado estado = RegraDescontoTest.NovoEstado();

            //-------------------------------------------------------------------------
            // Modificar o estado do movimento
            //-------------------------------------------------------------------------
            pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado = estado;
            #endregion

            #region gravar a regra
            //-------------------------------------------------------------------------
            // Criar um regra por estado e cliente
            //-------------------------------------------------------------------------
            DescontoRegra oRegDesc = new DescontoRegra();
            oRegDesc.Descricao = "Primeira Regra Desconto";
            oRegDesc.TipoValor = TipoValor.Percentual;
            oRegDesc.Valor = 10;

            oRegDesc.Filtros = new List<IDescontoRegraFiltro>{
                new DescontoRegraFiltro{
                    Estado = estado,
                }
            };

            GUID = oRegDesc.Save();
            #endregion

            #region aqui existe desconto
            Model.Faturamento.Lancamento.Movimento.Item.IItem item = pv.Itens[0];

            double old = item.ValorTotalLiquido;

            //-------------------------------------------------------------------------
            // Buscar um desconto pelo estado
            //-------------------------------------------------------------------------
            RegraDescontoResult result = new CalcularDesconto(pv, item).ExecutarRegra(
                new RegraDescontoFilter
                {
                    Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado
                });

            //o desconto foi aplicado
            Assert.AreNotEqual(old, item.ValorTotalLiquido);
            #endregion

            #region exceção pelo cliente
            //-------------------------------------------------------------------------
            // Agora iremos informar a regra que o cliente é exceção
            //-------------------------------------------------------------------------
            oRegDesc.Excecoes.Add(new DescontoRegraExcecao
            {
                Cliente = pv.DadoPessoa.Cliente as ICliente
            });

            oRegDesc.Save();

            old = item.ValorTotalLiquido;

            result = new CalcularDesconto(pv, pv.Itens[0]).ExecutarRegra(
                new RegraDescontoFilter
                {
                    Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado
                });

            //-------------------------------------------------------------------------
            // Não pode ter havido desconto, pois o cliente é uma exceção
            //-------------------------------------------------------------------------
            Assert.AreEqual(old, item.ValorTotalLiquido);
            #endregion
        }
Ejemplo n.º 6
0
        public override void Gravar()
        {
            //-------------------------------------------------------------------------
            // Como teste pode recuperar qualquer ECF
            //-------------------------------------------------------------------------
            IUnidade un = new Unidade().Find()[0] as IUnidade;
            IVendedor vendedor = new Vendedor().Find<IVendedor>(new Where { Limit = 1 })[0];
            VendaCF v = new VendaCF();
            v.QuantidadeVolume = 2;

            v.TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco(Settings.TabelaPrecoCupomPadrao.GUID);

            v.DadoPessoa = new DadoPessoa
            {
                Cliente = Settings.ConsumidorFinal
            };

            v.EmissorCupom = Settings.UsuarioAtual;

            // TODO: Voltar ao normal
            v.AbreFechaCaixa = new AbreCaixa().Find<AbreCaixa>().FirstOrDefault().CaixaAberto();

            Acabado = v.TabelaPreco.Itens.FirstOrDefault().Item as IAcabado;

            v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item
            {
                Quantidade = new Random().NextDouble(15, 50),
                ValorUnitarioBruto = new Random().NextDouble(15, 50),
                DescricaoNF = "Produto de teste um",
                SituacaoTributaria = SituacaoTributaria.ISSQN,
                ItemMovimentado = Acabado,
                Unidade = un,
                Vendedor = vendedor,
                Conferido = true,
                TabelaPreco = v.TabelaPreco
            });
            v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item
            {
                Quantidade = new Random().NextDouble(15, 50),
                ValorUnitarioBruto = new Random().NextDouble(15, 50),
                DescricaoNF = "Produto de teste dois",
                SituacaoTributaria = SituacaoTributaria.Cancelamento,
                ItemMovimentado = Acabado,
                Unidade = un,
                Vendedor = vendedor,
                Conferido = true,
                TabelaPreco = v.TabelaPreco
            });
            v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item
            {
                Quantidade = new Random().NextDouble(15, 50),
                ValorUnitarioBruto = new Random().NextDouble(15, 50),
                DescricaoNF = "Produto de teste tres",
                SituacaoTributaria = "18,00",
                ItemMovimentado = Acabado,
                Unidade = un,
                Vendedor = vendedor,
                Conferido = true,
                TabelaPreco = v.TabelaPreco
            });

            #region Movimento vinculado
            PreVendaTest pvt = new PreVendaTest();
            pvt.Gravar();
            v.MovimentosVinculados.Add(new PreVenda(pvt.GUID));
            #endregion

            v.NumeroOrdemECF = 123;
            v.NumeroSerieECF = "212lklk1kl";
            v.COO = 123458;

            GUID = v.Save();
        }