// GET: PesquisarVans public ActionResult Index() { var viewModel = new IndexPesquisarVanViewModel(); viewModel.TipoServico = new SelectList(db.TipoServicos.Where(ts => ts.Ativo).ToList(), "Id", "Nome"); viewModel.Estado = new SelectList(db.Estados.ToList(), "Id", "Nome"); return(View(viewModel)); }
public ActionResult Index(IndexPesquisarVanViewModel viewModel) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var resultadoBusca = db.Vans .Include(v => v.TipoCarga) .Include(v => v.TipoLocomocao) .Include(v => v.TipoServico) .Include(v => v.TipoVan) .Include(v => v.Proprietario) .Where(v => v.Proprietario.Id != userId && v.TipoServico.Id == viewModel.TipoServicoId && v.CidadesAtendidas.FirstOrDefault().Estado.Id == viewModel.EstadoId && ((viewModel.CidadeId.HasValue && viewModel.CidadeId.Value != 0 && v.CidadesAtendidas.FirstOrDefault() != null && v.CidadesAtendidas.FirstOrDefault().Id == viewModel.CidadeId.Value) || (viewModel.CidadeId.HasValue && viewModel.CidadeId.Value == 0) || (!viewModel.CidadeId.HasValue)) && ((viewModel.TipoCargaId.HasValue && viewModel.TipoCargaId.Value != 0 && v.TipoCarga != null && v.TipoCarga.Id == viewModel.TipoCargaId.Value) || (viewModel.TipoCargaId.HasValue && viewModel.TipoCargaId.Value == 0) || (!viewModel.TipoCargaId.HasValue)) && ((viewModel.TipoLocomocaoId.HasValue && viewModel.TipoLocomocaoId.Value != 0 && v.TipoLocomocao != null && v.TipoLocomocao.Id == viewModel.TipoLocomocaoId.Value) || (viewModel.TipoLocomocaoId.HasValue && viewModel.TipoLocomocaoId.Value == 0) || (!viewModel.TipoLocomocaoId.HasValue)) && ((viewModel.TipoVanId.HasValue && viewModel.TipoVanId.Value != 0 && v.TipoVan != null && v.TipoVan.Id == viewModel.TipoVanId.Value) || (viewModel.TipoVanId.HasValue && viewModel.TipoVanId.Value == 0) || (!viewModel.TipoVanId.HasValue))) .Select(v => new ResultadoPesquisarVansViewModel { Ano = v.Ano, Id = v.ID, Marca = v.Modelo.Marca.Nome, Modelo = v.Modelo.Nome, TipoServico = v.TipoServico.Nome, Proprietario = v.Proprietario.UserProfileInfo.Nome, Telefone = v.Proprietario.UserProfileInfo.Telefone, CidadeEstado = v.CidadesAtendidas.FirstOrDefault().Nome + "/" + v.CidadesAtendidas.FirstOrDefault().Estado.Sigla }).ToList(); TempData["ResultadoPesquisa"] = resultadoBusca; return(RedirectToAction("ResultadoPesquisa")); } return(View(viewModel)); }