// ESTORNAR A PAGAR AND DELETE SAIDA //------------------------------------------------------------------------------------------------------------ public bool EstornarAPagar( objAPagar apagar, objMovimentacao saida, Action <int, decimal> ContaSldLocalUpdate, Action <int, decimal> SetorSldLocalUpdate) { AcessoDados dbTran = null; try { dbTran = new AcessoDados(); dbTran.BeginTransaction(); // Verifica CONTA BLOQUEIO ContaBLL cBLL = new ContaBLL(); if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran)) { throw new AppException("A Data da Conta está BLOQUEADA nesta Data proposta...", 2); } // CHECK SOURCE DESPESA IS DESPESA COMUM AND CHANGE SITUACAO if (apagar.DespesaOrigem == 1) { var dBLL = new DespesaComumBLL(); dBLL.ChangeSituacaoDespesa(apagar.IDDespesa, 1, dbTran); } // DELETE REMOVE SAIDA new MovimentacaoBLL().DeleteMovimentacao((long)saida.IDMovimentacao, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran); // Change APAGAR decimal DoValor = saida.MovValor - (saida.AcrescimoValor ?? 0); apagar.ValorAcrescimo -= saida.AcrescimoValor ?? 0; apagar.ValorPago += DoValor; apagar.PagamentoData = null; apagar.IDSituacao = 1; apagar.Situacao = "Em Aberto"; // Update APAGAR UpdateAPagar(apagar, dbTran); dbTran.CommitTransaction(); return(true); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
// PAGAR LIST OF COMISSAO AND CHANGE SITUATION //------------------------------------------------------------------------------------------------------------ public long ComissoesPagamento( List <objComissao> list, objDespesaComum despesa, objAPagar pagar, objMovimentacao saida, Action <int, decimal> ContaSldLocalUpdate, Action <int, decimal> SetorSldLocalUpdate) { AcessoDados dbTran = null; try { dbTran = new AcessoDados(); dbTran.BeginTransaction(); // insert new Despesa Realizada | Gasto var despBLL = new DespesaComumBLL(); long newID = despBLL.InsertDespesaRealizada(despesa, pagar, saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran); // update all comissoes to PAGO string query = "UPDATE tblComissoes SET " + "IDSituacao = 3, " + "IDDespesa = @IDDespesa " + "WHERE IDComissao = @IDComissao"; foreach (var comissao in list) { dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDDespesa", newID); dbTran.AdicionarParametros("@IDComissao", comissao.IDComissao); dbTran.ExecutarManipulacao(CommandType.Text, query); } dbTran.CommitTransaction(); return(newID); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
// GET LIST DESPESA RELACIONADA WITH PROVISORIA //------------------------------------------------------------------------------------------------------------ public List <objDespesa> GetDespesasRealizado(int IDProvisorio, object dbTran = null) { try { AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran; string query = "SELECT * FROM qryDespesaComum "; // add params db.LimparParametros(); db.AdicionarParametros("@IDProvisorio", IDProvisorio); query += "WHERE IDDespesa IN (SELECT IDDespesa FROM tblDespesaProvisoriaRealizado WHERE IDProvisorio = @IDProvisorio)"; query += " ORDER BY IDDespesa"; List <objDespesa> listagem = new List <objDespesa>(); DataTable dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count == 0) { return(listagem); } DespesaComumBLL dBLL = new DespesaComumBLL(); foreach (DataRow row in dt.Rows) { listagem.Add(dBLL.ConvertRowInClass(row)); } return(listagem); } catch (Exception ex) { throw ex; } }
// DELETE //------------------------------------------------------------------------------------------------------------ public bool DeleteDespesaPeriodica(objDespesaPeriodica periodica) { AcessoDados dbTran = null; //--- get despesa from periodica objDespesaComum despesa = new objDespesaComum(periodica.IDDespesa) { DespesaDescricao = periodica.DespesaDescricao, DespesaOrigem = periodica.DespesaOrigem, DespesaValor = periodica.DespesaValor, DespesaData = periodica.DespesaData, IDCredor = periodica.IDCredor, IDSetor = periodica.IDSetor, IDDespesaTipo = periodica.IDDespesaTipo, }; try { dbTran = new AcessoDados(); dbTran.BeginTransaction(); // 1 - CHECK APagar and Movimentacao Saida //------------------------------------------------------------------------------------------------------------ List <objAPagar> listAPagar = new List <objAPagar>(); List <objMovimentacao> listMovSaidas = new List <objMovimentacao>(); DespesaComumBLL dBLL = new DespesaComumBLL(); if (!dBLL.VerifyBeforeDelete(despesa, ref listAPagar, ref listMovSaidas, dbTran)) { return(false); } // 2 - delete ALL APAGAR //------------------------------------------------------------------------------------------------------------ if (listAPagar.Count > 0) { APagarBLL pBLL = new APagarBLL(); foreach (objAPagar pagar in listAPagar) { pBLL.DeleteAPagar(pagar, dbTran); } } // 3 - delete DESPESA COMUM //------------------------------------------------------------------------------------------------------------ //--- define Params dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDDespesa", despesa.IDDespesa); dbTran.ConvertNullParams(); //--- create query string query = "DELETE tblDespesaPeriodica WHERE IDDespesa = @IDDespesa"; //--- DELETE dbTran.ExecutarManipulacao(CommandType.Text, query); // 4 - delete DESPESA DATA PERIODO //------------------------------------------------------------------------------------------------------------ //--- define Params dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDDespesa", despesa.IDDespesa); dbTran.ConvertNullParams(); //--- create query query = "DELETE tblDespesaDataPeriodo WHERE IDDespesa = @IDDespesa"; //--- DELETE dbTran.ExecutarManipulacao(CommandType.Text, query); // 5 - delete DESPESA //------------------------------------------------------------------------------------------------------------ //--- define Params dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDDespesa", despesa.IDDespesa); dbTran.ConvertNullParams(); //--- create query query = "DELETE tblDespesa WHERE IDDespesa = @IDDespesa"; //--- DELETE dbTran.ExecutarManipulacao(CommandType.Text, query); // 7 - COMMIT AND RETURN //------------------------------------------------------------------------------------------------------------ dbTran.CommitTransaction(); return(true); } catch (AppException ex) { dbTran.RollBackTransaction(); throw ex; } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }