// SALVAR REGISTRO //------------------------------------------------------------------------------------------------------------ private void btnSalvar_Click(object sender, EventArgs e) { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //--- check data if (!CheckSaveData()) { return; } ContaBLL cBLL = new ContaBLL(); //--- SAVE: INSERT OR UPDATE if (_conta.IDConta == null) //--- save | Insert { // create ajuste objCaixaAjuste ajuste = null; if (_conta.ContaSaldo > 0) { ajuste = CreateAjuste(); if (ajuste == null) { return; } } //--- execute INSERT int ID = cBLL.InsertConta(_conta, ajuste, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate); //--- define newID _conta.IDConta = ID; } else //--- update { cBLL.UpdateConta(_conta); } //--- change Sit Sit = EnumFlagEstado.RegistroSalvo; //--- emit massage AbrirDialog("Registro Salvo com sucesso!", "Registro Salvo", DialogType.OK, DialogIcon.Information); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Salvar Registro de Conta..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// INSERT //------------------------------------------------------------------------------------------------------------ public int InsertConta(objConta conta, objCaixaAjuste ajuste = null, Action <int, decimal> ContaSldUpdate = null, Action <int, decimal> SetorSldUpdate = null) { AcessoDados db = null; try { db = new AcessoDados(); db.BeginTransaction(); //--- clear Params db.LimparParametros(); //--- define Params db.AdicionarParametros("@Conta", conta.Conta); db.AdicionarParametros("@ContaSaldo", 0.0m); db.AdicionarParametros("@BloqueioData", conta.BloqueioData); db.AdicionarParametros("@Bancaria", conta.Bancaria); db.AdicionarParametros("@OperadoraCartao", conta.OperadoraCartao); db.AdicionarParametros("@IDCongregacao", conta.IDCongregacao); db.AdicionarParametros("@Ativa", conta.Ativa); //--- convert null parameters db.ConvertNullParams(); //--- create query string query = db.CreateInsertSQL("tblConta"); //--- insert var newID = (int)db.ExecutarInsertAndGetID(query); //--- check Saldo INICIAL and insert if (ajuste != null) { ajuste.IDConta = newID; new AjusteBLL().InsertAjuste(ajuste, ContaSldUpdate, SetorSldUpdate, null, db); } db.CommitTransaction(); return(newID); } catch (Exception ex) { db.RollBackTransaction(); throw ex; } }
private objCaixaAjuste CreateAjuste(decimal ajusteValue) { // get Setor de Entrada objSetor setor = null; Setores.frmSetorProcura frm = new Setores.frmSetorProcura(this); frm.ShowDialog(); //--- check return if (frm.DialogResult == DialogResult.OK) { setor = frm.propEscolha; if (contaSelected.IDCongregacao != setor.IDCongregacao) { var resp = AbrirDialog("A Congregação Padrão do Setor de Recursos escolhido é " + "diferente da congregação padrão da Conta do Caixa...\n" + "Deseja continuar assim mesmo?", "Congregação Divergente", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp == DialogResult.No) { return(null); } } } else { return(null); } objCaixaAjuste ajuste = new objCaixaAjuste(null) { AjusteDescricao = $"Ajuste de Nivelamento de Caixa: {_caixa.IDCaixa:D4}", IDAjusteTipo = 2, IDSetor = (int)setor.IDSetor, Setor = setor.Setor, IDUserAuth = (int)Program.usuarioAtual.IDUsuario, MovData = _caixa.DataFinal, MovValor = ajusteValue, MovValorReal = Math.Abs(ajusteValue), IDConta = _caixa.IDConta, Conta = _caixa.Conta, }; return(ajuste); }
private objCaixaAjuste CreateAjuste() { // get Setor de Entrada objSetor setor = null; Setores.frmSetorProcura frm = new Setores.frmSetorProcura(this); frm.ShowDialog(); //--- check return if (frm.DialogResult == DialogResult.OK) { setor = frm.propEscolha; if (propConta.IDCongregacao != setor.IDCongregacao) { var resp = AbrirDialog("A Congregação Padrão do Setor de Recursos escolhido é " + "diferente da congregação padrão da Nova Conta...\n" + "Deseja continuar assim mesmo?", "Congregação Divergente", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp == DialogResult.No) { return(null); } } } else { return(null); } objCaixaAjuste ajuste = new objCaixaAjuste(null) { AjusteDescricao = "Ajuste de Saldo Inicial Conta", IDConta = (int)propConta.IDConta, Conta = propConta.Conta, IDAjusteTipo = 1, IDSetor = (int)setor.IDSetor, Setor = setor.Setor, IDUserAuth = (int)Program.usuarioAtual.IDUsuario, MovData = dtpDataInicial.Value, MovValor = propConta.ContaSaldo, MovValorReal = propConta.ContaSaldo }; return(ajuste); }
// SALVAR UPDATE SALDO INICIAL //------------------------------------------------------------------------------------------------------------ private void btnSalvar_Click(object sender, EventArgs e) { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //--- check data if (!CheckSaveData()) { return; } // create ajuste objCaixaAjuste ajuste = null; if (propConta.ContaSaldo > 0) { ajuste = CreateAjuste(); if (ajuste == null) { return; } } //--- execute INSERT ContaBLL cBLL = new ContaBLL(); cBLL.InsertSaldoInicialConta(ajuste, dtpDataInicial.Value, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate); //--- emit massage AbrirDialog("Saldo Inicial e Data de Bloqueio inicial inseridos com sucesso!", "Registro Salvo", DialogType.OK, DialogIcon.Information); DialogResult = DialogResult.OK; } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Salvar Registro de Saldo Inicial..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// INSERT SALDO INICIAL DA CONTA //------------------------------------------------------------------------------------------------------------ public void InsertSaldoInicialConta(objCaixaAjuste ajuste, DateTime DataBloqueio, Action <int, decimal> ContaSldUpdate = null, Action <int, decimal> SetorSldUpdate = null) { AcessoDados dbTran = null; try { // create transaction dbTran = new AcessoDados(); dbTran.BeginTransaction(); // check exists movs in conta dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDConta", ajuste.IDConta); string query = "SELECT * FROM tblMovimentacao WHERE IDConta = @IDConta"; DataTable dt = dbTran.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Não é possível alterar o Saldo Inicial porque a Conta Selecionada já possui movimentações de entradas e/ou saídas..."); } // update Data de Bloqueio inicial da Conta UpdateContaBloqueioData(ajuste.IDConta, DataBloqueio, dbTran); // update Valor Inicial da Conta new AjusteBLL().InsertAjuste(ajuste, ContaSldUpdate, SetorSldUpdate, null, dbTran); // Commit transactiom dbTran.CommitTransaction(); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
private void Ajuste_Insert() { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; frmAjusteCaixa frm = new frmAjusteCaixa(_TEntradas + _TSaidas + _TTransf, _caixa.Conta, this); frm.ShowDialog(); if (frm.DialogResult != DialogResult.OK) { return; } //--- create ajuste objCaixaAjuste ajuste = CreateAjuste(frm.propAjusteValue); if (ajuste == null) { return; } //--- insert objMovimentacao newMov = new AjusteBLL().InsertAjuste(ajuste, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate, _caixa.IDCaixa); bindMovs.Add(newMov); CalculaTotais(); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Inserir Ajuste..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// INSERT AJUSTE //------------------------------------------------------------------------------------------------------------ public objMovimentacao InsertAjuste( objCaixaAjuste ajuste, Action <int, decimal> ContaSldUpdate, Action <int, decimal> SetorSldUpdate, long?IDCaixa = null, object dbTran = null) { AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran; try { if (dbTran == null) { db.BeginTransaction(); } // 1. INSERT AJUSTE //------------------------------------------------------ //--- clear Params db.LimparParametros(); //--- define Params db.AdicionarParametros("@AjusteDescricao", ajuste.AjusteDescricao); db.AdicionarParametros("@IDAjusteTipo", ajuste.IDAjusteTipo); db.AdicionarParametros("@IDUserAuth", ajuste.IDUserAuth); //--- convert null parameters db.ConvertNullParams(); //--- create query string query = db.CreateInsertSQL("tblCaixaAjuste"); //--- insert AJUSTE var newID = (int)db.ExecutarInsertAndGetID(query); ajuste.IDAjuste = newID; // 2. INSERT MOVIMENTACAO //------------------------------------------------------ var movimentacao = new objMovimentacao(null) { MovTipo = ajuste.MovValor >= 0 ? (byte)1 : (byte)2, MovTipoDescricao = ajuste.MovValor >= 0 ? "E" : "S", Consolidado = true, IDConta = ajuste.IDConta, IDSetor = ajuste.IDSetor, Setor = ajuste.Setor, MovData = ajuste.MovData, MovValor = ajuste.MovValor, IDOrigem = (long)ajuste.IDAjuste, Origem = EnumMovOrigem.CaixaAjuste, // origem ajuste DescricaoOrigem = ajuste.AjusteDescricao, IDCaixa = IDCaixa, }; //--- insert MOVIMENTACAO var movID = new MovimentacaoBLL().InsertMovimentacao(movimentacao, ContaSldUpdate, SetorSldUpdate, dbTran); movimentacao.IDMovimentacao = movID; // 3. COMMIT AND RETURN //------------------------------------------------------ if (dbTran == null) { db.CommitTransaction(); } return(movimentacao); } catch (Exception ex) { if (dbTran == null) { db.RollBackTransaction(); } throw ex; } }