/// <summary>
        /// Retorna um relatorio de um anúncio pelo nome.
        /// </summary>
        /// <param name="nomeAnuncio"></param>
        /// <returns></returns>
        public string FornecerRelatorio(string nomeAnuncio)
        {
            Anuncio anuncio = repositorioAnuncio.GetAnuncioPorNome(nomeAnuncio);

            if (anuncio != null)
            {
                return(anuncio.FornecerRelatorio());
            }


            return("Não encontrou anuncio.");
        }
        /// <summary>
        /// Retorna os relatorios de todos os anúncios que passarem pela filtragem.
        /// </summary>
        public string[] FornecerRelatorios(Anuncio filtragemTemplate)
        {
            List <Anuncio> encontrados = repositorioAnuncio.GetAnunciosPorFiltros(filtragemTemplate);
            List <string>  relatorios  = new List <string>();

            for (int i = 0; i < encontrados.Count; i++)
            {
                relatorios.Add(encontrados[i].FornecerRelatorio());
            }

            return(relatorios.ToArray());
        }
        /// <summary>
        /// Retorna o relatorio de anuncios baseado em filtros do usuario.
        /// </summary>
        void VerConjuntoDeAnuncios()
        {
            logger.Escrever("Você quer filtar por cliente? S/N");
            string input   = leitor.Ler();
            string cliente = "";

            if (input.ToUpper() == "S")
            {
                cliente = GetNomeDoClienteInput();
            }

            logger.Escrever("Você quer filtrar por data mínima? S/N");
            input = leitor.Ler();
            DateTime dateTimeInicial = DateTime.MinValue;

            if (input.ToUpper() == "S")
            {
                dateTimeInicial = GetDataDeInicio();
                if (dateTimeInicial == DateTime.MaxValue)
                {
                    return;
                }
            }

            logger.Escrever("Você quer filtrar por data máxima? S/N");
            input = leitor.Ler();
            DateTime dateTimeFinal = DateTime.MinValue;

            if (input.ToUpper() == "S")
            {
                dateTimeFinal = GetDataDeFim();
                if (dateTimeFinal == DateTime.MaxValue)
                {
                    return;
                }
            }

            Anuncio template = new Anuncio("", cliente, dateTimeInicial, dateTimeFinal, 0);

            string[] relatorios = C_Anuncio.FornecerRelatorios(template);
            if (relatorios.Length == 0)
            {
                logger.Escrever("Nenhum relatorio encontrado.");
            }
            for (int i = 0; i < relatorios.Length; i++)
            {
                logger.Escrever(relatorios[i]);
            }
        }
        /// <summary>
        /// Retorna True se essa classe possuir valores dentro dos determinados pelo template, que não estejam vazios.
        /// </summary>
        /// <param name="template"></param>
        /// <returns></returns>
        public bool Filtar(Anuncio template)
        {
            bool igual = true;

            if (template.cliente != "")
            {
                igual = cliente == template.cliente;
            }
            if (template.dataInicio != DateTime.MinValue)
            {
                igual = dataInicio >= template.dataInicio;
            }
            if (template.dataTermino != DateTime.MinValue)
            {
                igual = dataTermino <= template.dataTermino;
            }

            return(igual);
        }
        /// <summary>
        /// Cria um anúncio e o coloca no repositorio.
        /// </summary>
        public void CriarAnuncio(string nome, string nomeCliente, DateTime dataTimeInicio, DateTime dataTimeFim, float investimentoDiario)
        {
            Anuncio anuncio = new Anuncio(nome, nomeCliente, dataTimeInicio, dataTimeFim, investimentoDiario);

            repositorioAnuncio.AdicionarAnuncio(anuncio);
        }
 /// <summary>
 /// Retorna todos os anuncios que passarem pela filtragem.
 /// </summary>
 /// <param name="template"></param>
 /// <returns></returns>
 public List <Anuncio> GetAnunciosPorFiltros(Anuncio template)
 {
     return(anunciosAtuais.FindAll(x => x.Filtar(template)));
 }
 public void AdicionarAnuncio(Anuncio anuncio)
 {
     anunciosAtuais.Add(anuncio);
 }