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); }
/// <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; } }
/// <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; } }
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); }
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; } }
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; } }