public ActionResult Visualizar(int id)
        {
            EmissaoCFOC entidade = _bus.Obter(id);

            CFOCVM vm = new CFOCVM(entidade, ListaCredenciadoBus.Estados, ListaCredenciadoBus.Municipios(entidade.EstadoId), _bus.ObterEmpreendimentosLista(),
                                   new List <Lista>(), ListaCredenciadoBus.CFOCLoteEspecificacao, ListaCredenciadoBus.DocFitossanitarioSituacao, ListaCredenciadoBus.Municipios(entidade.EstadoEmissaoId));

            vm.IsVisualizar = true;
            return(View(vm));
        }
        public ActionResult Criar()
        {
            if (!_validar.VerificarCredenciadoHabilitado())
            {
                return(RedirectToAction("Index", "CFOC", Validacao.QueryParamSerializer()));
            }

            EmissaoCFOC entidade = new EmissaoCFOC();

            entidade.SituacaoId            = (int)eDocumentoFitossanitarioSituacao.EmElaboracao;
            entidade.DataEmissao.DataTexto = DateTime.Today.ToShortDateString();
            entidade.EstadoEmissaoId       = ViewModelHelper.EstadoDefaultId();

            CFOCVM vm = new CFOCVM(entidade, ListaCredenciadoBus.Estados, new List <Municipio>(), _bus.ObterEmpreendimentosLista(),
                                   new List <Lista>(), ListaCredenciadoBus.CFOCLoteEspecificacao, ListaCredenciadoBus.DocFitossanitarioSituacao, ListaCredenciadoBus.Municipios(entidade.EstadoEmissaoId));

            return(View(vm));
        }
        public ActionResult Editar(int id)
        {
            if (!_validar.VerificarCredenciadoHabilitado())
            {
                return(RedirectToAction("Index", "CFOC", Validacao.QueryParamSerializer()));
            }

            EmissaoCFOC entidade = _bus.Obter(id);

            if (!_validar.Editar(entidade))
            {
                return(RedirectToAction("Index", "CFOC", Validacao.QueryParamSerializer()));
            }

            List <int> culturas = new List <int>();

            entidade.Produtos.Select(x => x.CulturaId).ToList().ForEach(cultura =>
            {
                culturas.Add(cultura);
            });

            CFOCVM vm = new CFOCVM(entidade, ListaCredenciadoBus.Estados, ListaCredenciadoBus.Municipios(entidade.EstadoId), _bus.ObterEmpreendimentosLista(),
                                   _bus.ObterPragasLista(entidade.Produtos), ListaCredenciadoBus.CFOCLoteEspecificacao, ListaCredenciadoBus.DocFitossanitarioSituacao, ListaCredenciadoBus.Municipios(entidade.EstadoEmissaoId));

            CulturaInternoBus culturaBus            = new CulturaInternoBus();
            List <Cultivar>   cultivares            = culturaBus.ObterCultivares(entidade.Produtos.Select(x => x.CulturaId).ToList()) ?? new List <Cultivar>();
            List <string>     declaracoesAdicionais = cultivares
                                                      .Where(x => entidade.Produtos.Select(y => y.CultivarId).ToList().Any(y => y == x.Id))
                                                      .SelectMany(x => x.LsCultivarConfiguracao.Where(y => entidade.Produtos.Count(z => z.CultivarId == y.Cultivar && y.TipoProducaoId == (int)ValidacoesGenericasBus.ObterTipoProducao(z.UnidadeMedidaId)) > 0))
                                                      .Where(x => entidade.Pragas.Any(y => y.Id == x.PragaId))
                                                      .Select(x => x.DeclaracaoAdicionalTextoHtml)
                                                      .Distinct().ToList();

            vm.CFOC.DeclaracaoAdicionalHtml = String.Join(" ", declaracoesAdicionais);

            return(View(vm));
        }