/// <summary> /// Pesquisa artigo pelos atributos do artigo usado para trazer apenas artigos /// para visualizacao no container de Saude e Treinamento. /// </summary> /// <param name="artigo">Filtro para pesquisa</param> /// <param name="qtde">Quantidade de registros de retorno ("0" para todos)</param> public IList <Dominio.Artigo> PesquisarArtigoSaude(Dominio.Artigo artigo, short qtde = 3) { try { if (artigo == null) { artigo = new Artigo(); } artigo.ObjCategoria = new Categoria() { Codigo = 3 }; IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); IArtigoDAO artigoDAO = fabrica.GetArtigoDAO(); if (qtde > 0) { return(artigoDAO.Pesquisar(artigo, qtde)); } return(artigoDAO.Pesquisar(artigo)); } catch (Exception e) { throw e; } }
/// <summary> /// Salva o artigo /// </summary> /// <param name="artigo">Objeto para salvar</param> public Dominio.Artigo SalvarArtigo(Dominio.Artigo artigo) { try { if (artigo == null) { throw new NotImplementedException("artigo"); } IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); IArtigoDAO artigoDAO = fabrica.GetArtigoDAO(); if (artigo.UsuarioCadastro == null) { artigo.UsuarioCadastro = Utilitario.Sessao.UsuarioLogado; } if (artigo.Codigo <= 0) { return(artigoDAO.Cadastrar(artigo)); } artigoDAO.Alterar(artigo); return(artigo); } catch (Exception e) { throw e; } }
/// <summary> /// Pesquisa de Artigos /// </summary> /// <param name="artigo"></param> /// <param name="qtde">LIMIT RESULT SET</param> /// <returns></returns> public IList <Dominio.Artigo> Pesquisar(Dominio.Artigo artigo, short qtde) { ICriteria criteria = NHibernate.HttpModule.RecuperarSessao.CreateCriteria(typeof(Dominio.Artigo)); criteria.SetMaxResults(qtde); criteria.AddOrder(Order.Desc("Data")); //criteria.Add(Expression.Between("Data", DateTime.MinValue, DateTime.Now)); if (artigo == null) { return(criteria.List <Dominio.Artigo>()); } if (artigo.Codigo > 0) { criteria = criteria.Add(Expression.Eq("Codigo", artigo.Codigo)); } if (artigo.ObjCategoria != null) { criteria = criteria.Add(Expression.Eq("ObjCategoria.Codigo", artigo.ObjCategoria.Codigo)); } if (artigo.Data > DateTime.MinValue) { criteria = criteria.Add(Expression.Eq("Data", artigo.Data)); } if (!string.IsNullOrEmpty(artigo.Titulo)) { criteria = criteria.Add(Expression.Eq("Titulo", artigo.Titulo)); } IList <Dominio.Artigo> artigos = criteria.List <Dominio.Artigo>(); return(artigos); }
public Dominio.Artigo Cadastrar(Dominio.Artigo objeto) { MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL(); try { 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 (Exception e) { NHibernate.HttpModule.RecuperarSessao.Transaction.Rollback(); return(null); } }
public void Alterar(Dominio.Artigo objeto) { try { MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL(); NHibernate.HttpModule.RecuperarSessao.Transaction.Begin(); NHibernate.HttpModule.RecuperarSessao.Update(objeto); NHibernate.HttpModule.RecuperarSessao.Transaction.Commit(); conteudoDAO.VincularFotos(objeto); if (objeto.ListaPalavrasChave != null) { conteudoDAO.VincularPalavraChave(objeto); } } catch { NHibernate.HttpModule.RecuperarSessao.Transaction.Rollback(); throw; } }
/// <summary> /// Pesquisa artigo pelos atributos do artigo usado para trazer apenas artigos /// para visualizacao no container de artigos. /// </summary> /// <param name="artigo">Filtro para pesquisa</param> /// <param name="qtde">Quantidade de registros de retorno ("0" para todos)</param> public IList <Dominio.Artigo> PesquisarArtigoArtigoTecnico(Dominio.Artigo artigo, short qtde = 4) { try { IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); IArtigoDAO artigoDAO = fabrica.GetArtigoDAO(); IList <Artigo> lista = artigoDAO.Pesquisar(artigo); // Remove os Itens de Historia do montanhismo. ((List <Artigo>)lista).RemoveAll(p => p.ObjCategoria.Codigo == 2); return((IList <Artigo>)((List <Artigo>)lista).GetRange(0, qtde)); } catch (Exception e) { throw e; } }
/// <summary> /// Pesquisa artigo pelos atributos do artigo /// </summary> /// <param name="artigo">Filtro para pesquisa</param> /// <param name="qtde">Quantidade de registros de retorno ("0" para todos)</param> public IList <Dominio.Artigo> PesquisarArtigo(Dominio.Artigo artigo, int qtde, int pagina, int[] CodigosCategorias) { try { IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); IArtigoDAO artigoDAO = fabrica.GetArtigoDAO(); if (qtde > 0) { return(artigoDAO.Pesquisar(artigo, qtde, pagina, CodigosCategorias)); } return(artigoDAO.Pesquisar(artigo)); } catch (Exception e) { throw e; } }
/// <summary> /// Pesquisa artigo pelos atributos do artigo /// </summary> /// <param name="artigo">Filtro para pesquisa</param> /// <param name="qtde">Quantidade de registros de retorno ("0" para todos)</param> public IList <Dominio.Artigo> PesquisarArtigo(Dominio.Artigo artigo, int qtde = 0) { try { IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica(); IArtigoDAO artigoDAO = fabrica.GetArtigoDAO(); if (qtde > 0) { return(artigoDAO.Pesquisar(artigo, qtde)); } return(artigoDAO.Pesquisar(artigo)); } catch (Exception e) { throw e; } }
public bool Excluir(int codigo) { Dominio.Artigo artigo = Pesquisar(codigo); using (ISession session = NHibernate.HttpModule.RecuperarSessao) using (ITransaction transaction = session.BeginTransaction()) { try { MySQL.ConteudoMySQL conteudoDAO = new MySQL.ConteudoMySQL(); conteudoDAO.DesvincularFotos(artigo); NHibernate.HttpModule.RecuperarSessao.Delete(artigo); transaction.Commit(); } catch (HibernateException e) { transaction.Rollback(); throw new ApplicationException("Existem outros registros vinculados, artigo não pode ser excluído", e.InnerException); } } return(true); }