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"); } } }
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(); } }
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(); } } } } }
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); }
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(); } } } }