private void wizardPage1_PageCommit(object sender, EventArgs e)
        {
            XFrmWait.ShowSplashScreen("Gerando lançamentos");
            this.completionWizardPage1.AllowFinish = false;

            var manager = new LancamentoDaoManager();

            this._lancamentoList.ForEach(delegate(LancamentoFinanceiro lan)
            {
                try
                {
                    if (_action == FormTypeAction.Salvar)
                    {
                        manager.SaveLancamento(lan);
                    }
                    else
                    {
                        manager.Reparcelar(_lancamentoAtual, lan);
                    }
                }
                catch (Exception ex)
                {
                    XMessageIts.Erro("Falha no parcelamento !\nVerifique a pasta de logs ou contate o administrador", "Operação cancelada");
                    LoggerUtilIts.GenerateLogs(ex);
                    this.Dispose();
                    return;
                }
            });
            this.completionWizardPage1.AllowFinish = true;
            XFrmWait.CloseSplashScreen();
        }
        private XFrmLancamentoFinanceiroListView()
        {
            InitializeComponent();

            repComboStatus.Items.AddRange(Enum.GetValues(typeof(TypeStatusLancamentoFinanceiro)));
            repComboNatureza.Items.AddRange(Enum.GetValues(typeof(TypeLancamentoFinanceiro)));

            //bloquea a add de texto
            repComboStatus.TextEditStyle   = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
            repComboNatureza.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;

            this._lanManager = new LancamentoDaoManager();

            this._gridFocusUtil = new FocusRowChangedEvent(gridViewLancamentos);

            //cancela o eventos da barEdit
            //garante somente o evento que estou disparando agora
            this._cancelTask = true;

            //Dispara o evento barEditTipo_EditValueChanged e carrega os lançamentos pelo os status
            //nao vai disparar pq eu cancelei o eventos
            this.barEditTipo.EditValue = TypeLancamentoFinanceiro.Todos;
            //Dispara o evento barEditStatus_EditValueChanged e carrega os lançamentos pelo os status
            //nao vai disparar pq eu cancelei o eventos
            this.barEditStatus.EditValue = TypeStatusLancamentoFinanceiro.Vencido;

            dtEditInicio.Value = DataUtil.GetDataInicialDoMesAtual();
            dtEditFinal.Value  = DataUtil.GetDataFinalDoMesAtual();
        }
 private void barBtnParcelarLancto_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (gridViewLancamentos.IsSelectOneRowWarning())
     {
         var row = LancamentoDaoManager.Find(gridViewLancamentos.GetFocusedRow <LancamentoFinanceiro>());
         new XFrmAssitenteLancamentoFinanceiro(row, FormTypeAction.Alterar).ShowDialog();
     }
 }
        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");
                }
            }
        }
示例#5
0
        private void wizardPage1_PageCommit(object sender, EventArgs e)
        {
            // O lancamento tera seu status apenas alterado pra cancelado
            var manager = new LancamentoDaoManager();

            foreach (var l in _lancamentos)
            {
                l.MotivoCancelamento = memoMotivoCancel.Text;
                l.DataCancelamento   = dtEditDataCancelamento.DateTime;

                manager.CancelarLancamento(l);

                l.StatusLancamento = Entidades.Enumeradores.TypeStatusLancamentoFinanceiro.Cancelado;
            }
        }
        private void barBtnEditViewLancamento_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            LancamentoFinanceiro lan = gridViewLancamentos.GetFocusedRow() as LancamentoFinanceiro;

            if (lan != null)
            {
                //passa o lancamento completo
                var current = LancamentoDaoManager.FindCpl(lan);

                var frm = new XFrmAddLancamentoFinanceiro(current, this._user);

                frm.ShowDialog();

                //atualiza no grid conforme no banco
                lan.Update(LancamentoDaoManager.Find(lan), true);

                //notifica o grid
                //gridViewLancamentos.RefreshData();
            }
        }
示例#7
0
        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);
        }
        //Cancelamento de baixas/pagamentos
        private void barBtnCancelaBaixa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (gridViewLancamentos.IsEmptyWarning())
            {
                List <LancamentoFinanceiro> lanctos = gridViewLancamentos.GetSelectedItens <LancamentoFinanceiro>();

                //verifica a lista de lancs selecionados, se houver algum lancamento com status != Pago, entra no if e exibe a mensagem
                var countStatus = lanctos.Count(p => p.StatusLancamento != TypeStatusLancamentoFinanceiro.Pago);

                if (countStatus > 0)
                {
                    XMessageIts.Advertencia("O cancelamento da baixa pode ser executado somente para lançamentos com status \"Pago\"." +
                                            "\nPor favor revise os lançamentos que foram selecionados.", "Atenção!");
                }
                else
                {
                    var msg = "Tem certeza que deseja cancelar a baixa dos lançamentos selecionados?";
                    var op  = XMessageIts.Confirmacao(msg);
                    if (op == DialogResult.Yes)
                    {
                        //nao gostei disso
                        var result = _lanManager.CancelarBaixa(lanctos, DateTime.Now.Date);
                        if (result)
                        {
                            XMessageIts.Mensagem("Baixa(s) cancelada(s) com sucesso!");
                            //deixe o grid exatamente como no banco
                            foreach (var l in lanctos)
                            {
                                l.Update(LancamentoDaoManager.Find(l));
                            }

                            gridViewLancamentos.RefreshData();
                        }
                    }
                }
            }
        }
示例#9
0
        public async Task <bool> GerarFinanceiro(ParamsGerarFinanceiro parametros)
        {
            int success           = 1;
            int saveOk            = 0;
            var competencia       = parametros.Competencia;
            var lancamentoManager = new LancamentoDaoManager();

            List <LancamentoFinanceiro> lancamentosFinanceiros = new List <LancamentoFinanceiro>();

            #region processamento/criacao dos lancs. financeiros
            if (parametros.TipoGeracao == TypeGeracaoFinanceiroFolha.Analitico)
            {
                foreach (var funcionario in competencia.FuncionariosCompetencia)
                {
                    var nome = funcionario.Funcionario.NomeFuncionario;

                    LancamentoFinanceiro l = new LancamentoFinanceiro()
                    {
                        DataLancamento    = parametros.Data,
                        IdCliFor          = parametros.CliFor.IdCliFor,
                        IdCentroCusto     = parametros.CentroCusto.IdCentroCusto,
                        IdFilial          = parametros.Filial.IdFilial,
                        DataPagamento     = parametros.Data,
                        DataVencimento    = parametros.DataVencimento,
                        Observacao        = "Pagamento funcionario " + nome + " periodo " + competencia.Periodo,
                        QuantidadeAnexos  = 0,
                        RecCreatedBy      = parametros.Usuario.IdUsuario,
                        RecCreatedDate    = DateTime.Now,
                        TipoLancamento    = TypeLancamentoFinanceiro.Pagar,
                        DiasPrazo         = DataUtil.CalcularDias(parametros.Data, parametros.DataVencimento),
                        StatusLancamento  = TypeStatusLancamentoFinanceiro.Aberto,
                        ValorLancamento   = funcionario.ValorLiquido,
                        SequencialParcela = success
                    };
                    lancamentosFinanceiros.Add(l);
                    success++;
                }
            }
            else
            {
                LancamentoFinanceiro l = new LancamentoFinanceiro()
                {
                    DataLancamento    = parametros.Data,
                    IdCliFor          = parametros.CliFor.IdCliFor,
                    IdCentroCusto     = parametros.CentroCusto.IdCentroCusto,
                    IdFilial          = parametros.Filial.IdFilial,
                    DataVencimento    = parametros.DataVencimento,
                    Observacao        = "Pagamento folha periodo " + competencia.Periodo,
                    QuantidadeAnexos  = 0,
                    RecCreatedBy      = parametros.Usuario.IdUsuario,
                    RecCreatedDate    = DateTime.Now,
                    TipoLancamento    = TypeLancamentoFinanceiro.Pagar,
                    DiasPrazo         = DataUtil.CalcularDias(parametros.Data, parametros.DataVencimento),
                    StatusLancamento  = TypeStatusLancamentoFinanceiro.Aberto,
                    ValorLancamento   = competencia.ValorLiquidoFechamento.Value,
                    SequencialParcela = 1
                };
                lancamentosFinanceiros.Add(l);
            }
            #endregion

            //se a lista foi preenchida com os lancamentos financeiros, grave cada um no banco
            if (lancamentosFinanceiros.Count > 0)
            {
                using (var ctx = new BalcaoContext())
                {
                    foreach (var lancFinanceiro in lancamentosFinanceiros)
                    {
                        var result = await ctx.LancamentoFinanceiroDao.SaveAsync(lancFinanceiro);

                        if (result)
                        {
                            saveOk++;
                        }
                    }

                    //se foi tudo salvo ok, verifica se foi marcado para baixar os lancamentos e os baixe.
                    if (saveOk == lancamentosFinanceiros.Count)
                    {
                        if (parametros.BaixarLancamento)
                        {
                            lancamentoManager.BaixarLancamentos(lancamentosFinanceiros, parametros.ContaBancaria,
                                                                parametros.DataBaixa, parametros.FormaPagamento);
                        }
                        //atualiza a competencia informando que teve seus lancamentos gerados
                        var compCurrent = ctx.CompetenciaFolhaDao.Find(competencia.IdCompetencia);
                        if (compCurrent.Status == TypeStatusCompetencia.Encerrada)
                        {
                            compCurrent.Status = TypeStatusCompetencia.EncerradaFinanceiro;
                        }

                        ctx.CompetenciaFolhaDao.Update(compCurrent);

                        return(true);
                    }
                }
            }
            return(false);
        }
示例#10
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();
                    }
                }
            }
        }