public IActionResult Index(PesquisaLeiloesViewModel pesquisa) { var usuarioLogado = this.HttpContext.Session.Get <Usuario>("usuarioLogado"); var interessada = _repoInteressada .BuscarPorId(usuarioLogado.Interessada.Id); var model = new DashboardInteressadaViewModel { MinhasOfertas = interessada.Lances, LeiloesFavoritos = interessada.Favoritos.Select(f => f.LeilaoFavorito), LeiloesPesquisados = PesquisaLeiloes(pesquisa) }; return(View(model)); }
private IEnumerable <Leilao> PesquisaLeiloes(PesquisaLeiloesViewModel pesquisa) { if (pesquisa.Andamento == null && pesquisa.Categorias == null && pesquisa.Termo == null) { return(null); } var leiloes = _repoLeilao.Todos; if (!string.IsNullOrEmpty(pesquisa.Andamento)) { leiloes = leiloes.Where(l => l.Estado == EstadoLeilao.LeilaoEmAndamento); } if (!string.IsNullOrWhiteSpace(pesquisa.Termo)) { leiloes = leiloes.Where(l => l.Titulo.Contains(pesquisa.Termo, StringComparison.InvariantCultureIgnoreCase)); } if (pesquisa.Categorias != null && pesquisa.Categorias.Length > 0) { leiloes = leiloes.Where(l => pesquisa.Categorias.Contains(l.Categoria)); } return(leiloes.ToList()); }