示例#1
0
        // 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));
        }
示例#2
0
        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));
        }