public XFrmWizardBaixaLancamento(List <LancamentoFinanceiro> lancamentos, TypeFaturamentoComissao typeFaturamento) : this(lancamentos) { this.typeFaturamento = typeFaturamento; this.welcomeWizardPage1.Text = "Bem vindo ao assistente para baixa das comissões"; gridViewLanctosBaixa.UnSelectAllRow(); gridViewLanctosBaixa.SelectRows(0, 0); }
/// <summary> /// Gerar as comissoes da venda /// </summary> /// <param name="venda"></param> /// <param name="type"></param> /// <returns></returns> private List <LancamentoFinanceiro> createComissoes(Venda venda, TypeFaturamentoComissao type) { var lancamentos = new List <LancamentoFinanceiro>(); var comissoes = venda.Comissoes.Where(c => c.StatusComissao != TypeStatusComissaoVenda.Faturado); if (type == TypeFaturamentoComissao.Integral) { //gera um lançamento unico para essa comissa //cria uma comissao com base na venda e gera o lancamento //faturando a comissão do usuário var lancto = new LancamentoFinanceiro(venda) { //status da lancamento (comissao) StatusLancamento = TypeStatusLancamentoFinanceiro.Aberto, //comissao eh sempre a pagar TipoLancamento = TypeLancamentoFinanceiro.Pagar, //comissao integral => todas as comissoes ValorLancamento = venda.Comissoes.Sum(cv => cv.ValorComissao), //histórico Observacao = "COMISSÃO INTEGRAL VENDA Nº: " + venda.IdVenda, //forma de pagamento é dinheiro IdFormaPagamento = 1, //informe a venda IdVenda = venda.IdVenda, }; //add lancamentos.Add(lancto); } else { foreach (var cv in comissoes) { //gera um lançamento unico para essa comissa //cria uma comissao com base na venda e gera o lancamento //faturando a comissão do usuário var lancto = new LancamentoFinanceiro(cv); //add lancamentos.Add(lancto); } } return(lancamentos); }
private void baixarComissoes(Venda venda, TypeFaturamentoComissao type) { try { var comissoes = createComissoes(venda, type); var wizardBaixa = new XFrmWizardBaixaLancamento(comissoes, type); wizardBaixa.ShowDialog(); if (wizardBaixa.IsBaixa) { this.masterRowComissao.NotifyChidlChanged(); gridViewComissoes.RefreshData(); } } catch (Exception ex) { XMessageIts.ExceptionMessageDetails(ex, "Não foi possível baixar as comissões da venda"); } }
public XFrmWizardBaixaLancamento() { InitializeComponent(); this.typeFaturamento = TypeFaturamentoComissao.None; this._manager = new LancamentoDaoManager(); //tenta recuperar a conta padrão ContaBancaria conta = new ContaBancariaDaoManager().GetContaDefault(); if (conta != null) { this.lookUpContaBancaria1.FindSetContaBancaria(conta.CodigoContaBancaria); } chDataAtual_CheckedChanged(null, null); this.ActiveControl = this.cbFormaPagto; //listern default wizardControl1.EnableSelectedPageChanged(); //listerner custom this.wizardControl1.SelectedPageChanged += new DevExpress.XtraWizard .WizardPageChangedEventHandler(this.wizardControl1_SelectedPageChanged); }
/// <summary> /// Fatura a comissao de venda gerandos os lançamentos financeiros. /// </summary> /// <param name="venda"></param> /// <returns></returns> public bool FaturarComissao(List <LancamentoFinanceiro> lancamentosComissoes, TypeFaturamentoComissao type) { //using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, // new TransactionOptions() { IsolationLevel = IsolationLevel.Serializable })) //{ var lancamento = lancamentosComissoes.First(); int idVenda = lancamento.IdVenda.Value; try { using (var ctx = new BalcaoContext()) { if (type == TypeFaturamentoComissao.Integral) { //limpe todas as comissoes ctx.ComissaoVendaUsuarioDao.Delete(c => c.IdVenda == idVenda); //recupere a venda var venda = ctx.VendaDao.Find(idVenda); //crie uma nova comissão var comissao = new ComissaoVendaUsuario(venda); //crie o lançamento da comissão comissao.Lancamentos.Add(lancamento); //crie a nova comissão ctx.ComissaoVendaUsuarioDao.Save(comissao); } else { //salva o lançamento foreach (var lancto in lancamentosComissoes) { lancto.CliFor = null; ctx.LancamentoFinanceiroDao.Save(lancto); var cv = ctx.ComissaoVendaUsuarioDao.Find(lancto.IdComissaoVenda); cv.FaturarComissao(); ctx.ComissaoVendaUsuarioDao.Update(cv); } } return(true);// XMessageIts.Mensagem("Comissão da venda nº: " + idVenda + " faturada com sucesso"); } } catch (Exception ex) { XMessageIts.ExceptionJustMessage(ex, "Não foi possivel faturar comissão da venda nº: " + idVenda); throw ex; } }