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);
        }
Exemple #7
0
 /// <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();
 }
Exemple #11
0
        /// <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;
            }
        }