Example #1
0
        /// <summary>
        /// Função que Transmite a Entidade para a DAL fazer DELETE
        /// </summary>
        /// <param name="objEnt"></param>
        /// <returns></returns>
        public bool Delete(MOD_pessoa objEnt)
        {
            using (TransactionScope objTrans = new TransactionScope())
            {
                try
                {
                    if (!BLL_Liberacoes.LiberaEdicaoAdm(Convert.ToInt64(objEnt.CodPessoa), new BLL_usuario().buscarPessoa(objEnt.CodPessoa)))
                    {
                        throw new Exception(modulos.acessoNegado);
                    }

                    #region Inicialização das variaveis

                    blnRetorno    = true;
                    blnRetornoLog = true;

                    #endregion

                    #region Movimentação da tabela Pessoa e Logs

                    objDAL     = new DAL_pessoa();
                    objDAL_Log = new DAL_log();

                    //Chama a função que converte as datas
                    objEnt.Logs = new BLL_pessoa_Log().CriarLog(objEnt, "Delete");
                    objEnt.Logs = new BLL_pessoa_Log().ValidaLog(objEnt.Logs);

                    blnRetorno    = objDAL.Delete(objEnt);
                    blnRetornoLog = objDAL_Log.inserir(objEnt.Logs);

                    #endregion

                    //Se der falso qualquer retorno a Transação deve ser Anulada
                    if (false.Equals(blnRetorno) || false.Equals(blnRetornoLog))
                    {
                        //finaliza a transação
                        objTrans.Dispose();
                        throw new Exception(modulos.MsgErroExcluir);
                    }
                    else
                    {
                        //completa a transação
                        objTrans.Complete();
                        return(true);
                    }
                }
                catch (SqlException exl)
                {
                    //finaliza a transação
                    objTrans.Dispose();
                    throw exl;
                }
                catch (Exception ex)
                {
                    //finaliza a transação
                    objTrans.Dispose();
                    throw ex;
                }
            }
        }