private void barBtnBaixarVenda_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { using (var ctx = new BalcaoContext()) { var row = gridView1.GetFocusedRow <Venda>(); //recupera a venda var current = ctx.VendaDao.Find(row.IdVenda); var parcelas = row.Parcelas.Where(p => p.StatusLancamento != TypeStatusLancamentoFinanceiro.Cancelado && p.StatusLancamento != TypeStatusLancamentoFinanceiro.Pago).ToList(); //termina o contexto ctx.VendaDao.Dispose(); if (row.TipoMovimento != TypeVenda.Venda) { XMessageIts.Advertencia("Uma cotação não pode ser baixada !"); } else { if (row.StatusVenda == TypeStatusVenda.Paga) { XMessageIts.Mensagem("A venda selecionada está paga!", "Atenção"); } else if (row.StatusVenda == TypeStatusVenda.Cancelada) { XMessageIts.Mensagem("A venda selecionada foi cancelada e não foi pode ser baixada!", "Aviso"); } else if (parcelas.Count > 0) { XFrmWizardBaixaLancamento wizard = new XFrmWizardBaixaLancamento(parcelas); wizard.ShowDialog(); if (wizard.IsBaixa) { //recupera a venda de outros contexto pq ela foi atualizada //de outro contexto //por isso preciso da nova referencia current = new BalcaoContext().VendaDao.Find(row.IdVenda); //atualiza no grid row.Update(current); //notifica o grid da atualização gridView1.RefreshData(); } } else { XMessageIts.Mensagem("A venda não possui parcela(s) a ser(em) baixada(s)!"); } } } }
private void barBtnBaixarLancamento_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { using (var ctx = new BalcaoContext()) { ctx.LazyLoading(false); //verifica se existe pelo menos uma conta if (ctx.ContaBancariaDao.CheckFirst()) { List <LancamentoFinanceiro> lanctos = gridViewLancamentos.GetSelectedItens <LancamentoFinanceiro>(); if (lanctos.Exists(l => l.StatusLancamento == TypeStatusLancamentoFinanceiro.Cancelado)) { XMessageIts.Advertencia("Existem lançamentos cancelados selecionados, e não pode ser baixados!", "Atenção - Operação cancelada"); } else if (lanctos.Exists(l => l.StatusLancamento == TypeStatusLancamentoFinanceiro.Pago)) { XMessageIts.Advertencia("Existem lançamentos já baixados selecionados, por favor volte a tela do grid e desmarque esses lançamentos!", "Atenção - Operação cancelada"); } else { if (lanctos.Count > 0) { XFrmWizardBaixaLancamento wizard = new XFrmWizardBaixaLancamento(lanctos); wizard.ShowDialog(); if (wizard.IsBaixa) { //deixe o grid exatamente como no banco foreach (var l in lanctos) { l.Update(LancamentoDaoManager.Find(l)); } gridViewLancamentos.RefreshData(); } } else { XMessageIts.Mensagem("Nenhum lançamento(s) a ser baixado!"); } } } else//nao existe avise { XMessageIts.Advertencia("Para a baixa de lançamento(s) é necessário cadastrar " + "uma conta para crédito/débito.", "Aviso"); } } }
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"); } }
private void btnSalvar_Click(object sender, EventArgs e) { if (btnSalvar.Text.Equals("OK") && _lancAnt != null && _lancAnt.StatusLancamento == TypeStatusLancamentoFinanceiro.Pago) { this.Dispose(); } else { LancamentoFinanceiro novo = indexarDados(); var status = (TypeStatusLancamentoFinanceiro)cbStatusLancamento.SelectedIndex; if (novo != null) { try { var manager = new LancamentoDaoManager(); bool flag = false; if (_lancAnt == null) { flag = manager.SaveLancamento(novo); if (flag) { XMessageIts.Mensagem("Lancamento incluso com sucesso!\n\n" + "Nº Lançamento: " + novo.IdLancamento); } } else { flag = manager.UpdateLancamento(novo); if (flag) { XMessageIts.Mensagem("Lancamento atualizado com sucesso!"); //atualiza no grid this._lancAnt = novo; } } if (flag) { //se setei como pago if (status == TypeStatusLancamentoFinanceiro.Pago) { var lista = new List <LancamentoFinanceiro>(); //use esse status pq ainda nao foi pago se nao ira confundir o usuario //verificar se eh null, pq na criacao do lancamento ele eh null, somenta na edicao ele é 'fill' if (this._lancAnt != null) { novo.StatusLancamento = _lancAnt.StatusLancamento; } //recupera o lancto var r = LancamentoDaoManager.FindCpl(novo); lista.Add(r); //chama o wizard para realizar a baixa var wizard = new XFrmWizardBaixaLancamento(lista); wizard.ShowDialog(); //se foi cancelada a baixa if (wizard.IsBaixa == false) { //consistencia o status do lançamento novo.StatusLancamento = TypeStatusLancamentoFinanceiro.Aberto; //invoca o validar lançamento manager.UpdateLancamento(novo); } novo.Update(r); } //always this.Dispose(); } } catch (Exception ex) { XMessageIts.ExceptionJustMessage(ex, "Falha durante a persistência do lançamento!"); this.Dispose(); } } } }