Example #1
0
        /// <summary>
        /// Gerar a comissão de venda a partir do lançamento
        /// </summary>
        /// <param name="venda"></param>
        /// <param name="lancamento">Lançamento valor faturado</param>
        /// <param name="user">Vendedor</param>
        public ComissaoVendaUsuario(Venda venda, LancamentoFinanceiro lancamento, Usuario user) : this()
        {
            this.IdVenda = venda.IdVenda;
            //histórico
            lancamento.Observacao     = "COMISSÂO VENDA Nº: " + lancamento.IdVenda;
            lancamento.TipoLancamento = TypeLancamentoFinanceiro.Pagar;
            //comissão do usuário
            this.PorcentagemComissao = user.PorcentagemComissao;
            this.ValorFaturado       = lancamento.ValorLancamento;

            this.CalculaComissao();

            if (lancamento.IdVenda != null)
            {
                this.IdVenda = lancamento.IdVenda.Value;
            }
        }
Example #2
0
        public void FaturarComissao(Venda venda, LancamentoFinanceiro lancamento)
        {
            this.IdVenda             = venda.IdVenda;
            this.PorcentagemComissao = venda.Usuario.PorcentagemComissao;
            this.ValorFaturado       = lancamento.ValorLancamento;
            this.StatusComissao      = TypeStatusComissaoVenda.Faturado;
            this.CalculaComissao();

            //comissao eh sempre a pagar
            lancamento.TipoLancamento = TypeLancamentoFinanceiro.Pagar;
            //comissao integral
            lancamento.ValorLancamento = this.ValorComissao;
            //histórico
            lancamento.Observacao = "COMISSÂO VENDA Nº: " + venda.IdVenda;

            //cria a fatura
            this.Lancamentos.Add(lancamento);
        }
Example #3
0
        public void Update(LancamentoFinanceiro novo, bool updateAll = false)
        {
            this.ValorJuros         = novo.ValorJuros;
            this.ValorLancamento    = novo.ValorLancamento;
            this.UsuarioRecModifyBy = novo.UsuarioRecModifyBy;

            this.RecModifyDate = novo.RecModifyDate;
            //quem seta a data de pagamento eh somente o wizard
            //entao eu vo deixar atualizar essa data somente se ela ja existir
            if (novo.DataPagamento != null)
            {
                this.DataPagamento = novo.DataPagamento;
            }
            this.DataLancamento = novo.DataLancamento;
            this.DataVencimento = novo.DataVencimento;

            this.DiasPrazo = DataUtil.CalcularDias(DataLancamento, DataVencimento);

            this.IdCliFor         = novo.IdCliFor;
            this.IdFilial         = novo.IdFilial;
            this.IdCentroCusto    = novo.IdCentroCusto;
            this.IdFormaPagamento = novo.IdFormaPagamento;
            this.IdVenda          = novo.IdVenda;

            this.Observacao = novo.Observacao;
            if (novo.SequencialParcela == 0)
            {
                this.SequencialParcela = 1;
            }
            this.StatusLancamento   = novo.StatusLancamento;
            this.TipoLancamento     = novo.TipoLancamento;
            this.MotivoCancelamento = novo.MotivoCancelamento;

            this.QuantidadeAnexos = novo.Anexos.Count;
            ValidarLancamento();

            if (updateAll)
            {
                this.CliFor      = novo.CliFor;
                this.Filial      = novo.Filial;
                this.CentroCusto = novo.CentroCusto;
            }
        }
Example #4
0
        //Manualmente implementando
        public LancamentoFinanceiro Clone()
        {
            LancamentoFinanceiro novo = new LancamentoFinanceiro();

            novo.Update(this);
            //usuario que criou
            novo.RecCreatedBy   = this.RecCreatedBy;
            novo.RecCreatedDate = this.RecCreatedDate;

            //usuario que modificou
            novo.RecModifyBy   = this.RecModifyBy;
            novo.RecModifyDate = this.RecModifyDate;

            novo.DataVencimento    = this.DataVencimento;
            novo.SequencialParcela = this.SequencialParcela;
            novo.ValorLancamento   = this.ValorLancamento;

            //return (LancamentoFinanceiro)this.MemberwiseClone();
            return(novo);
        }