/// <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;
            }
        }
        /// <summary>
        /// Pesquisa notícia por código
        /// </summary>
        /// <param name="codigo">Código para filtro</param>
        public Dominio.Noticia PesquisarNoticia(int codigo)
        {
            try
            {
                IFactoryDAO fabrica    = FactoryFactoryDAO.GetFabrica();
                INoticiaDAO noticiaDAO = fabrica.GetNoticiaDAO();

                return(noticiaDAO.Pesquisar(codigo));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <summary>
        /// Exclui a notícia pelo código
        /// </summary>
        /// <param name="codigo">Código para exclusão</param>
        public bool ExcluirNoticia(int codigo)
        {
            try
            {
                IFactoryDAO fabrica    = FactoryFactoryDAO.GetFabrica();
                INoticiaDAO noticiaDAO = fabrica.GetNoticiaDAO();

                return(noticiaDAO.Excluir(codigo));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        /// <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;
            }
        }