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 void CancelarTotal() { Gravar(); PreVenda pv = new PreVenda(GUID); pv.Cancelar("Teste de aplicação"); ; //carregar o objeto e verificar se foi carregado os dados do cancelamento pv = new PreVenda(GUID); DumpElement(pv); Assert.AreNotEqual(pv.DadosCancelamento, null); }
public void CancelarItem() { Gravar(); string motivo = "Teste de cancelamento de item"; PreVenda pv = new PreVenda(GUID); //cancelar apenas o primeiro item pv.Itens[0].Cancelar(motivo); //carregar o objeto e verificar se foi carregado os dados do cancelamento pv = new PreVenda(GUID); DumpElement(pv); Assert.AreEqual(pv.Itens[0].DadosCancelamento.Motivo, motivo); }
/// <summary> /// Cria uma Pré-Venda de acordo com o movimento /// </summary> /// <param name="movimento">Movimento a ser convertido</param> /// <returns></returns> public static IPreVenda Create(Model.Faturamento.Lancamento.Movimento.IMovimento movimento) { if (movimento.IsNullOrEmpty()) return null; IPreVenda result = new PreVenda(); result.EGUID = movimento.EGUID; result.DadoPessoa = movimento.DadoPessoa; result.DataHoraMovimento = movimento.DataHoraMovimento; result.DataEmissao = movimento.DataEmissao; result.ItensEspeciais = movimento.ItensEspeciais; result.TabelaPreco = movimento.TabelaPreco; result.Itens = new List<Model.Faturamento.Lancamento.Movimento.Item.IItem>(); foreach (Model.Faturamento.Lancamento.Movimento.Item.IItem item in movimento.Itens) { result.Itens.Add(new Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item { EGUID = item.EGUID, ItemMovimentado = item.ItemMovimentado, DescricaoNF = item.DescricaoNF, CFOP = item.CFOP, Conferido = item.Conferido, ItensEspeciais = item.ItensEspeciais, Ordem = item.Ordem, Quantidade = item.Quantidade, QuantidadeConferida = item.QuantidadeConferida, Unidade = item.Unidade, ValorDescontoAcrescimo = item.ValorDescontoAcrescimo, ValorUnitarioBruto = item.ValorUnitarioBruto, Vendedor = item.Vendedor, PercentualImpostoAproximadoFederal = item.PercentualImpostoAproximadoFederal, PercentualImpostoAproximadoImport = item.PercentualImpostoAproximadoImport, PercentualImpostoAproximadoEstadual = item.PercentualImpostoAproximadoEstadual, PercentualImpostoAproximadoMunicipal = item.PercentualImpostoAproximadoMunicipal, TabelaPreco = item.TabelaPreco }); } return result; }
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 Popular() { PreVenda pv = new PreVenda(GUID); DumpElement(pv); DumpElement(pv.Itens); DumpElement(pv.Parcelas); }
/// <summary> /// Cancela as Pré Vendas pendentes /// </summary> private void CancelaPreVendasPendentes() { try { //Verifica se tem pre vendas pendentes DateTime dataMov = DateTime.Today; #region Antes da emissão da redução Z if (DadosReducaoZ.DataDoMovimento.CompareTo(dataMov) > 2) dataMov = dataMov.AddDays(DadosReducaoZ.DataDoMovimento.CompareTo(dataMov) - 1); else if (DadosReducaoZ.DataDoMovimento.CompareTo(dataMov) != 1) dataMov = DadosReducaoZ.DataDoMovimento.AddDays(-1); IList<IPreVenda> preVendas = new PreVenda().Find<IPreVenda>(new Where() { { "fat_LanMov.DataHoraMovimento < @p1", new Parameter { GenericDbType = GenericDbType.DateTime, ParameterName = "@p1", Value = dataMov } }, { "fat_Lan.Status = @p2", new Parameter { GenericDbType = GenericDbType.Integer, ParameterName = "@p2", Value = (int)Enuns.Faturamento.Lancamento.Status.Aberto } } }); //Cancela se houver pre vendas pendentes foreach (IPreVenda pv in preVendas) { Model.Faturamento.Lancamento.Movimento.VendaCF.IVendaCF venda = new VendaCF(); venda.DadoPessoa = pv.DadoPessoa; venda.Emitente = pv.Emitente; int contaPV = 0; foreach (Model.Faturamento.Lancamento.Movimento.Item.IItem item in pv.Itens) if (((Model.Faturamento.Lancamento.Movimento.Item.PreVenda.IItem)item).Status == Enuns.Faturamento.Lancamento.Movimento.Item.Status.Cancelado) contaPV++; if (contaPV != pv.Itens.Count) { ACBrECF.AbreCupom(venda.DadoPessoa.Cliente.GetCPFCNPJ(), venda.DadoPessoa.NomeFantasia, ""); foreach (Model.Faturamento.Lancamento.Movimento.Item.IItem item in pv.Itens) if (((Model.Faturamento.Lancamento.Movimento.Item.PreVenda.IItem)item).Status != Enuns.Faturamento.Lancamento.Movimento.Item.Status.Cancelado) { Model.Faturamento.Lancamento.Movimento.Item.VendaCF.IItem i = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item(); i.DescricaoNF = item.DescricaoNF; i.ItemMovimentado = item.ItemMovimentado; i.Quantidade = item.Quantidade; i.ValorUnitarioBruto = item.ValorUnitarioBruto; i.Vendedor = item.Vendedor; i.Status = Enuns.Faturamento.Lancamento.Movimento.Item.Status.Cancelado; i.SituacaoTributaria = SituacaoTributaria.Isento; i.ItensParent.Add(item); (i.ItemMovimentado as Model.Cadastro.Item.Produto.IProduto).IndicadorProducao = "P"; (i.ItemMovimentado as Model.Cadastro.Item.Produto.IProduto).IndicadorTruncamento = "T"; ((Model.Faturamento.Lancamento.Movimento.Item.PreVenda.IItem)item).Status = Enuns.Faturamento.Lancamento.Movimento.Item.Status.Cancelado; item.Save(); venda.Itens.Add(i); ACBrECF.VendeItem(i.Ordem.ToString(), i.DescricaoNF, "FF", (decimal)i.Quantidade, (decimal)i.ValorUnitarioLiquido); } venda.NumeroSerieECF = NumeroSerie; venda.NumeroOrdemECF = Unimake.Convert.ToInt(NumeroECF); venda.COO = COO; venda.COOFinal = 0; // Todo: o valor do coo final será atualizado posteriormente pela emissão da redução z venda.CRO = CRO; venda.CCF = CCF; venda.CRZ = CRZ; venda.ValorGrandeTotalECF = GrandeTotal; venda.Save(); ACBrECF.SubtotalizaCupom(); ACBrECF.FechaCupom("Obrigado"); ACBrECF.CancelaCupom(); pv.Cancelar(DateTime.Today, "Cancelamento Automático - Emissão de Redução Z"); } } #endregion } finally { //aqui tem que liberar a variável da redução Z, pois será chamada em outros métodos que dependem // dos dados da última redução Z. Ou seja, os dados de pois de validados por este método. // Este método é chamado antes da redução Z _dadosReducaoZ = null; } }
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 override void Popular() { PreVenda pv = new PreVenda(GUID); DumpElement(pv); DumpElement(pv.Itens); DumpElement(pv.ItensEspeciais); }
public override void Gravar() { #region DAV DAV dav = new DAV(); #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(); IVendedor vendedor = new Vendedor(); vendedor.FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica; 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.GUID = guidEndereco; 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; vendedor.Enderecos = new List<IEndereco> { endereco }; vendedor.Fisica = fisica; vendedor.Juridica = juridica; vendedor.NomeFantasia = "Teste"; vendedor.Observacao = "teste unitario"; vendedor.RazaoSocial = "Teste"; vendedor.TipoPessoa = Enuns.Cadastro.Pessoa.TipoPessoa.Vendedor; GUID guidVendedor = vendedor.Save(); #endregion #region DadoPessoa Model.Faturamento.Lancamento.Movimento.IDadoPessoa dadoPessoa = new Data.Faturamento.Lancamento.Movimento.DadoPessoa.DadoPessoa(); Cliente cliente = new Cliente() { FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica, Fisica = fisica, NomeFantasia = "Luciano", RazaoSocial = "Luciano Leandro", TipoPessoa = Enuns.Cadastro.Pessoa.TipoPessoa.Cliente, Enderecos = new List<IEndereco> { endereco } }; cliente.Save(); dadoPessoa.Cliente = cliente; #endregion dav.DadoPessoa = dadoPessoa; Item item1 = new Item() { Quantidade = 10, ValorUnitarioBruto = 12.5, DescricaoNF = "Produto de teste um", Vendedor = vendedor }; dav.Itens.Add(item1); GUID guidDav = dav.Save(); #endregion PreVenda pv = new PreVenda(); OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item itempv1 = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item() { Quantidade = 10, ValorUnitarioBruto = 12.5, DescricaoNF = "Produto de teste um", Status = 0, }; itempv1.Parent = pv; itempv1.ItensParent.Add((Item)dav.Itens[0].Clone()); pv.Itens.Add(itempv1); guidPv = pv.Save(); VendaCF v = new VendaCF(); OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item itemVCF = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste um", }; itemVCF.Parent = v; itemVCF.ItensParent.Add((Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item)pv.Itens[0].Clone()); v.Itens.Add(itemVCF); GUID = v.Save(); }
public void SerializePreVenda() { PreVenda pv = new PreVenda("a2d61b73-8acb-475a-9c8d-f70e100f24e0"); string o = Serializer.Serialize(pv); pv = Deserializer.Deserialize<PreVenda>(o); }
public override void Gravar() { PreVenda = 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 = "99"; 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 = new Cliente().Find<ICliente>(new Where { Limit = new Limit(1, 1) })[0]; dadoPessoa.Cliente = cliente; #endregion PreVenda.TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco(Settings.TabelaPrecoPadrao.GUID); PreVenda.DadoPessoa = dadoPessoa; PreVenda.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 for(int i = 0; i < 7; i++) { PreVenda.Itens.Add(new Item { TabelaPreco = PreVenda.TabelaPreco, Vendedor = vendedor, Quantidade = new Random().NextDouble(7, 21), ValorUnitarioBruto = new Random().NextDouble(7, 42), DescricaoNF = "Produto de teste um", ItemMovimentado = PreVenda.TabelaPreco.Itens[0].Item as Acabado, Status = 0, CFOP = cfop, Conferido = true, 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 GUID = PreVenda.Save(); }
public void GenerateXML() { Gravar(); IPreVenda pv = new PreVenda(GUID); //DumpElement(pv.GenerateXML()); }
/// <summary> /// Pesquisar todos os movimentos utilizando a SearchWindow /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnPesquisarMovimento_Click(object sender, EventArgs e) { IParentModel tipoMovimento = null; // Aqui verifica o tipo de movimento que o usuário quer pesquisar if (rbtDAV.Checked) tipoMovimento = new DAV(); else if (rbtDAVOS.Checked) tipoMovimento = new Data.Faturamento.Lancamento.Movimento.DAV.OS.DAV(); else tipoMovimento = new PreVenda(); //Filtro para trazer somente os movimentos que estão com o status: Aberto Where where = new Where(); where.Add("fat_lan.status = @status", new Parameter { ParameterName = "@status", Value = (int)Enuns.Faturamento.Lancamento.Status.Aberto }); // Fazer a Pesquisa e pegar o GUID movimento selecionado SearchWindowResult result = SearchWindow.Show(tipoMovimento, where); if (!result.GUID.IsNullOrEmpty()) CarregarMovimento(result.GUID); }
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(); }
/// <summary> /// Carrega o movimento selecionado pelo usuário /// </summary> /// <param name="eguid">Código do movimento</param> private void CarregarMovimento(EGUID eguid) { IList<IMovimento> movimentos = new List<IMovimento>(); if (!string.IsNullOrEmpty(eguid)) { if (rbtDAV.Checked) { movimentos = new DAV().Find<IDAV>(new Where { { "fat_LanMovDav.EGUID", eguid} }).ToList<IMovimento>(); } else if (rbtPreVenda.Checked) { movimentos = new PreVenda().Find<IPreVenda>(new Where { { "fat_LanMovPv.EGUID", eguid } }).ToList<IMovimento>(); } else { movimentos = new Data.Faturamento.Lancamento.Movimento.DAV.OS.DAV().Find<Model.Faturamento.Lancamento.Movimento.DAV.OS.IDAV>(new Where { { "fat_LanMovDavOs.EGUID", eguid } }).ToList<IMovimento>(); } /* * Se não encontrou movimento na base do OpenPOS, vamos procurar na base da retaguarda */ if (movimentos.Count == 0) { Movimento = GetFromBackend().FirstOrDefault(); movimentos.Add(Movimento); } CarregarMovimento(movimentos.FirstOrDefault()); } }
public override void Popular() { PreVenda pv = new PreVenda(guidPv); VendaCF v = new VendaCF(GUID); DumpElement(v); }