public void CancelarLancamento(LancamentoFinanceiro lancamento) { using (var ctx = new BalcaoContext()) { ctx.LazyLoading(false); var current = ctx.LancamentoFinanceiroDao.Find(lancamento.IdLancamento); current.StatusLancamento = TypeStatusLancamentoFinanceiro.Cancelado; if (!current.DataCancelamento.HasValue) { current.DataCancelamento = DateTime.Now; } //me ajuda quando eu faço coisa errada if (lancamento.MotivoCancelamento.ToUpper().Equals("DELETE ON CASCADE")) { string procedure = "[" + ctx.DatabaseName + "].[dbo].[P_DELETAR_LANCAMENTO]"; try { ctx.ConnectionSql.ExecuteProcedure(procedure, new SqlParameter("p_idLancamento", lancamento.IdLancamento)); XMessageIts.Mensagem("Lançamento " + lancamento.IdLancamento + " totalmente excluído com sucesso", "Atenção !!!"); } catch (SqlException) { } } else { if (ctx.LancamentoFinanceiroDao.Update(current)) { lancamento.Update(current); } try { var v = ctx.VendaDao.Find(current.IdVenda); v.ValidarStatus(); ctx.VendaDao.Update(v); } catch { } } } }
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(); } }
private void gerarParcelamento(int numParcelas, int intervalDias) { //calcule o prazo em cima da data do primeiro lançamento var row = gridView1.GetRow(0) as LancamentoFinanceiro; if (row == null) { row = this._lancamentoAtual; } DateTime dtParcela = row.DataLancamento; //limpo a lista de lancamentos anterior, se tiver. _lancamentoList.Clear(); //valor informado var valor = ParseUtil.ToDecimal(txtTotalLancamento.Text); for (int i = 1; i <= numParcelas; i++) { //retorna a data com o intervalo de dias escolhido DateTime dtVencimento = DataUtil.GetNextDate(dtParcela); if (intervalDias != 30) { dtVencimento = DataUtil.CalcularData(dtParcela, intervalDias); } //lançamento identico var parcela = new LancamentoFinanceiro(); parcela.Update(_lancamentoAtual); //usuario que criou parcela.RecCreatedBy = _lancamentoAtual.RecCreatedBy; parcela.RecCreatedDate = _lancamentoAtual.RecCreatedDate; //usuario que modificou parcela.RecModifyBy = _lancamentoAtual.RecModifyBy; parcela.RecModifyDate = _lancamentoAtual.RecModifyDate; parcela.DataVencimento = dtVencimento; parcela.SequencialParcela = i; parcela.ValorLancamento = valor / numParcelas; if (_lancamentoAtual.IdLancamento == 0) { parcela.Observacao += " | PARCELA " + i; } else { parcela.Observacao += " | REPARCELAMENTO " + i; } parcela.ValidarLancamento(); //add a nova parcela _lancamentoList.Add(parcela); if (intervalDias > 0) { //a data atual passa ser a data do vencimento da parcela //na proxima interação sera calcula mais 1 mes a frente e os dias desse periodo dtParcela = dtVencimento; } } //atualize o lançamento atual com o valor dividido por nº de parcelas escolhido. //lancamento.ValorLancamento = lancamento.ValorLancamento / numParcelas; this.txtTotalLancamento.Text = _lancamentoList.Sum(l => l.TotalLancamento).ToString("n2"); this.gridControl1.DataSource = this._lancamentoList; this.gridView1.RefreshData(); }
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(); } } } }