/// <summary> /// Salva a notícia /// </summary> /// <param name="noticia">Objeto para salvar</param> public Dominio.Noticia SalvarNoticia(Dominio.Noticia noticia) { try { if (noticia == null) { throw new ArgumentNullException("noticia"); } if (noticia.UsuarioCadastro == null) { noticia.UsuarioCadastro = Utilitario.Sessao.UsuarioLogado; } IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); INoticiaDAO noticiaDAO = fabrica.GetNoticiaDAO(); /*if (noticia.Destaque) * { * string asdf = noticia.FotoCapa.Caminho; * * IFotoDAO fotoDAO = fabrica.GetFotoDAO(); * noticia.FotoCapa = fotoDAO.Pesquisar(noticia.FotoCapa.Codigo); * * HttpContext.Current.Session.Clear(); * * string caminhoOriginal = HttpContext.Current.Server.MapPath("~/AppData/Foto/full/" + noticia.FotoCapa.Caminho); * * FileInfo info = new FileInfo(caminhoOriginal); * * if (info.Exists) * { * MultimidiaFacade multFacade = new MultimidiaFacade(); * * string caminho = string.Format(@"{0}\{1}\", HttpContext.Current.Server.MapPath("~/AppData/Foto"), "320x240"); * * if (!Directory.Exists(caminho)) * Directory.CreateDirectory(caminho); * * StreamReader stream = new StreamReader(caminhoOriginal); * * multFacade.SalvarImagem(multFacade.RedimensionarImagem(stream.BaseStream, 320, 240), caminho + noticia.FotoCapa.Caminho); * } * * }*/ if (noticia.Codigo <= 0) { return(noticiaDAO.Cadastrar(noticia)); } noticiaDAO.Alterar(noticia); return(noticia); } catch (Exception e) { throw e; } }
public IList <Dominio.Noticia> Pesquisar(Dominio.Noticia objeto, int qtde, int pagina) { ICriteria criteria = NHibernate.HttpModule.RecuperarSessao.CreateCriteria(typeof(Dominio.Noticia)); 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.Noticia>()); } if (objeto.Codigo > 0) { criteria = criteria.Add(Expression.Eq("Codigo", objeto.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)); } if (objeto.AnteTitulo == "UsarDestaque") { criteria = criteria.Add(Expression.Eq("Destaque", objeto.Destaque)); } IList <Dominio.Noticia> noticias = criteria.List <Dominio.Noticia>(); return(noticias); }
/// <summary> /// Pesquisa notícias pelos atributos da notícia passada /// </summary> /// <param name="noticia">Objeto para filtro</param> /// <param name="qtde">Quantidade de registros a retornar ("0" para todos)</param> public IList <Dominio.Noticia> PesquisarNoticia(Dominio.Noticia noticia, int pagina, int qtde = 0) { try { IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); INoticiaDAO noticiaDAO = fabrica.GetNoticiaDAO(); if (qtde > 0) { return(noticiaDAO.Pesquisar(noticia, qtde, pagina)); } return(noticiaDAO.Pesquisar(noticia)); } catch (Exception e) { throw e; } }
public void Alterar(Dominio.Noticia 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.Noticia Cadastrar(Dominio.Noticia 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; } }
public bool Excluir(int codigo) { Dominio.Noticia noticia = this.Pesquisar(codigo); using (ISession session = NHibernate.HttpModule.RecuperarSessao) using (ITransaction transaction = session.BeginTransaction()) { try { MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL(); conteudoDAO.DesvincularFotos(noticia); NHibernate.HttpModule.RecuperarSessao.Delete(noticia); transaction.Commit(); } catch (HibernateException e) { transaction.Rollback(); throw new ApplicationException("Existem outros registros vinculados, notícia não pode ser excluída", e.InnerException); } } return(true); }