Пример #1
0
        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");
                }
            }
        }
Пример #3
0
        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");
            }
        }
Пример #4
0
        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();
                    }
                }
            }
        }