public ActionResult Index()
        {
            ConfiguracaoNumeracaoListarVM vm = new ConfiguracaoNumeracaoListarVM(
                _listaBus.DocumentosFitossanitario.Where(x =>
                                                         Convert.ToInt32(x.Id) == (int)eDocumentoFitossanitarioTipo.CFO ||
                                                         Convert.ToInt32(x.Id) == (int)eDocumentoFitossanitarioTipo.CFOC ||
                                                         Convert.ToInt32(x.Id) == (int)eDocumentoFitossanitarioTipo.PTV).ToList(),
                _listaBus.DocumentosFitossanitarioTipoNumero.Where(x =>
                                                                   Convert.ToInt32(x.Id) == (int)eDocumentoFitossanitarioTipoNumero.Bloco ||
                                                                   Convert.ToInt32(x.Id) == (int)eDocumentoFitossanitarioTipoNumero.Digital).ToList()
                );

            return(View(vm));
        }
        public ActionResult Filtrar(ConfiguracaoNumeracaoListarVM vm, Paginacao paginacao)
        {
            if (vm.Filtros.EhIntervalo == true)
            {
                #region VALIDAÇÃO

                _validar.ValidarBusca(vm.Filtros.TipoDocumentoID, vm.Filtros.TipoNumeracaoID, vm.Filtros.Ano);

                if (!Validacao.EhValido)
                {
                    return(Json(new
                    {
                        @EhValido = Validacao.EhValido,
                        @Msg = Validacao.Erros,
                    }, JsonRequestBehavior.AllowGet));
                }

                #endregion

                if (!String.IsNullOrEmpty(vm.UltimaBusca))
                {
                    vm.Filtros = ViewModelHelper.JsSerializer.Deserialize <ConfiguracaoNumeracaoListarVM>(vm.UltimaBusca).Filtros;
                }

                vm.Paginacao   = paginacao;
                vm.UltimaBusca = HttpUtility.HtmlEncode(ViewModelHelper.JsSerializer.Serialize(vm.Filtros));
                vm.Paginacao.QuantPaginacao = Convert.ToInt32(ViewModelHelper.CookieQuantidadePorPagina);
                vm.SetListItens(_listaBus.QuantPaginacao, vm.Paginacao.QuantPaginacao);

                Resultados <DocumentoFitossanitario> resultados = _bus.Filtrar(vm.Filtros, vm.Paginacao);
                if (resultados == null)
                {
                    return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
                }

                vm.Paginacao.QuantidadeRegistros = resultados.Quantidade;
                vm.Paginacao.EfetuarPaginacao();
                vm.Resultados = resultados.Itens;

                return(Json(new { @Msg = Validacao.Erros, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "ListarResultados", vm) }, JsonRequestBehavior.AllowGet));
            }
            else if (vm.Filtros.EhConsolidado == true)
            {
                #region VALIDAÇÃO

                _validar.ValidarBuscaConsolidado(vm.Filtros.AnoConsolidado);

                if (!Validacao.EhValido)
                {
                    return(Json(new
                    {
                        @EhValido = Validacao.EhValido,
                        @Msg = Validacao.Erros,
                    }, JsonRequestBehavior.AllowGet));
                }

                #endregion

                //if (!String.IsNullOrEmpty(vm.UltimaBusca))
                //{
                //    vm.Filtros = ViewModelHelper.JsSerializer.Deserialize<ConfiguracaoNumeracaoListarVM>(vm.UltimaBusca).Filtros;
                //}

                //vm.Paginacao = paginacao;
                //vm.UltimaBusca = HttpUtility.HtmlEncode(ViewModelHelper.JsSerializer.Serialize(vm.Filtros));
                //vm.Paginacao.QuantPaginacao = Convert.ToInt32(ViewModelHelper.CookieQuantidadePorPagina);
                //vm.SetListItens(_listaBus.QuantPaginacao, vm.Paginacao.QuantPaginacao);

                Resultados <DocumentoFitossanitarioConsolidado> resultados = _bus.FiltrarConsolidado(vm.Filtros, vm.Paginacao);
                if (resultados == null)
                {
                    return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
                }

                //vm.Paginacao.QuantidadeRegistros = resultados.Quantidade;
                //vm.Paginacao.EfetuarPaginacao();
                vm.ResultadosConsolidados = resultados.Itens;

                return(Json(new { @Msg = Validacao.Erros, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "ListarResultadosConsolidado", vm) }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros }, JsonRequestBehavior.AllowGet));
        }