Exemplo n.º 1
0
        /// <summary>
        /// Retorna um tipo VERDADEIRO caso a instrução seja bem sucedida.
        /// </summary>
        public bool Delete(int id)
        {
            DbConnection connection       = null;
            bool         transactionstart = false;

            try
            {
                using (connection = db.CreateConnection())
                {
                    connection.Open();
                    if (Transaction == null)
                    {
                        Transaction      = connection.BeginTransaction(IsolationLevel.ReadCommitted);
                        transactionstart = true;
                    }

                    dbCommand = db.GetSqlStringCommand(" DELETE FROM " + "public" + ".orcamento" +
                                                       " WHERE" +
                                                       "    id = @id;");
                    db.AddInParameter(dbCommand, "@id", DbType.Int32, id);
                    db.ExecuteNonQuery(dbCommand, Transaction);

                    if (transactionstart)
                    {
                        Transaction.Commit();
                        Transaction = null;
                    }
                    connection.Close();
                    LancamentoProdutoServicoDAO lancamentoProdServDAO = new LancamentoProdutoServicoDAO();
                    lancamentoProdServDAO.DeleteOrcamento(id);

                    return(true);
                }
            }
            catch
            {
                if (transactionstart)
                {
                    if (Transaction.Connection.State == ConnectionState.Open)
                    {
                        Transaction.Rollback();
                    }
                    Transaction = null;
                }
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
                throw;
            }
        }
Exemplo n.º 2
0
        private void PersisteListas(OrcamentoDTO orcamento, int id_orcamento)
        {
            LancamentoProdutoServicoDAO        lancamentoProdServDAO = new LancamentoProdutoServicoDAO();
            List <LancamentoProdutoServicoDTO> items = new List <LancamentoProdutoServicoDTO>();

            items.AddRange(orcamento.Produtoservico);

            if (lancamentoProdServDAO.DeleteOrcamento(id_orcamento))
            {
                foreach (LancamentoProdutoServicoDTO orcamentoitem in items)
                {
                    orcamentoitem.Id_orcamento = id_orcamento;
                    lancamentoProdServDAO.Insert(orcamentoitem);
                }
            }
        }