예제 #1
0
        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));
        }
예제 #2
0
        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());
        }