public bool Alterar(EMovimentacaoConta movimentacaoConta) { SqlCeConnection cnn = new SqlCeConnection(); cnn.ConnectionString = Conexao.Caminho; SqlCeCommand cmd = new SqlCeCommand(); cmd.Connection = cnn; try { using (TransactionScope transacao = new TransactionScope()) { #region alteracao do movimentacaoConta cmd.CommandText = @"UPDATE Movimentacao_Conta SET DataHoraMovimentacao = @DataHoraMovimentacao, IDAssociado = @IDAssociado, ValorTotal = @ValorTotal, WHERE Identificador = @Identificador)"; PreencherParametros(movimentacaoConta, cmd); //Executa o comando setado - UPDATE cnn.Open(); cmd.ExecuteNonQuery(); #endregion alteracao do movimentacaoConta //Apagar todos os itens da movimentacao a partir //do identificador da movimentacao bool retorno = new PItemMovimentacao().Excluir(movimentacaoConta.Identificador, cnn); //Percorre a lista incluindo todos os itens foreach (var item in movimentacaoConta.ListaItensMovimentacao) { item.IDMovimentacao = movimentacaoConta.Identificador; new PItemMovimentacao().Incluir(item, cnn); } //"Commita" a transação transacao.Complete(); } } catch (Exception) { //Caso ocorra algum erro, executar o rollback da transação Transaction.Current.Rollback(); throw new Exception(); } finally { //Fecha a conexão cnn.Close(); } return true; }
public bool Excluir(int identificador) { SqlCeConnection cnn = new SqlCeConnection(); cnn.ConnectionString = Conexao.Caminho; SqlCeCommand cmd = new SqlCeCommand(); cmd.Connection = cnn; try { using (TransactionScope transacao = new TransactionScope()) { //Exclui primeiramente os itens bool retorno = new PItemMovimentacao().Excluir(identificador, cnn); #region exclusao do movimentacaoConta cmd.CommandText = @"DELETE FROM Movimentacao_Conta WHERE Identificador = @Identificador "; cmd.Parameters.Add("@Identificador", identificador); //Executa o comando setado - DELETE cnn.Open(); cmd.ExecuteNonQuery(); #endregion exclusao do movimentacaoConta transacao.Complete(); } } catch (Exception) { Transaction.Current.Rollback(); throw new Exception(); } finally { //Fecha a conexão cnn.Close(); } return true; }