public ActionResult AlterarSituacao(int id, int novaSituacao, string motivo)
        {
            if (_bus.AlterarSituacao(id, novaSituacao, motivo))
            {
                if (novaSituacao == 1)
                {
                    var param = Validacao.QueryParamSerializer();
                    param.Add("id", id);
                    return(RedirectToAction("Editar", param));
                }

                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            AlterarSituacaoVM viewModel = new AlterarSituacaoVM(_bus.Situacoes.Where(x => x.Id != 3 && x.Id != 5 && x.Id != 6).ToList());

            viewModel.NovaSituacaoId = novaSituacao;
            viewModel.Id             = id;

            Funcionario funcionario = _bus.Obter(id);

            if (funcionario != null)
            {
                viewModel.Nome       = funcionario.Nome;
                viewModel.Cpf        = funcionario.Cpf;
                viewModel.SituacaoId = funcionario.Situacao;
                viewModel.Situacao   = _bus.Situacoes.Single(x => x.Id == funcionario.Situacao).Nome;
                viewModel.Motivo     = funcionario.SituacaoMotivo;

                if (viewModel.SituacaoId == 3)
                {
                    viewModel.Situacoes.RemoveAll(x => x.Value != "0");
                }

                viewModel.Situacoes.RemoveAll(x => x.Value == funcionario.Situacao.ToString());
            }

            return(View(viewModel));
        }