public override void Editar() { PreVenda pv = new PreVenda(GUID); //fazer um dump dos itens do objeto DumpElement(pv.Itens); DumpElement(pv.ItensEspeciais); //excluir 2 itens e salvar pv.Itens.RemoveAt(0); pv.Itens.RemoveAt(0); pv.ItensEspeciais.RemoveAt(0); pv.Save(); //recarrega o objeto para conferir se salvou corretamente os itens pv = new PreVenda(GUID); //fazer um dump dos itens do objeto DumpElement(pv.Itens); DumpElement(pv.ItensEspeciais); ProdutoAcabadoTest acabadoTest = new ProdutoAcabadoTest(); acabadoTest.Gravar(); //adicionar 3 itens pv.Itens.Add(new Item { Quantidade = 10, ValorUnitarioBruto = 12.5, DescricaoNF = "Produto de teste cinco", Status = 0, ItemMovimentado = new Acabado(acabadoTest.GUID) }); pv.Itens.Add(new Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste seis", Status = 0, ItemMovimentado = new Acabado(acabadoTest.GUID) }); pv.Itens.Add(new Item { Quantidade = 33, ValorUnitarioBruto = 17.5, DescricaoNF = "Produto de teste sete", Status = 0, ItemMovimentado = new Acabado(acabadoTest.GUID) }); pv.Save(); //recarrega o objeto para conferir se salvou corretamente os itens pv = new PreVenda(GUID); //fazer um dump dos itens do objeto DumpElement(pv.Itens); }
public override void Editar() { NFManual v = new NFManual(GUID); //fazer um dump dos itens do objeto DumpElement(v.Itens); v.Save(); ProdutoAcabadoTest acabado = new ProdutoAcabadoTest(); acabado.Gravar(); //excluir 2 itens e salvar v.Itens.RemoveAt(0); v.Itens.RemoveAt(0); GUID = v.Save(); //recarrega o objeto para coNFManualrir se salvou corretamente os itens v = new NFManual(GUID); //fazer um dump dos itens do objeto DumpElement(v.Itens); //adicionar 3 itens v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFManual.Item { Quantidade = 10, ValorUnitarioBruto = 12.5, ItemMovimentado = new Acabado(acabado.GUID), DescricaoNF = "Produto de teste cinco", TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0] }); v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFManual.Item { Quantidade = 25, ValorUnitarioBruto = 15, ItemMovimentado = new Acabado(acabado.GUID), DescricaoNF = "Produto de teste seis", TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0] }); v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFManual.Item { Quantidade = 33, ValorUnitarioBruto = 17.5, ItemMovimentado = new Acabado(acabado.GUID), DescricaoNF = "Produto de teste sete", TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0] }); GUID = v.Save(); //recarrega o objeto para coNFManualrir se salvou corretamente os itens v = new NFManual(GUID); //fazer um dump dos itens do objeto DumpElement(v.Itens); }
public override void Editar() { OpenPOS.Model.Regra.BaseCalculo.IRegra regra = new OpenPOS.Data.Regra.BaseCalculo.Regra(GUID); regra.Descricao = "Regra da base de cálculo com filtros"; #region Itens do filtro #region Produto acabado ProdutoAcabadoTest produtoAcabadoTest = new ProdutoAcabadoTest(); produtoAcabadoTest.Gravar(); IAcabado produtoAcabado = new Acabado(produtoAcabadoTest.GUID); #endregion #region Grupo de item GrupoItemTest grupoItemTest = new Cadastro.Item.GrupoItemTest(); grupoItemTest.Gravar(); IGrupoItem grupoItem = new GrupoItem(grupoItemTest.GUID); #endregion #region NCM IList<INCM> ncms = new NCM().Find<INCM>(); #endregion #region Regra de CFOP CFOPRegraTest cfopRegraTest = new CFOPRegraTest(); cfopRegraTest.Gravar(); ICFOPRegra cfopRegra = new CFOPRegra(cfopRegraTest.GUID); #endregion #region Regra de CSTCSOSN CSTCSOSNRegraTest cstcsosnRegraTest = new CSTCSOSNRegraTest(); cstcsosnRegraTest.Gravar(); ICSTCSOSNRegra cstcsosnRegra = new CSTCSOSNRegra(cstcsosnRegraTest.GUID); #endregion #endregion #region Filtro da regra de base de cálculo IRegraFiltro filtro = new RegraFiltro(); filtro.Item = produtoAcabado; filtro.GrupoItem = grupoItem; filtro.NCM = ncms[0]; filtro.CFOPRegra = cfopRegra; filtro.CSTCSONRegra = cstcsosnRegra; #endregion regra.Filtros.Add(filtro); regra.Save(); }
public void SalvarSaldo() { VendaCFTest cupom = new VendaCFTest(); ProdutoAcabadoTest acabadoTest = new ProdutoAcabadoTest(); acabadoTest.Gravar(); //------------------------------------------------------------------------- // Gravar 10 cupons //------------------------------------------------------------------------- for(int i = 0; i < 10; i++) { cupom.Gravar(); } //------------------------------------------------------------------------- // Recuperar o saldo //------------------------------------------------------------------------- SaldoItem result = SaldoItem.Create(cupom.Acabado, DateTime.Today); DumpElement(result.Diarios); DumpElement(result.Mensais); DumpElement(result.Anuais); result = SaldoItem.Create(cupom.Acabado, DateTime.Today.AddYears(-1), DateTime.Today); DumpElement(result.Diarios); DumpElement(result.Mensais); DumpElement(result.Anuais); result = SaldoItem.Create(DateTime.Today); DumpElement(result.Diarios); DumpElement(result.Mensais); DumpElement(result.Anuais); result = SaldoItem.Create(DateTime.Today.AddYears(-1), DateTime.Today); DumpElement(result.Diarios); DumpElement(result.Mensais); DumpElement(result.Anuais); }
public override void Gravar() { PreVenda pv = new PreVenda(); #region Vendedor Continente t = new Continente(); t.Nome = "Europa"; GUID guidContinente = t.Save(); Pais p = new Pais(); p.Nome = "Brasil"; p.Abreviatura = "BR"; p.CodBACEN = "1234"; p.Continente = t; GUID guidPais = p.Save(); Estado e = new Estado(); e.Nome = "Europa"; e.CodigoIBGE = "41256"; e.UF = "PR"; e.Pais = p; GUID guidEstado = e.Save(); Municipio m = new Municipio(); m.Abreviatura = "PVI"; m.CodigoIBGE = "123546"; m.Estado = e; m.Nome = "Paranavaí"; GUID guidMunicipio = m.Save(); Cidade c = new Cidade(); c.Abreviatura = "GR"; c.Municipio = m; c.Nome = "Graciosa"; GUID = c.Save(); Logradouro l = new Logradouro(); l.Descricao = "Avenida"; l.Abreviatura = "Av"; GUID guidLogradouro = l.Save(); Bairro b = new Bairro(); b.Cidade = c; b.Descricao = "Centro"; GUID guidBairro = b.Save(); OpenPOS.Data.Cadastro.Endereco.Endereco end = new OpenPOS.Data.Cadastro.Endereco.Endereco(); end.Logradouro = l; end.CEP = "87704020"; end.Endereco = "Joaquim da Silva"; end.Bairro = b; string guidEndereco = end.Save(); OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica fisica = new OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica(); fisica.CPF = "05210438910"; fisica.DataNascimento = new DateTime(1985, 07, 27); fisica.EstadoCivil = Enuns.Cadastro.Pessoa.EstadoCivil.Casado; fisica.MaeNome = "Teste"; fisica.PaiNome = "Teste"; fisica.RG = "90702343"; fisica.RGEmissao = new DateTime(1995, 12, 12); Estado estado = new Estado(guidEstado); fisica.RGEstado = estado; fisica.RGOrgao = "SSPPR"; fisica.RGTipoVisto = ""; fisica.Sexo = Enuns.Cadastro.Pessoa.Sexo.Masculino; OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica juridica = new OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica(); juridica.CNPJ = "75480764000120"; juridica.DataAbertura = new DateTime(1999, 10, 10); juridica.IM = "1205"; juridica.ISuf = ""; juridica.RamoAtividade = new RamoAtividade().Find<IRamoAtividade>()[0]; OpenPOS.Data.Cadastro.Pessoa.Endereco endereco = new OpenPOS.Data.Cadastro.Pessoa.Endereco(); endereco.CaixaPostal = "123"; endereco.Cobranca = true; endereco.Complemento = "teste"; endereco.Correspondencia = true; endereco.Endereco = end; endereco.Entrega = true; endereco.Faturamento = true; endereco.Numero = "1234"; endereco.Principal = true; endereco.Proximidade = "Estadio"; endereco.Retirada = true; endereco.TipoEndereco = Enuns.Cadastro.Endereco.TipoEndereco.Principal; IVendedor vendedor = new Vendedor().Find<IVendedor>(new Where { Limit = new Limit(1, 1) })[0]; #endregion #region DadoPessoa Model.Faturamento.Lancamento.Movimento.IDadoPessoa dadoPessoa = new Data.Faturamento.Lancamento.Movimento.DadoPessoa.DadoPessoa(); ICliente cliente = CriarCliente(); dadoPessoa.Cliente = cliente; #endregion pv.TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; pv.DadoPessoa = dadoPessoa; pv.COO = 123457; #region Frete Frete frete = new Frete(); frete.Descricao = "Frete"; frete.Save(); #endregion #region Desconto Desconto desconto = new Desconto(); desconto.Descricao = "Desconto"; desconto.Save(); #endregion #region Encargos EncargoFinanceiro encargoFinanceiro = new EncargoFinanceiro(); encargoFinanceiro.Descricao = "Encargo Financeiro"; encargoFinanceiro.Save(); #endregion #region CFOP ICFOP cfop = new CFOP().Find<ICFOP>(new Where { Limit = new Limit(1, 1) })[0]; #endregion #region items ProdutoAcabadoTest acabadoTest = new ProdutoAcabadoTest(); for(int i = 0; i < 7; i++) { acabadoTest.Gravar(); pv.Itens.Add(new Item { Vendedor = vendedor, Quantidade = new Random().NextDouble(7, 21), ValorUnitarioBruto = new Random().NextDouble(7, 42), DescricaoNF = "Produto de teste um", Status = 0, ItemMovimentado = new Acabado(acabadoTest.GUID), CFOP = cfop, ItensEspeciais = new List<IEspecial> { new Especial{ Ordem = 0, ItemEspecial = frete, Valor = new Random().NextDouble(21, 77) }, new Especial{ Ordem = 1, ItemEspecial = desconto, Valor = new Random().NextDouble(21, 77) }, new Especial{ Ordem = 2, ItemEspecial = encargoFinanceiro, Valor = new Random().NextDouble(21, 77) }, } }); } #endregion #region Parcelas //------------------------------------------------------------------------- // Conta Corrente //------------------------------------------------------------------------- IContaCorrente contaCorrente = new ContaCorrente(); contaCorrente.Descricao = new Random().NextString(); contaCorrente.Save(); //------------------------------------------------------------------------- // Criar uma condição de pagamento //------------------------------------------------------------------------- ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(); condicaoPagamento.Descricao = "30/60"; condicaoPagamento.PrazoMedio = 1; condicaoPagamento.FormaCalculoVencimento = Enuns.Cadastro.Financeiro.FormaCalculoVencimento.Mensal; condicaoPagamento.VencimentoFeriado = Enuns.Cadastro.Financeiro.VencimentoFeriado.Manter; condicaoPagamento.MesmoDiaMes = false; #region Período de vencimento IPeriodo periodo = new OpenPOS.Data.Cadastro.Periodo.Periodo(); periodo.Tipo = TipoVencimento.ManualMes; periodo.Descricao = "Período mensal"; periodo.Save(); #endregion IParcela parcelaUm = new Parcela(); parcelaUm.APartirDataEmissao = 30; parcelaUm.APartirDataVencimentoAnterior = 30; parcelaUm.Percentual = 35; parcelaUm.PeriodoVencimento = periodo; parcelaUm.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaUm); IParcela parcelaDois = new Parcela(); parcelaDois.APartirDataEmissao = 30; parcelaDois.APartirDataVencimentoAnterior = 60; parcelaDois.Percentual = 65; parcelaDois.PeriodoVencimento = periodo; parcelaDois.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaDois); condicaoPagamento.Save(); pv.CondicaoPagamento = condicaoPagamento; #endregion GUID = pv.Save(); }
public override void Gravar() { NFManual v = new NFManual(); v.QuantidadeVolume = 3; v.Modelo = "01"; ProdutoAcabadoTest acabado = new ProdutoAcabadoTest(); acabado.Gravar(); v.DadoPessoa = new DadoPessoa { Cliente = Settings.ConsumidorFinal }; v.TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFManual.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste um", ItemMovimentado = new Acabado(acabado.GUID), Conferido = true, ValorImpostoAproximadoEstadual = 1.01, ValorImpostoAproximadoImportado = 1.02, ValorImpostoAproximadoMunicipio = 1.03, ChaveIBPT = "teste", TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0] }); v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFManual.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste dois", ItemMovimentado = new Acabado(acabado.GUID), Conferido = true, TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0] }); v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFManual.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste tres", ItemMovimentado = new Acabado(acabado.GUID), Conferido = true, TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0] }); GUID = v.Save(); }
public override void Gravar() { PreVenda pv = new PreVenda(); #region Vendedor Model.Cadastro.Endereco.IEndereco end = new Data.Cadastro.Endereco.Endereco().Find<Model.Cadastro.Endereco.IEndereco>(new Where { Limit = 1 })[0]; OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica fisica = new OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica(); fisica.CPF = "05210438910"; fisica.DataNascimento = new DateTime(1985, 07, 27); fisica.EstadoCivil = Enuns.Cadastro.Pessoa.EstadoCivil.Casado; fisica.MaeNome = "Teste"; fisica.PaiNome = "Teste"; fisica.RG = "90702343"; fisica.RGEmissao = new DateTime(1995, 12, 12); fisica.RGEstado = end.Estado; fisica.RGOrgao = "SSPPR"; fisica.RGTipoVisto = ""; fisica.Sexo = Enuns.Cadastro.Pessoa.Sexo.Masculino; OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica juridica = new OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica(); juridica.CNPJ = "75480764000120"; juridica.DataAbertura = new DateTime(1999, 10, 10); juridica.IM = "1205"; juridica.ISuf = ""; juridica.RamoAtividade = new RamoAtividade().Find<IRamoAtividade>()[0]; OpenPOS.Data.Cadastro.Pessoa.Endereco endereco = new OpenPOS.Data.Cadastro.Pessoa.Endereco(); endereco.CaixaPostal = "123"; endereco.Cobranca = true; endereco.Complemento = "teste"; endereco.Correspondencia = true; endereco.Endereco = end; endereco.Entrega = true; endereco.Faturamento = true; endereco.Numero = "1234"; endereco.Principal = true; endereco.Proximidade = "Estadio"; endereco.Retirada = true; endereco.TipoEndereco = Enuns.Cadastro.Endereco.TipoEndereco.Principal; IVendedor vendedor = new Vendedor().Find<IVendedor>(new Where { Limit = new Limit(1, 1) })[0]; #endregion #region DadoPessoa Model.Faturamento.Lancamento.Movimento.IDadoPessoa dadoPessoa = new Data.Faturamento.Lancamento.Movimento.DadoPessoa.DadoPessoa(); ICliente cliente = new Cliente().Find<ICliente>(new Where { Limit = new Limit(1, 1) })[0]; dadoPessoa.Cliente = cliente; #endregion pv.TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; pv.DadoPessoa = dadoPessoa; pv.COO = 123457; #region Frete Frete frete = new Frete(); frete.Descricao = "Frete"; frete.Save(); #endregion #region Desconto Desconto desconto = new Desconto(); desconto.Descricao = "Desconto"; desconto.Save(); #endregion #region Encargos EncargoFinanceiro encargoFinanceiro = new EncargoFinanceiro(); encargoFinanceiro.Descricao = "Encargo Financeiro"; encargoFinanceiro.Save(); #endregion #region CFOP ICFOP cfop = new CFOP().Find<ICFOP>(new Where { Limit = new Limit(1, 1) })[0]; #endregion #region items ProdutoAcabadoTest acabadoTest = new ProdutoAcabadoTest(); for(int i = 0; i < 3; i++) { acabadoTest.Gravar(); pv.Itens.Add(new Item { Quantidade = new Random().NextDouble(7, 21), ValorUnitarioBruto = new Random().NextDouble(7, 42), DescricaoNF = "Produto de teste um", Status = 0, ItemMovimentado = new Acabado(acabadoTest.GUID), CFOP = cfop, Vendedor = vendedor, ItensEspeciais = new List<IEspecial> { new Especial{ Ordem = 0, ItemEspecial = frete, Valor = 10 }, new Especial{ Ordem = 1, ItemEspecial = desconto, Valor = 10 }, new Especial{ Ordem = 2, ItemEspecial = encargoFinanceiro, Valor = 10 }, } }); } #endregion #region itens especiais pv.ItensEspeciais = new List<IEspecial> { new Especial{ Ordem = 0, ItemEspecial = frete, Valor = 12 }, new Especial{ Ordem = 1, ItemEspecial = desconto, Valor = 12 }, new Especial{ Ordem = 2, ItemEspecial = desconto, Valor = 12 }, new Especial{ Ordem = 3, ItemEspecial = encargoFinanceiro, Valor = 12 }}; #endregion GUID = pv.Save(); }
public void RegraTributoCalculoTest() { #region Cadastrar uma regra de CFOP ICFOPRegra cfop = new CFOPRegra(); cfop.Descricao = "Regra CFOP - Venda Consumidor Final"; cfop.CFOP = new CFOP().Find<ICFOP>(new Where() { Limit = 1 })[0]; cfop.Filtros.Add(new CFOPRegraFiltro() { TipoLancamento = Enuns.Faturamento.Lancamento.Tipo.CupomFiscal }); cfop.Save(); #endregion #region Cadastrar uma regra de CST ICSTCSOSN cstCodigo = new CSTCSOSN(); cstCodigo.Codigo = "00"; cstCodigo.Descricao = "Tributado Integralmente"; cstCodigo.Save(); ICSTCSOSNRegra cst = new CSTCSOSNRegra(); cst.Descricao = "Teste Regra"; cst.CSTCSOSNCodigos.Add(new CSTCSOSNRegraCodigo() { CSTCSOSNCodigo = new CSTCSOSN().Find<ICSTCSOSN>()[0] }); cst.Filtros.Add(new CSTCSOSNRegraFiltro() { CFOPRegra = cfop }); cst.Save(); #endregion #region Regra Tributo ITributoRegra t = new TributoRegra(); t.Descricao = "Regra - Venda Consumidor Final"; ITributo tributo = new Tributo(); tributo.TipoTributo = Enuns.Cadastro.Tributo.TipoTributo.ICMS; tributo.Descricao = "ICMS"; tributo.Aliquotas = new List<IAliquotaTributo> { new DCT.AliquotaTributo{Valor = 18.00} }; t.Aliquotas.Add(new TributoRegraAliquota() { Aliquota = tributo.Aliquotas[0] }); t.Filtros.Add(new TributoRegraFiltro() { CFOPRegra = cfop }); tributo.Save(); t.Save(); #endregion #region Filtro da regra de base de cálculo IRegraFiltro filtro = new RegraFiltro(); filtro.TipoTributo = Enuns.Cadastro.Tributo.TipoTributo.ICMS; #endregion #region Regra da base de cálculo OpenPOS.Model.Regra.BaseCalculo.IRegra regraBC = new OpenPOS.Data.Regra.BaseCalculo.Regra(); regraBC.Descricao = "Regra de base de cálculo"; regraBC.Formula = ""; regraBC.Filtros.Add(filtro); regraBC.Save(); #endregion //------------------------------------------------------------------------- // 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(); ProdutoAcabadoTest acabadoTest = new ProdutoAcabadoTest(); acabadoTest.Gravar(); v.TabelaPreco = new TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; v.DadoPessoa = new DadoPessoa { Cliente = new OpenPOS.Data.Cadastro.Pessoa.Cliente().Find<ICliente>(new Where() { Limit = 1 })[0] }; v.EmissorCupom = new OpenPOS.Data.Cadastro.Pessoa.Usuario().Find<IUsuario>(new Where() { Limit = 1 })[0]; // TODO: Voltar ao normal if (new AbreCaixa().Find<IAbreCaixa>(new Where() { { "cxa_AbreFechaCaixa.Status", 0 } }).Count > 0) v.AbreFechaCaixa = new AbreCaixa().Find<IAbreCaixa>(new Where() { { "cxa_AbreFechaCaixa.Status", 0 } })[0]; else { v.AbreFechaCaixa = new AbreCaixa().PermiteAbrir(Environment.MachineName, DateTime.Now); } 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 = new Acabado(acabadoTest.GUID), Unidade = un, Vendedor = vendedor, Parent = v }); 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 = new Acabado(acabadoTest.GUID), Unidade = un, Vendedor = vendedor, Parent = v }); 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 = new Acabado(acabadoTest.GUID), Unidade = un, Vendedor = vendedor, Parent = v }); v.NumeroOrdemECF = 123; v.NumeroSerieECF = "212lklk1kl"; v.COO = 123458; GUID = v.SaveTemp(); v = new VendaCF(GUID); #region Regra Tributo Model.Faturamento.Lancamento.Movimento.Item.IItem item = v.Itens[0]; RegraCFOPResult resultCFOP = new RetornaCFOP(item).ExecutarRegra(new RegraCFOPFilter() { Tipo = v.Tipo }); RegraCSTCSOSNResult resultCST = new RetornaCSTCSOSN(item).ExecutarRegra(new RegraCSTCSOSNFilter() { CFOPRegra = resultCFOP.Regra }); RegraTributoResult resultTributo = new CalcularTributo(item).ExecutarRegra(new RegraTributoFilter() { CFOPRegra = resultCFOP.Regra, CSTCSOSNRegra = resultCST.Regra }); #endregion }