Exemple #1
0
        /// <summary>
        /// Verifica si dos instancias son iguales
        /// </summary>
        /// <param name="objeto1">Primer objeto a verificar</param>
        /// <param name="objeto2">Segundo objeto a verificar</param>
        /// <returns>Tipo de dato boolean que representa True si son iguale o False si son diferentes</returns>
        public static bool Equals(Dominio.Banner objeto1, Dominio.Banner objeto2)
        {
            bool resultado = (objeto1.Codigo == objeto2.Codigo) && (objeto1.Nombre == objeto2.Nombre) &&
                             Equals(objeto1.ListaRangosFecha, objeto2.ListaRangosFecha) &&
                             Equality.Equals(objeto1.InstanciaFuente, objeto2.InstanciaFuente);

            return(resultado);
        }
        /// <summary>
        /// Pesquisa banner com os atributos que estiverem preenchidos
        /// </summary>
        /// <param name="banner">Banner para pesquisa</param>
        /// <returns>List<Banner></returns>
        public IList <Dominio.Banner> PesquisarBanner(Dominio.Banner banner)
        {
            try
            {
                IFactoryDAO fabrica   = FactoryFactoryDAO.GetFabrica();
                IBannerDAO  bannerDAO = fabrica.GetBannerDAO();

                return(bannerDAO.Pesquisar(banner));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
 public Dominio.Banner Cadastrar(Dominio.Banner objeto)
 {
     try
     {
         NHibernate.HttpModule.RecuperarSessao.Transaction.Begin();
         objeto.Codigo = (int)NHibernate.HttpModule.RecuperarSessao.Save(objeto);
         NHibernate.HttpModule.RecuperarSessao.Transaction.Commit();
     }
     catch (Exception e)
     {
         NHibernate.HttpModule.RecuperarSessao.Transaction.Rollback();
     }
     return(objeto);
 }
        public bool Excluir(int codigo)
        {
            Dominio.Banner banner = Pesquisar(codigo);

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

            return(true);
        }
        /// <summary>
        /// Pesquisa banner com o código do local
        /// </summary>
        /// <param name="banner">Banner para pesquisa</param>
        /// <returns>List<Banner></returns>
        public Dominio.Banner PesquisarBannerPorLocal(int codigo)
        {
            try
            {
                IFactoryDAO fabrica   = FactoryFactoryDAO.GetFabrica();
                IBannerDAO  bannerDAO = fabrica.GetBannerDAO();

                Dominio.Banner banner = new Dominio.Banner();
                banner.Local = new Dominio.Local()
                {
                    Codigo = codigo
                };

                IList <Dominio.Banner> banners = bannerDAO.Pesquisar(banner);
                return(banners.First());
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// Exclui o registro de banner.
        /// </summary>
        /// <param name="codigo"></param>
        /// <returns></returns>
        public bool ExcluirBanner(int codigo)
        {
            try
            {
                IFactoryDAO fabrica   = FactoryFactoryDAO.GetFabrica();
                IBannerDAO  bannerDAO = fabrica.GetBannerDAO();

                string path = HttpContext.Current.Server.MapPath("~/AppData/Banner");

                Dominio.Banner banner = bannerDAO.Pesquisar(codigo);
                if (File.Exists(string.Format(@"{0}\{1}", path, banner.Caminho)))
                {
                    File.Delete(string.Format(@"{0}\{1}", path, banner.Caminho));
                }

                return(bannerDAO.Excluir(codigo));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// Salva o banner e o arquivo
        /// </summary>
        /// <param name="banner">Banner</param>
        /// <param name="arquivo">Arquivo de imagem ou multimídia</param>
        public Dominio.Banner SalvarBanner(Dominio.Banner banner, HttpPostedFileBase arquivo, string AntigoBanner)
        {
            try
            {
                if (banner == null)
                {
                    throw new ArgumentNullException("usuario");
                }

                IFactoryDAO fabrica   = FactoryFactoryDAO.GetFabrica();
                IBannerDAO  bannerDAO = fabrica.GetBannerDAO();

                if (arquivo != null)
                {
                    banner.Caminho = new Regex(@"[^0-9]").Replace(DateTime.Now.ToString(), "") + arquivo.FileName;
                    string path = "~/AppData/Banner/" + banner.Caminho;

                    this.SalvarArquivo(path, arquivo);
                }
                else
                {
                    banner.Caminho = AntigoBanner;
                }

                if (banner.Codigo == 0)
                {
                    return(bannerDAO.Cadastrar(banner));
                }

                bannerDAO.Alterar(banner);

                return(banner);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public IList <Dominio.Banner> Pesquisar(Dominio.Banner objeto, int pagina = 0)
        {
            ICriteria criteria = NHibernate.HttpModule.RecuperarSessao.CreateCriteria(typeof(Dominio.Banner));

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

            if (objeto == null)
            {
                return(NHibernate.HttpModule.RecuperarSessao.CreateCriteria <Dominio.Banner>().List <Dominio.Banner>());
            }

            if (objeto.Codigo > 0)
            {
                criteria = criteria.Add(Expression.Eq("Codigo", objeto.Codigo));
            }
            if (objeto.DataInicial > DateTime.MinValue)
            {
                criteria = criteria.Add(Expression.Eq("DataInicial", objeto.DataInicial));
            }
            if (objeto.DataFinal > DateTime.MinValue)
            {
                criteria = criteria.Add(Expression.Eq("DataFinal", objeto.DataFinal));
            }
            if (!string.IsNullOrEmpty(objeto.Titulo))
            {
                criteria = criteria.Add(Expression.Eq("Titulo", objeto.Titulo));
            }
            if (objeto.Local != null)
            {
                criteria = criteria.Add(Expression.Eq("Local.Codigo", objeto.Local.Codigo));
            }

            IList <Dominio.Banner> banners = criteria.List <Dominio.Banner>();

            return(banners);
        }
        /// <summary>
        /// Pesquisa banner com o código do local
        /// </summary>
        /// <param name="banner">Banner para pesquisa</param>
        /// <returns>List<Banner></returns>
        public Dominio.Banner PesquisarBannerPorLocal(int codigo)
        {
            try
            {
                IFactoryDAO fabrica = FactoryFactoryDAO.GetFabrica();
                IBannerDAO bannerDAO = fabrica.GetBannerDAO();

                Dominio.Banner banner = new Dominio.Banner();
                banner.Local = new Dominio.Local() { Codigo = codigo };

                IList<Dominio.Banner> banners = bannerDAO.Pesquisar(banner);
                return banners.First();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
 public IList <Dominio.Banner> Pesquisar(Dominio.Banner objeto, int qtde, int pagina)
 {
     throw new NotImplementedException();
 }
        public void Alterar(Dominio.Banner objeto)
        {
            NHibernate.HttpModule.RecuperarSessao.Update(objeto);

            NHibernate.HttpModule.RecuperarSessao.Flush();
        }
 /// <summary>
 /// Salva o banner e o arquivo
 /// </summary>
 /// <param name="banner">Banner</param>
 /// <param name="arquivo">Arquivo de imagem ou multimídia</param>
 public Dominio.Banner SalvarBanner(Dominio.Banner banner, HttpPostedFileBase arquivo)
 {
     return(SalvarBanner(banner, arquivo, ""));
 }