public void TestaIndexFiltroSegmento()
        {
            ServicoIndexViewModel viewModel = new ServicoIndexViewModel();
            viewModel.IdSegmento = 1;

            ActionResult actionResult = target.Index(viewModel);
            ViewResult viewResult = (ViewResult) actionResult;
            ServicoIndexViewModel viewModelAtual = (ServicoIndexViewModel) viewResult.Model;

            Assert.AreNotEqual(0, viewModelAtual.Servicos.Count, "Não retornou nenhum serviço!");
            Assert.IsFalse(viewModelAtual.Servicos.Any(s => s.Segmento.Id != 1), "Retorno com segmentos diferente de 1!");
        }
        public ActionResult Index(ServicoIndexViewModel viewModel)
        {
            try
            {
                viewModel.Servicos = Servico.ConsultarServico(viewModel.DescricaoServico, viewModel.IdSegmento,
                                                              viewModel.Empresa, viewModel.TipoServico);

                viewModel.Segmentos = Contexto.Segmentos.ToList();
            }
            catch (Exception)
            {
                viewModel.Mensagem = "Erro de conexão com a base de dados. Operação cancelada.";
            }

            return View(viewModel);
        }
        public ActionResult Index()
        {
            var viewModel = new ServicoIndexViewModel();

            try
            {
                viewModel.Servicos = Contexto.Servicos.ToList();
                viewModel.Segmentos = Contexto.Segmentos.ToList();
            }
            catch (Exception)
            {
                viewModel.Mensagem = "Erro de conexão com a base de dados. Operação cancelada.";
            }

            return View(viewModel);
        }
        public ActionResult Index(ServicoIndexViewModel viewModel)
        {
            // Cria uma consulta dinâmica de acordo com os filtros
            IQueryable<Servico> consulta = Contexto.Servicos.AsQueryable<Servico>();

            if (viewModel.IdSegmento > 0)
                consulta = consulta.Where(s => s.Segmento.Id == viewModel.IdSegmento);

            // Repopula o viewModel e reenvia para a View
            viewModel.Servicos = consulta.ToList();

            return View(viewModel);
        }
        public ActionResult Index()
        {
            var viewModel = new ServicoIndexViewModel
            {
                Servicos = Contexto.Servicos.ToList()
            };

            return View(viewModel);
        }