/// <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); }