public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { Autorizacao autorizacao = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); DataEmissaoPorExtenso(autorizacao.Titulo); #region Anexos autorizacao.AnexosPdfs = autorizacao.Anexos .Select(x => x.Arquivo) .Where(x => (!String.IsNullOrEmpty(x.Nome) && new FileInfo(x.Nome).Extension.ToLower().IndexOf("pdf") > -1)).ToList(); autorizacao.Anexos.RemoveAll(anexo => String.IsNullOrEmpty(anexo.Arquivo.Extensao) || !((new[] { ".jpg", ".gif", ".png", ".bmp" }).Any(x => anexo.Arquivo.Extensao.ToLower() == x))); if (autorizacao.Anexos != null && autorizacao.Anexos.Count > 0) { foreach (AnexoPDF anexo in autorizacao.Anexos) { anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem( File.ReadAllBytes(anexo.Arquivo.Caminho), 11, eAsposeImageDimensao.Ambos); } } #endregion autorizacao.Dominialidade = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); var exploracoes = new ExploracaoFlorestalBus().ObterExploracoes(especificidade.Titulo.Id, (int)eTituloModeloCodigo.AutorizacaoExploracaoFlorestal); autorizacao.ExploracaoFlorestal = exploracoes.Select(x => new ExploracaoFlorestalAutorizacaoPDF(x)).ToList(); decimal areaAutorizada = exploracoes.SelectMany(x => x.Exploracoes).Sum(x => x.AreaCroqui); autorizacao.VegetacaoNativaRemanescente = (autorizacao.Dominialidade.VegetacaoNativaTotalDecimal - areaAutorizada).ToStringTrunc(2); var produtos = exploracoes.SelectMany(x => x.Exploracoes).SelectMany(x => x.Produtos).Select(x => new ExploracaoFlorestalExploracaoProdutoPDF(x)).ToList(); autorizacao.Produtos = produtos.GroupBy(x => new { x.Nome, x.Especie, x.UnidadeMedida }, x => x.Quantidade, (key, g) => new ExploracaoFlorestalAutorizacaoProdutoPDF() { Nome = key.Nome, Especie = key.Especie, UnidadeMedida = string.IsNullOrWhiteSpace(key.UnidadeMedida) ? "" : String.Concat("(", key.UnidadeMedida, ")"), Quantidade = g.Sum(x => x) }).ToList(); return(autorizacao); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public ActionResult ObterDadosLaudoVistoriaFlorestal(int id, int empreendimento) { var laudoBus = new LaudoVistoriaFlorestalBus(); var busExploracao = new ExploracaoFlorestalBus(); var exploracoesLst = busExploracao.ObterPorEmpreendimentoList(empreendimento)?.Where(x => x.DataConclusao.IsEmpty); var caracterizacaoLst = exploracoesLst?.Select(x => new CaracterizacaoLst { Id = x.Id, Texto = x.CodigoExploracaoTexto ?? "", ParecerFavoravel = String.Join(", ", x.Exploracoes?.Where(w => w.ParecerFavoravel == true)?.Select(y => y.Identificacao)?.ToList()), ParecerDesfavoravel = String.Join(", ", x.Exploracoes?.Where(w => w.ParecerFavoravel == false)?.Select(y => y.Identificacao)?.ToList()), IsAtivo = true }); return(Json(new { @Destinatarios = _busTitulo.ObterDestinatarios(id), @ResponsaveisTecnico = _protocoloBus.ObterResponsaveisTecnicos(id), @Caracterizacoes = caracterizacaoLst }, JsonRequestBehavior.AllowGet)); }
public ActionResult LaudoVistoriaFlorestal(EspecificidadeVME especificidade) { LaudoVistoriaFlorestalBus _busLaudo = new LaudoVistoriaFlorestalBus(); List <Protocolos> lstProcessosDocumentos = _busTitulo.ObterProcessosDocumentos(especificidade.ProtocoloId); List <AtividadeSolicitada> lstAtividades = new List <AtividadeSolicitada>(); List <PessoaLst> destinatarios = new List <PessoaLst>(); Titulo titulo = new Titulo(); TituloModelo modelo = _tituloModeloBus.Obter(especificidade.ModeloId ?? 0); LaudoVistoriaFlorestal laudo = new LaudoVistoriaFlorestal(); LaudoVistoriaFlorestalVM vm = null; string htmlEspecificidade = string.Empty; if (especificidade.TituloId > 0) { titulo = _busTitulo.ObterSimplificado(especificidade.TituloId); titulo.Anexos = _busTitulo.ObterAnexos(especificidade.TituloId); titulo.Atividades = _busTitulo.ObterAtividades(especificidade.TituloId); titulo.Condicionantes = _busTitulo.ObterCondicionantes(especificidade.TituloId); titulo.Exploracoes = _busTitulo.ObterExploracoes(especificidade.TituloId); laudo = _busLaudo.Obter(especificidade.TituloId) as LaudoVistoriaFlorestal; if (laudo != null) { especificidade.AtividadeProcDocReq = laudo.ProtocoloReq; laudo.Anexos = titulo.Anexos; } } if (especificidade.ProtocoloId > 0) { if (_busEspecificidade.ExisteProcDocFilhoQueFoiDesassociado(especificidade.TituloId)) { lstAtividades = new List <AtividadeSolicitada>(); titulo.Atividades = new List <Atividade>(); } else { lstAtividades = _busAtividade.ObterAtividadesLista(especificidade.AtividadeProcDocReq.ToProtocolo()); } if (titulo.Situacao.Id == (int)eTituloSituacao.Cadastrado) { destinatarios = _busTitulo.ObterDestinatarios(especificidade.ProtocoloId); } else { destinatarios.Add(new PessoaLst() { Id = laudo.Destinatario, Texto = laudo.DestinatarioNomeRazao, IsAtivo = true }); } if (!especificidade.IsVisualizar) { _busEspecificidade.PossuiAtividadeEmAndamento(especificidade.ProtocoloId); } } if (!Validacao.EhValido) { return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = string.Empty }, JsonRequestBehavior.AllowGet)); } var busExploracao = new ExploracaoFlorestalBus(); var exploracoesLst = busExploracao.ObterPorEmpreendimentoList(especificidade.EmpreendimentoId); var caracterizacaoLst = new List <CaracterizacaoLst>(); if (exploracoesLst.Count() > 0) { caracterizacaoLst = exploracoesLst.Select(x => new CaracterizacaoLst { Id = x.Id, Texto = x.CodigoExploracaoTexto ?? "", ParecerFavoravel = String.Join(", ", x.Exploracoes.Where(w => w.ParecerFavoravel == true).Select(y => y.Identificacao)?.ToList()), ParecerDesfavoravel = String.Join(", ", x.Exploracoes.Where(w => w.ParecerFavoravel == false).Select(y => y.Identificacao)?.ToList()), IsAtivo = true })?.ToList(); } vm = new LaudoVistoriaFlorestalVM( modelo.Codigo, laudo, lstProcessosDocumentos, lstAtividades, caracterizacaoLst, destinatarios, _protocoloBus.ObterResponsaveisTecnicosPorRequerimento(especificidade.AtividadeProcDocReq.RequerimentoId), _busLista.ObterEspecificidadeConclusoes, titulo.Condicionantes, especificidade.AtividadeProcDocReqKey, especificidade.IsVisualizar); if (especificidade.TituloId > 0) { vm.Atividades.Atividades = titulo.Atividades; vm.Exploracoes = titulo.Exploracoes; var parecerFavoravel = new ArrayList(); var parecerDesfavoravel = new ArrayList(); foreach (var exploracao in exploracoesLst) { if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true)?.ToList().Count > 0) { parecerFavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true).Select(x => x.Identificacao)?.ToList()), ")")); } if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false)?.ToList().Count > 0) { parecerDesfavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false).Select(x => x.Identificacao)?.ToList()), ")")); } } vm.ParecerFavoravelLabel = parecerFavoravel.Count > 0 ? String.Join(", ", parecerFavoravel?.ToArray()) : ""; vm.ParecerDesfavoravelLabel = parecerDesfavoravel.Count > 0 ? String.Join(", ", parecerDesfavoravel?.ToArray()) : ""; } vm.IsCondicionantes = modelo.Regra(eRegra.Condicionantes) || (titulo.Condicionantes != null && titulo.Condicionantes.Count > 0); htmlEspecificidade = ViewModelHelper.RenderPartialViewToString(ControllerContext, "~/Areas/Especificidades/Views/Laudo/LaudoVistoriaFlorestal.ascx", vm); return(Json(new { Msg = Validacao.Erros, EhValido = Validacao.EhValido, @Html = htmlEspecificidade }, JsonRequestBehavior.AllowGet)); }
public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { Laudo laudo = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); DataEmissaoPorExtenso(laudo.Titulo); #region Anexos laudo.AnexosPdfs = laudo.Anexos .Select(x => x.Arquivo) .Where(x => (!String.IsNullOrEmpty(x.Nome) && new FileInfo(x.Nome).Extension.ToLower().IndexOf("pdf") > -1)).ToList(); laudo.Anexos.RemoveAll(anexo => String.IsNullOrEmpty(anexo.Arquivo.Extensao) || !((new[] { ".jpg", ".gif", ".png", ".bmp" }).Any(x => anexo.Arquivo.Extensao.ToLower() == x))); if (laudo.Anexos != null && laudo.Anexos.Count > 0) { foreach (AnexoPDF anexo in laudo.Anexos) { anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem( File.ReadAllBytes(anexo.Arquivo.Caminho), 11, eAsposeImageDimensao.Ambos); } } #endregion laudo.Dominialidade = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); if (laudo.CaracterizacaoTipo == (int)eCaracterizacao.ExploracaoFlorestal) { var exploracoes = new ExploracaoFlorestalBus().ObterExploracoes(especificidade.Titulo.Id, (int)eTituloModeloCodigo.LaudoVistoriaFlorestal); laudo.ExploracaoFlorestalList = exploracoes.Select(x => new ExploracaoFlorestalPDF(x)).ToList(); var parecerFavoravel = new ArrayList(); var parecerDesfavoravel = new ArrayList(); foreach (var exploracao in exploracoes) { if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true)?.ToList().Count > 0) { parecerFavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == true).Select(x => x.Identificacao)?.ToList()), ")")); } if (exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false)?.ToList().Count > 0) { parecerDesfavoravel.Add(String.Concat(exploracao.CodigoExploracaoTexto, " (", String.Join(", ", exploracao.Exploracoes.Where(x => x.ParecerFavoravel == false).Select(x => x.Identificacao)?.ToList()), ")")); } } laudo.ParecerFavoravel = parecerFavoravel.Count > 0 ? String.Join(", ", parecerFavoravel?.ToArray()) : ""; laudo.ParecerDesfavoravel = parecerDesfavoravel.Count > 0 ? String.Join(", ", parecerDesfavoravel?.ToArray()) : ""; } else { laudo.ExploracaoFlorestal = new ExploracaoFlorestalPDF(new ExploracaoFlorestalBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); } laudo.QueimaControlada = new QueimaControladaPDF(new QueimaControladaBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); laudo.Silvicultura = new SilviculturaPDF(new SilviculturaBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); return(laudo); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }