/// <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; } }
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); }
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; } }
//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); }