public void EditarErro() { ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(GUID); condicaoPagamento.FormaCalculoVencimento = Enuns.Cadastro.Financeiro.FormaCalculoVencimento.Quinzenal; condicaoPagamento.MesmoDiaMes = true; condicaoPagamento.Save(); }
public void CalcularParcelaForaAno() { ////------------------------------------------------------------------------- //// Criar uma condição de pagamento ////------------------------------------------------------------------------- ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(); condicaoPagamento.PrazoMedio = 1; condicaoPagamento.FormaCalculoVencimento = Enuns.Cadastro.Financeiro.FormaCalculoVencimento.Periodico; condicaoPagamento.VencimentoFeriado = Enuns.Cadastro.Financeiro.VencimentoFeriado.Manter; condicaoPagamento.MesmoDiaMes = true; #region Período de vencimento IPeriodo periodo = new OpenPOS.Data.Cadastro.Periodo.Periodo(); periodo.Tipo = TipoVencimento.ForaAno; periodo.Anuais = new List<IAnual> { new Anual { MesFinal = MesesAno.Janeiro, MesInicial = MesesAno.Janeiro, DiaVencimento = DiaMes.DiaQuinze, MesVencimento = MesesAno.Janeiro, AnoVencimento = AnoVencimento.AnoCorrente }, new Anual { MesFinal = MesesAno.Janeiro, MesInicial = MesesAno.Janeiro, DiaVencimento = DiaMes.DiaQuinze, MesVencimento = MesesAno.Janeiro, AnoVencimento = AnoVencimento.AnoCorrente } }; #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); //------------------------------------------------------------------------- // Calcular as parcelas //------------------------------------------------------------------------- var parcelas = condicaoPagamento.GerarParcelas(1000, DateTime.Today); DumpElement(parcelas); }
public override void Gravar() { ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(); condicaoPagamento.Descricao = "Condição de pagamento"; condicaoPagamento.PrazoMedio = 1; condicaoPagamento.FormaCalculoVencimento = Enuns.Cadastro.Financeiro.FormaCalculoVencimento.Mensal; condicaoPagamento.VencimentoFeriado = Enuns.Cadastro.Financeiro.VencimentoFeriado.Manter; condicaoPagamento.MesmoDiaMes = true; condicaoPagamento.PercentualJuros = 1.51; condicaoPagamento.TipoJuros = Enuns.Financeiro.TipoJuros.Simples; #region Período de vencimento IPeriodo periodo = new OpenPOS.Data.Cadastro.Periodo.Periodo(); periodo.Descricao = "Período de vencimento semanal"; periodo.Tipo = TipoVencimento.ForaSemana; ISemanal perSemanal = new OpenPOS.Data.Cadastro.Periodo.Semanal(); perSemanal.DiaInicial = DiaSemana.SegundaFeira; perSemanal.DiaFinal = DiaSemana.Sabado; perSemanal.DiaVencimento = DiaSemana.SegundaFeira; perSemanal.SemanaVencimento = SemanaVencimento.PrimeiraSemanaAposCorrente; periodo.Semanais.Add(perSemanal); GUID guidPeriodo = periodo.Save(); #endregion IParcela parcelaUm = new Parcela(); parcelaUm.APartirDataEmissao = 1; parcelaUm.APartirDataVencimentoAnterior = 1; parcelaUm.Percentual = 35; parcelaUm.PeriodoVencimento = new OpenPOS.Data.Cadastro.Periodo.Periodo(guidPeriodo); parcelaUm.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaUm); IParcela parcelaDois = new Parcela(); parcelaDois.APartirDataEmissao = 1; parcelaDois.APartirDataVencimentoAnterior = 1; parcelaDois.Percentual = 65; parcelaDois.PeriodoVencimento = new OpenPOS.Data.Cadastro.Periodo.Periodo(guidPeriodo); parcelaDois.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaDois); GUID = condicaoPagamento.Save(); }
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 void CalcularParcelaMensalJurosCompostos() { ////------------------------------------------------------------------------- //// Criar uma condição de pagamento ////------------------------------------------------------------------------- ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(); condicaoPagamento.PrazoMedio = 1; condicaoPagamento.FormaCalculoVencimento = Enuns.Cadastro.Financeiro.FormaCalculoVencimento.Mensal; condicaoPagamento.VencimentoFeriado = Enuns.Cadastro.Financeiro.VencimentoFeriado.Manter; condicaoPagamento.MesmoDiaMes = true; condicaoPagamento.TipoJuros = Enuns.Financeiro.TipoJuros.SistemaPrice; condicaoPagamento.PercentualJuros = 5; #region Período de vencimento IPeriodo periodo = new OpenPOS.Data.Cadastro.Periodo.Periodo(); periodo.Tipo = TipoVencimento.ForaMes; #endregion IParcela parcelaUm = new Parcela(); parcelaUm.APartirDataEmissao = 30; parcelaUm.APartirDataVencimentoAnterior = 30; parcelaUm.Percentual = 100/3; parcelaUm.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaUm); IParcela parcelaDois = new Parcela(); parcelaDois.APartirDataEmissao = 30; parcelaDois.APartirDataVencimentoAnterior = 60; parcelaDois.Percentual = 100 / 3; parcelaDois.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaDois); IParcela parcelaTres = new Parcela(); parcelaTres.APartirDataEmissao = 30; parcelaTres.APartirDataVencimentoAnterior = 60; parcelaTres.Percentual = 100/3; parcelaTres.PeriodoVencimento = periodo; condicaoPagamento.Parcelas.Add(parcelaTres); //------------------------------------------------------------------------- // Calcular as parcelas //------------------------------------------------------------------------- var parcelas = condicaoPagamento.GerarParcelas(1000, DateTime.Today); DumpElement(parcelas); }
public void CalcularParcelaForaSemana() { ////------------------------------------------------------------------------- //// Criar uma condição de pagamento ////------------------------------------------------------------------------- ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(); condicaoPagamento.PrazoMedio = 1; condicaoPagamento.FormaCalculoVencimento = Enuns.Cadastro.Financeiro.FormaCalculoVencimento.Periodico; condicaoPagamento.VencimentoFeriado = Enuns.Cadastro.Financeiro.VencimentoFeriado.Manter; condicaoPagamento.MesmoDiaMes = true; #region Período de vencimento IPeriodo periodo = new OpenPOS.Data.Cadastro.Periodo.Periodo(); periodo.Tipo = TipoVencimento.ForaSemana; periodo.Semanais = new List<ISemanal> { new Semanal { DiaFinal = DiaSemana.Domingo, DiaInicial = DiaSemana.Domingo, DiaVencimento = DiaSemana.QuartaFeira, SemanaVencimento = SemanaVencimento.PrimeiraSemanaAposCorrente }, new Semanal{ DiaFinal = DiaSemana.Domingo, DiaInicial = DiaSemana.Domingo, DiaVencimento = DiaSemana.QuartaFeira, SemanaVencimento = SemanaVencimento.PrimeiraSemanaAposCorrente } }; #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); //------------------------------------------------------------------------- // Calcular as parcelas //------------------------------------------------------------------------- var parcelas = condicaoPagamento.GerarParcelas(1000, DateTime.Today); DumpElement(parcelas); }
/// <summary> /// Instancia este objeto e apenas inicia as variáveis, não carrega nenhum dado da base de dados /// </summary> public MovimentoBase() : base() { DataEmissao = DateTime.Now; DataHoraCadastro = DateTime.Now; DataHoraMovimento = DateTime.Now; Itens = new List<IItem>(); Emitente = IndicadorProducao.Proprio; Situacao = SituacaoNotaFiscal.Normal; DadoPessoa = new DadoPessoa(); Impressora = new Impressora(); Registro04 = new Registro04(); AnaliseCredito = new AnaliseCredito(); Parcelas = new List<IParcela>(); ItensEspeciais = new List<IEspecial>(); CondicaoPagamento = new CondicaoPagamento(); MovimentosVinculados = new List<IMovimento>(); MovimentosMesclados = new List<IMovimento>(); Ocorrencias = new List<Model.Faturamento.Lancamento.Movimento.Ocorrencia.IOcorrencia>(); Baixa = new Data.Faturamento.Lancamento.Movimento.Baixa.Baixa(); Serie = new Data.Faturamento.Cadastro.Serie(); }
public override void Popular() { ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(GUID); DumpElement(condicaoPagamento); }
public override void Excluir() { ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(GUID); condicaoPagamento.Delete(); }
public override void Editar() { ICondicaoPagamento condicaoPagamento = new CondicaoPagamento(GUID); condicaoPagamento.Descricao = "Condição de pagamento [editado]"; condicaoPagamento.Save(); }
/// <summary> /// Adiciona as parcelas de acordo com a condição de pagamento /// </summary> /// <param name="sender">Objeto que disparou o evento</param> /// <param name="e">Argumento do evento gerado</param> private void addToGridCondicao_Click(object sender, EventArgs e) { if (GUID.IsValid(sfCondicaoPagamento.SelectedItem.GUID)) { if (ValorTotalLiquido <= 0) { MessageBox.ShowWarning("O valor do movimento não pode ser menor ou igual á zero."); sfCondicaoPagamento.Clear(); return; } grdParcela.Clear(); if (ValorTotalJuros > 0) ValorTotalLiquido -= ValorTotalJuros; if (grdParcela.RowsCount == 0) ValorTotalJuros = 0; ICondicaoPagamento condicao = new CondicaoPagamento(sfCondicaoPagamento.SelectedItem.GUID); IList<IParcelaResult> parcelas = condicao.GerarParcelas(ValorTotalLiquido, DataMovimento); double vJuros = 0; Populating = true; foreach (IParcelaResult parcela in parcelas) { AddParcela(GUID.Empty, parcela.Parcela, parcela.Valor, parcela.Juros, parcela.DataVencimento, parcela.Historico); vJuros += parcela.Juros; } ValorTotalJuros = vJuros; ValorTotalLiquido += vJuros; if (OnParcelaRecalculada != null) OnParcelaRecalculada(Parcelas); Populating = false; } }