/// <summary>
        /// Salva a categoria
        /// </summary>
        /// <param name="categoria">Objeto para salvar</param>
        public Dominio.CategoriaEmpresa SalvarCategoriaEmpresa(Dominio.CategoriaEmpresa categoriaEmpresa)
        {
            try
            {
                if (categoriaEmpresa == null)
                {
                    throw new ArgumentNullException("categoriaEmpresa");
                }

                IFactoryDAO          fabrica             = FactoryFactoryDAO.GetFabrica();
                ICategoriaEmpresaDAO categoriaEmpresaDAO = fabrica.GetCategoriaEmpresaDAO();

                if (categoriaEmpresa.CodCategoria <= 0)
                {
                    return(categoriaEmpresaDAO.Cadastrar(categoriaEmpresa));
                }

                categoriaEmpresaDAO.Alterar(categoriaEmpresa);
                return(categoriaEmpresa);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// Pesquisa categorias pelos atributos da categoria
        /// </summary>
        /// <param name="categoria">Objeto para filtro</param>
        public IList <Dominio.CategoriaEmpresa> PesquisarCategoriaEmpresa(Dominio.CategoriaEmpresa categoriaEmpresa)
        {
            try
            {
                IFactoryDAO          fabrica             = FactoryFactoryDAO.GetFabrica();
                ICategoriaEmpresaDAO categoriaEmpresaDAO = fabrica.GetCategoriaEmpresaDAO();

                return(categoriaEmpresaDAO.Pesquisar(categoriaEmpresa));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public Dominio.CategoriaEmpresa Cadastrar(Dominio.CategoriaEmpresa objeto)
        {
            try
            {
                MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();
                NHibernate.HttpModule.RecuperarSessao.Transaction.Begin();

                objeto.CodCategoria = (int)NHibernate.HttpModule.RecuperarSessao.Save(objeto);

                NHibernate.HttpModule.RecuperarSessao.Transaction.Commit();

                return(objeto);
            }
            catch
            {
                throw;
            }
        }
        public void Alterar(Dominio.CategoriaEmpresa objeto)
        {
            try
            {
                MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();

                NHibernate.HttpModule.RecuperarSessao.Transaction.Begin();

                NHibernate.HttpModule.RecuperarSessao.Update(objeto);

                NHibernate.HttpModule.RecuperarSessao.Transaction.Commit();

                NHibernate.HttpModule.RecuperarSessao.Flush();
            }
            catch
            {
                NHibernate.HttpModule.RecuperarSessao.Transaction.Rollback();
                throw;
            }
        }