Пример #1
0
        public IList <Dominio.Aventura> Pesquisar(Dominio.Aventura objeto, int qtde, int pagina)
        {
            ICriteria criteria = NHibernate.HttpModule.RecuperarSessao.CreateCriteria(typeof(Dominio.Aventura));

            criteria.AddOrder(Order.Desc("Data"));

            //criteria.Add(Expression.Between("Data", DateTime.MinValue, DateTime.Now));

            if (pagina > 0)
            {
                criteria.SetFirstResult((pagina - 1) * qtde);
                criteria.SetMaxResults(qtde);
            }

            if (objeto == null)
            {
                return(criteria.List <Dominio.Aventura>());
            }

            if (objeto.Codigo > 0)
            {
                criteria = criteria.Add(Expression.Eq("Codigo", objeto.Codigo));
            }
            if (objeto.AventuraAnterior != null)
            {
                criteria = criteria.Add(Expression.Eq("CodAventuraAnterior", objeto.AventuraAnterior.Codigo));
            }
            if (objeto.Autor != null)
            {
                criteria = criteria.Add(Expression.Eq("CodAutor", objeto.Autor.Codigo));
            }
            if (objeto.UsuarioCadastro != null)
            {
                criteria = criteria.Add(Expression.Eq("CodUsuario", objeto.UsuarioCadastro.Codigo));
            }
            if (objeto.Data > DateTime.MinValue)
            {
                criteria = criteria.Add(Expression.Eq("Data", objeto.Data));
            }
            if (!string.IsNullOrEmpty(objeto.Titulo))
            {
                criteria = criteria.Add(Expression.Eq("Titulo", objeto.Titulo));
            }

            IList <Dominio.Aventura> aventuras = criteria.List <Dominio.Aventura>();

            return(aventuras);
        }
Пример #2
0
        /// <summary>
        /// Salva a aventura e o arquivo vinculado
        /// </summary>
        /// <param name="aventura">Objeto para salvar</param>
        /// <param name="arquivoRota">Arquivo de rota para salvar</param>
        public Dominio.Aventura SalvarAventura(Dominio.Aventura aventura, HttpPostedFileBase arquivoRota)
        {
            try
            {
                if (aventura == null)
                {
                    throw new ArgumentNullException("aventura");
                }

                IFactoryDAO  fabrica     = FactoryFactoryDAO.GetFabrica();
                IAventuraDAO aventuraDAO = fabrica.GetAventuraDAO();

                if (aventura.UsuarioCadastro == null)
                {
                    aventura.UsuarioCadastro = Utilitario.Sessao.UsuarioLogado;
                }

                if (arquivoRota != null)
                {
                    string caminho     = "~/AppData/Rota/";
                    string nomeArquivo = new Regex(@"[^0-9]").Replace(DateTime.Now.ToString(), "") + Path.GetFileName(arquivoRota.FileName);

                    if (aventura.Rota == null)
                    {
                        aventura.Rota = new Rota()
                        {
                            Caminho = string.Format("Rota/{0}", nomeArquivo)
                        }
                    }
                    ;

                    this.SalvarArquivo(caminho, nomeArquivo, arquivoRota);
                }

                if (aventura.Codigo <= 0)
                {
                    return(aventuraDAO.Cadastrar(aventura));
                }

                aventuraDAO.Alterar(aventura);
                return(aventura);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #3
0
        /// <summary>
        /// Pesquisa aventuras utilizando os atributos da aventura
        /// </summary>
        /// <param name="aventura">Objeto para filtro</param>
        /// <param name="qtde">Quantidade de registros para retornar ("0" para todos)</param>
        public IList <Dominio.Aventura> PesquisarAventura(Dominio.Aventura aventura, int qtde, int pagina)
        {
            try
            {
                IFactoryDAO  fabrica     = FactoryFactoryDAO.GetFabrica();
                IAventuraDAO aventuraDAO = fabrica.GetAventuraDAO();

                if (qtde > 0)
                {
                    return(aventuraDAO.Pesquisar(aventura, qtde, pagina));
                }

                return(aventuraDAO.Pesquisar(aventura));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #4
0
        public bool Excluir(int codigo)
        {
            Dominio.Aventura aventura = Pesquisar(codigo);

            using (ISession session = NHibernate.HttpModule.RecuperarSessao)
                using (ITransaction transaction = session.BeginTransaction())
                {
                    try
                    {
                        NHibernate.HttpModule.RecuperarSessao.Delete(aventura);
                        transaction.Commit();
                    }
                    catch (HibernateException e)
                    {
                        transaction.Rollback();
                        throw new ApplicationException("Existem outros registros vinculados, aventura não pode ser excluída", e.InnerException);
                    }
                }

            return(true);
        }
Пример #5
0
        public void Alterar(Dominio.Aventura objeto)
        {
            try
            {
                MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();
                NHibernate.HttpModule.RecuperarSessao.Update(objeto);

                NHibernate.HttpModule.RecuperarSessao.Flush();

                conteudoDAO.VincularFotos(objeto);

                if (objeto.ListaPalavrasChave != null)
                {
                    conteudoDAO.VincularPalavraChave(objeto);
                }
            }
            catch
            {
                throw;
            }
        }
Пример #6
0
        public Dominio.Aventura Cadastrar(Dominio.Aventura objeto)
        {
            try
            {
                MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL();
                NHibernate.HttpModule.RecuperarSessao.Transaction.Begin();

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

                NHibernate.HttpModule.RecuperarSessao.Transaction.Commit();
                conteudoDAO.VincularFotos(objeto);
                if (objeto.ListaPalavrasChave != null)
                {
                    conteudoDAO.VincularPalavraChave(objeto);
                }

                return(objeto);
            }
            catch
            {
                throw;
            }
        }