public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco) { try { CertidaoDispensaLicenciamentoAmbientalPDF certidao = _da.ObterDadosPDF(especificidade.Titulo.Id, banco); DataEmissaoPorExtenso(certidao.Titulo); if (!string.IsNullOrEmpty(certidao.VinculoPropriedadeOutro)) { certidao.VinculoPropriedade = certidao.VinculoPropriedadeOutro; } certidao.Caracterizacao = new BarragemDispensaLicencaPDF(new BarragemDispensaLicencaBus().ObterPorEmpreendimento(especificidade.Titulo.EmpreendimentoId.GetValueOrDefault())); GerenciadorConfiguracao <ConfiguracaoCaracterizacao> configCaracterizacao = new GerenciadorConfiguracao <ConfiguracaoCaracterizacao>(new ConfiguracaoCaracterizacao()); List <Lista> finalidades = configCaracterizacao.Obter <List <Lista> >(ConfiguracaoCaracterizacao.KeyBarragemDispensaLicencaFinalidadeAtividade); certidao.Caracterizacao.CampoNome = "Finalidade"; certidao.Caracterizacao.CampoValor = Mensagem.Concatenar(finalidades.Where(x => (int.Parse(x.Codigo) & certidao.Caracterizacao.FinalidadeAtividade) != 0).Select(x => x.Texto).ToList()); return(certidao); } catch (Exception exc) { Validacao.AddErro(exc); } return(null); }
public virtual void OnAuthorization(AuthorizationContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } if (AuthorizeCore(filterContext.HttpContext)) { // ** IMPORTANT ** // Since we're performing authorization at the action level, the authorization code runs // after the output caching module. In the worst case this could allow an authorized user // to cause the page to be cached, then an unauthorized user would later be served the // cached page. We work around this by telling proxies not to cache the sensitive page, // then we hook our custom authorization code into the caching mechanism so that we have // the final say on whether a page should be served from the cache. HttpCachePolicyBase cachePolicy = filterContext.HttpContext.Response.Cache; cachePolicy.SetProxyMaxAge(new TimeSpan(0)); cachePolicy.AddValidationCallback(CacheValidateHandler, null /* data */); } else { // auth failed, redirect to login page if (filterContext.HttpContext.User.Identity.IsAuthenticated && _rolesSplit.Length > 0) { PermissaoValidar validar = new PermissaoValidar(); validar.Verificar(_rolesSplit.Select(x => (ePermissao)Enum.Parse(typeof(ePermissao), x)).ToArray()); } if (filterContext.HttpContext.User.Identity.IsAuthenticated && filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.Result = new JsonResult { Data = new { MsgPermissoes = Validacao.Erros }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; filterContext.HttpContext.Response.StatusCode = 500; //filterContext.HttpContext.Response.SubStatusCode = 1; filterContext.HttpContext.Response.StatusDescription = Mensagem.Concatenar(Validacao.Erros.Select(x => x.Texto).ToList()); filterContext.HttpContext.Response.SuppressContent = false; filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; } else { filterContext.Result = new HttpUnauthorizedResult(); //string url = Validacao.QueryParamSerializer(FormsAuthentication.LoginUrl); //filterContext.Result = new RedirectResult(url); } } }
public bool PossuiCaracterizacaoAtividade(List <CaracterizacaoLst> caracterizacoes, int projetoDigitalId) { if (caracterizacoes == null || caracterizacoes.Count <= 0) { List <Atividade> atividades = _da.ObterAtividades(projetoDigitalId); Validacao.Add(Mensagem.ProjetoDigital.AtividadeSemCaracterizacao(Mensagem.Concatenar(atividades.Select(x => x.NomeAtividade).ToList()))); return(false); } return(true); }
public bool Finalizar(int id) { List <string> lstCadastroVazio = _da.TemCadastroVazio(id); ProjetoGeografico projetoGeo = new ProjetoGeografico(); Infracao infracao = new Infracao(); LocalInfracao localInfracao = new LocalInfracao(); localInfracao = _localInfracaoDa.Obter(id); FuncionarioBus funcBus = new FuncionarioBus(); List <Setor> setoresFunc = funcBus.ObterSetoresFuncionario(); if (!setoresFunc.Any(x => x.Id == localInfracao.SetorId)) { Validacao.Add(Mensagem.Fiscalizacao.SetorNaoPertenceFuncionario); } if (lstCadastroVazio.Count > 0) { Validacao.Add(Mensagem.Fiscalizacao.CadastroObrigatorio(Mensagem.Concatenar(lstCadastroVazio))); return(Validacao.EhValido); } projetoGeo = _projetoGeoDa.ObterProjetoGeograficoPorFiscalizacao(id); projetoGeo.FiscalizacaoEasting = localInfracao.LonEastingToDecimal; projetoGeo.FiscalizacaoNorthing = localInfracao.LatNorthingToDecimal; if (!_projetoGeoDa.VerificarProjetoGeograficoProcessado(projetoGeo.Id)) { Validacao.Add(Mensagem.Fiscalizacao.ProjetoGeoProcessado); } else { if (!projetoGeo.FiscalizacaoEstaDentroAreaAbrangencia) { Validacao.Add(Mensagem.ProjetoGeografico.EmpreendimentoForaAbrangencia); } } infracao = _infracaoDa.Obter(id); if (_infracaoDa.ConfigAlterada(infracao.ConfiguracaoId, infracao.ConfiguracaoTid)) { Validacao.Add(Mensagem.InfracaoMsg.ConfigAlteradaConcluir); } if (_infracaoDa.PerguntaRespostaAlterada(infracao)) { Validacao.Add(Mensagem.InfracaoMsg.ConfigAlteradaConcluir); } return(Validacao.EhValido); }
public string ObterTitulosConcluirEntrega(Protocolo protocolo, List <Int32> titulosSelecionados) { _validar.ValidarProtocoloNumero(protocolo.Numero); if (titulosSelecionados == null || titulosSelecionados.Count <= 0) { Validacao.Add(Mensagem.Entrega.TituloObrigatorio); return(string.Empty); } string numeros = string.Empty; try { List <Titulo> titulos = null; titulos = _daTitulo.TitulosProtocolo(protocolo.Id.Value); List <String> numTitulosAssinados = new List <String>(); foreach (Titulo titulo in titulos) { titulo.Modelo = _busModelo.Obter(titulo.Modelo.Id); TituloModeloResposta resposta = titulo.Modelo.Resposta(eRegra.Prazo, eResposta.InicioPrazo); if (resposta != null && resposta.Valor.ToString() == "3") //início do prazo da data de entrega { //ver id da Situacao "Assinado" na lov_titulo_situacao if (titulo.Situacao.Id == 4 && titulosSelecionados.Exists(x => x == titulo.Id)) { numTitulosAssinados.Add(titulo.Numero.Texto + " - " + titulo.Modelo.Nome); } } } if (numTitulosAssinados != null && numTitulosAssinados.Count > 0) { numeros = Mensagem.Concatenar(numTitulosAssinados); } } catch (Exception exc) { Validacao.AddErro(exc); } return(numeros); }
public bool AssociarEmpreendimento(Requerimento requerimento) { if (requerimento.Empreendimento.Id > 0 && requerimento.CredenciadoId != requerimento.Empreendimento.CredenciadoId) { Validacao.Add(Msg.EmpreendimentoAssociadoInvalido); return(Validacao.EhValido); } List <String> atividades = _da.ObterAtividadesEmpreendimentoObrigatorio(requerimento.Id); if (atividades != null && atividades.Count > 0) { if (requerimento.Empreendimento.Id <= 0) { Validacao.Add(Msg.EmpreendimentoObrigatorioPorAtividade(Mensagem.Concatenar(atividades).ToLower())); } } return(Validacao.EhValido); }
public bool ExcluirSubItemInfracao(int id) { if (!_da.SubitemIsAtivo(id)) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ExcluirSubItemInfracaoDesativado); } else { if (_da.SubItemIsAssociadoFiscalizacao(id)) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ExcluirSubItemInfracaoJaAssociado); } else { List <String> ConfiguracoesAssociadas = _da.ObterIdsConfiguracoesAssociadasSubItemInfracao(id); if (ConfiguracoesAssociadas.Count > 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.SubItemInfracaoNaoPodeExcluir(Mensagem.Concatenar(ConfiguracoesAssociadas))); } } } return(Validacao.EhValido); }
public bool Excluir(int configuracaoId) { var lstFiscalizacao = _da.ConfiguracaoEmUso(configuracaoId); if (lstFiscalizacao.Count > 0) { if (lstFiscalizacao.Count == 1) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ExcluirInvalidoSingular(Mensagem.Concatenar(lstFiscalizacao))); } else { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ExcluirInvalidoPlural(Mensagem.Concatenar(lstFiscalizacao))); } } return(Validacao.EhValido); }
public bool Salvar(ConfigFiscalizacao configuracao) { Mensagem msg = null; List <string> lstMsg = new List <string>(); if (configuracao.ClassificacaoId == 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ClassificacaoObrigatorio); } if (configuracao.TipoId == 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.TipoObrigatorio); } else if (!_da.TipoIsAtivo(configuracao.TipoId)) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Tipo de infração", configuracao.TipoTexto); msg.Campo = "Configuracao_Tipo"; Validacao.Add(msg); } if (configuracao.ItemId == 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ItemObrigatorio); } else if (!_da.ItemIsAtivo(configuracao.ItemId)) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Item", configuracao.ItemTexto); msg.Campo = "Configuracao_Item"; Validacao.Add(msg); } if (configuracao.Id == 0) { var config = _da.Obter(configuracao.ClassificacaoId, configuracao.TipoId, configuracao.ItemId); if (config.GetValue <int>("Id") > 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ConfiguracaoCadastrada); } } configuracao.Subitens.ForEach(x => { if (!_da.SubitemIsAtivo(x.SubItemId)) { lstMsg.Add(x.SubItemTexto); } }); if (lstMsg.Count == 1) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Subitem", lstMsg[0]); msg.Campo = "fsSubitens"; Validacao.Add(msg); } else if (lstMsg.Count > 1) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Subitens", Mensagem.Concatenar(lstMsg), true); msg.Campo = "fsSubitens"; Validacao.Add(msg); } lstMsg = new List <string>(); configuracao.Perguntas.ForEach(x => { if (!_da.PerguntaIsAtivo(x.PerguntaId)) { lstMsg.Add(x.PerguntaTexto); } }); if (lstMsg.Count == 1) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Pergunta", lstMsg[0]); msg.Campo = "fsPerguntas"; Validacao.Add(msg); } else if (lstMsg.Count > 1) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Perguntas", Mensagem.Concatenar(lstMsg), true); msg.Campo = "fsPerguntas"; Validacao.Add(msg); } lstMsg = new List <string>(); configuracao.Campos.ForEach(x => { if (!_da.CampoIsAtivo(x.CampoId)) { lstMsg.Add(x.CampoTexto); } }); if (lstMsg.Count == 1) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Campo", lstMsg[0]); msg.Campo = "fsCampos"; Validacao.Add(msg); } else if (lstMsg.Count > 1) { msg = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Campos", Mensagem.Concatenar(lstMsg), true); msg.Campo = "fsCampos"; Validacao.Add(msg); } return(Validacao.EhValido); }
public bool PodeEditarRespostaInfracao(int id) { if (_da.RespostaIsAssociadoFiscalizacao(id)) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.EditarRespostaInfracaoJaAssociado); } else { List <String> PerguntasAssociadas = _da.ObterIdsPerguntasAssociadasRespostaInfracao(id); if (PerguntasAssociadas.Count > 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.RespostaInfracaoNaoPodeEditar(Mensagem.Concatenar(PerguntasAssociadas))); } } return(Validacao.EhValido); }
public bool PodeEditarCampoInfracao(int id) { if (_da.CampoIsAssociadoFiscalizacao(id)) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.EditarCampoInfracaoJaAssociado); } else { List <String> ConfiguracoesAssociadas = _da.ObterIdsConfiguracoesAssociadasCampoInfracao(id); if (ConfiguracoesAssociadas.Count > 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.CampoInfracaoNaoPodeEditar(Mensagem.Concatenar(ConfiguracoesAssociadas))); } } return(Validacao.EhValido); }
public void AlterarSituacaoPerguntaInfracao(int perguntaId, int situacaoNova) { List <String> configAssociadas = _da.ObterIdsConfiguracoesAssociadasPerguntaInfracao(perguntaId); if (configAssociadas.Count > 0 && situacaoNova == 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.PerguntaInfracaoNaoPodeDesativar(Mensagem.Concatenar(configAssociadas))); } else { _da.AlterarSituacaoPerguntaInfracao(perguntaId, situacaoNova); Validacao.Add(Mensagem.FiscalizacaoConfiguracao.PerguntaNumSituacaoAlterada(perguntaId.ToString())); } }
public void AlterarSituacaoRespostaInfracao(int RespostaId, int situacaoNova) { List <String> configAssociadas = _da.ObterIdsPerguntasAssociadasRespostaInfracao(RespostaId); if (configAssociadas.Count > 0 && situacaoNova == 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.RespostaInfracaoNaoPodeDesativar(Mensagem.Concatenar(configAssociadas))); } else { _da.AlterarSituacaoRespostaInfracao(RespostaId, situacaoNova); Validacao.Add(Mensagem.FiscalizacaoConfiguracao.RespostaSituacaoAlterada); } }
public bool Salvar(IEspecificidade especificidade) { OutrosConclusaoTransferenciaDominio esp = especificidade as OutrosConclusaoTransferenciaDominio; if (esp.Destinatarios.Count < 1) { Validacao.Add(Mensagem.Especificidade.DestinatarioObrigatorio("ddlDestinatarios")); } if (esp.Responsaveis.Count < 1) { Validacao.Add(Mensagem.Especificidade.ResponsavelObrigatorio("ddlResponsaveis")); } if (esp.Interessados.Count < 1) { Validacao.Add(Mensagem.Especificidade.InteressadoObrigatorio("ddlInteressados")); } List <PessoaEspecificidade> lstValida = null; esp.Destinatarios.ForEach(x => { lstValida = new List <PessoaEspecificidade>(); lstValida.AddRange(esp.Destinatarios.Where(y => x.Id == y.Id).ToList()); if (lstValida.Count > 1) { Validacao.Add(Mensagem.Especificidade.DestinatarioJaAdicionado); } }); esp.Interessados.ForEach(x => { lstValida = new List <PessoaEspecificidade>(); lstValida.AddRange(esp.Interessados.Where(y => x.Id == y.Id).ToList()); if (lstValida.Count > 1) { Validacao.Add(Mensagem.Especificidade.InteressadoJaAdicionado); } }); esp.Responsaveis.ForEach(x => { lstValida = new List <PessoaEspecificidade>(); lstValida.AddRange(esp.Responsaveis.Where(y => x.Id == y.Id).ToList()); if (lstValida.Count > 1) { Validacao.Add(Mensagem.Especificidade.ResponsavelJaAdicionado); } }); foreach (PessoaEspecificidade pessoa in esp.Responsaveis) { for (int i = 0; i < esp.Interessados.Count; i++) { if (esp.Interessados[i].Id == pessoa.Id) { Validacao.Add(new EspecificidadeMsg().InteressadoIgualResponsavel); return(Validacao.EhValido); } } } #region Verificar lista de pessoas desassociadas List <PessoaEspecificidade> destinatarios = PessoasDesassociadas(esp.Destinatarios, _daEspecificidade.ObterInteressados(esp.ProtocoloReq.Id)); List <PessoaEspecificidade> responsaveis = PessoasDesassociadas(esp.Responsaveis, _daEspecificidade.ObterEmpreendimentoResponsaveis(esp.Titulo.EmpreendimentoId.GetValueOrDefault())); List <PessoaEspecificidade> interessados = PessoasDesassociadas(esp.Interessados, _daEspecificidade.ObterInteressados(esp.ProtocoloReq.Id)); if (destinatarios.Count > 0) { Validacao.Add(Mensagem.Especificidade.DestinatarioNaoAssociadoMais(Mensagem.Concatenar(destinatarios.Select(x => x.Nome).ToList()))); } if (responsaveis.Count > 0) { Validacao.Add(Mensagem.Especificidade.ResponsavelNaoAssociadoMais(Mensagem.Concatenar(responsaveis.Select(x => x.Nome).ToList()))); } if (interessados.Count > 0) { Validacao.Add(Mensagem.Especificidade.InteressadoNaoAssociadoMais(Mensagem.Concatenar(interessados.Select(x => x.Nome).ToList()))); } #endregion RequerimentoAtividade(esp); return(Validacao.EhValido); }
internal EmissaoPTVRelatorio Obter(int id, bool simplificado = false) { EmissaoPTVRelatorio emissaoPTV = new EmissaoPTVRelatorio(); List <String> listDeclaracoesAdicionais = new List <String>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = null; #region SQL PTV comando = bancoDeDados.CriarComando(@" select distinct t.id, t.tid, t.numero, t.situacao, e.denominador, e.cnpj, le.sigla as uf, lm.texto as municipio, ee.logradouro, ee.bairro, ee.distrito, nvl(pr.nome, pr.razao_social) as resp_razao_social, pr.cpf as empreend_resp_cpf, t.partida_lacrada_origem, t.numero_lacre, t.numero_porao, t.numero_container, t.apresentacao_nota_fiscal, t.numero_nota_fiscal, t.tipo_transporte, t.rota_transito_definida, t.veiculo_identificacao_numero, t.itinerario, t.data_ativacao, t.valido_ate, t.responsavel_tecnico, d.nome as destinatario_nome, d.endereco as destinatario_endereco, led.sigla destinatario_uf, lmd.texto destinatario_mun, lme.texto as municipio_emissao, d.cpf_cnpj destinatario_cpfcnpj from tab_ptv t, tab_empreendimento e, tab_empreendimento_endereco ee, lov_estado le, lov_municipio lm, lov_municipio lme, tab_pessoa pr, tab_destinatario_ptv d, lov_estado led, lov_municipio lmd where e.id = t.empreendimento and (ee.empreendimento = e.id and ee.correspondencia = 0) and le.id = ee.estado and lm.id = ee.municipio and lme.id(+) = t.municipio_emissao and pr.id(+) = t.responsavel_emp and d.id = t.destinatario and led.id = d.uf and lmd.id = d.municipio and t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { emissaoPTV.Id = id; emissaoPTV.Tid = reader.GetValue <string>("tid"); emissaoPTV.Situacao = reader.GetValue <int>("situacao"); emissaoPTV.FuncId = reader.GetValue <int>("responsavel_tecnico"); emissaoPTV.NumeroPTV = reader.GetValue <string>("numero"); emissaoPTV.PartidaLacrada = reader.GetValue <int>("partida_lacrada_origem"); emissaoPTV.NumeroLacre = reader.GetValue <string>("numero_lacre"); emissaoPTV.NumeroPorao = reader.GetValue <string>("numero_porao"); emissaoPTV.NumeroConteiner = reader.GetValue <string>("numero_container"); emissaoPTV.TipoTransporte = reader.GetValue <int>("tipo_transporte"); emissaoPTV.Rota_transito_definida = reader.GetValue <int>("rota_transito_definida"); emissaoPTV.ApresentacaoNotaFiscal = reader.GetValue <int>("apresentacao_nota_fiscal"); emissaoPTV.NumeroNotaFiscal = reader.GetValue <string>("numero_nota_fiscal"); emissaoPTV.VeiculoNumero = reader.GetValue <string>("veiculo_identificacao_numero"); emissaoPTV.Itinerario = reader.GetValue <string>("itinerario"); emissaoPTV.DataAtivacao = reader.GetValue <DateTime>("data_ativacao").ToString("dd/MM/yyyy"); emissaoPTV.DataValidade = reader.GetValue <DateTime>("valido_ate").ToShortDateString(); emissaoPTV.Destinatario.Nome = reader.GetValue <string>("destinatario_nome"); emissaoPTV.Destinatario.Endereco = reader.GetValue <string>("destinatario_endereco"); emissaoPTV.Destinatario.UF = reader.GetValue <string>("destinatario_uf"); emissaoPTV.Destinatario.Municipio = reader.GetValue <string>("destinatario_mun"); emissaoPTV.Destinatario.CPFCNPJ = reader.GetValue <string>("destinatario_cpfcnpj"); emissaoPTV.MunicipioEmissao = reader.GetValue <string>("municipio_emissao"); emissaoPTV.Empreendimento.ResponsavelRazaoSocial = reader.GetValue <string>("resp_razao_social"); emissaoPTV.Empreendimento.NomeRazao = reader.GetValue <string>("denominador"); emissaoPTV.Empreendimento.EndLogradouro = reader.GetValue <string>("logradouro"); emissaoPTV.Empreendimento.EndBairro = reader.GetValue <string>("bairro"); emissaoPTV.Empreendimento.EndDistrito = reader.GetValue <string>("distrito"); emissaoPTV.Empreendimento.EndMunicipio = reader.GetValue <string>("municipio"); emissaoPTV.Empreendimento.EndUF = reader.GetValue <string>("uf"); emissaoPTV.Empreendimento.CNPJ = reader.GetValue <string>("cnpj"); emissaoPTV.Empreendimento.ResponsavelCPF = reader.GetValue <string>("empreend_resp_cpf"); } reader.Close(); } #endregion if (simplificado) { return(emissaoPTV); } #region SQL Funcionário comando = bancoDeDados.CriarComando(@" select f.nome, h.numero_habilitacao, h.numero_crea, f.arquivo arquivo_id from {0}tab_hab_emi_ptv h, {0}tab_funcionario f where f.id = h.funcionario and f.id = :idfun" , EsquemaBanco); comando.AdicionarParametroEntrada("idfun", emissaoPTV.FuncId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { emissaoPTV.FuncionarioHabilitado.Nome = reader.GetValue <string>("nome"); emissaoPTV.FuncionarioHabilitado.Numero = reader.GetValue <string>("numero_habilitacao"); emissaoPTV.FuncionarioHabilitado.Registro = reader.GetValue <string>("numero_crea"); emissaoPTV.FuncionarioHabilitado.ArquivoId = reader.GetValue <int>("arquivo_id"); } reader.Close(); } #endregion #region SQL PTVProduto comando = bancoDeDados.CriarComando(@"select c.texto cultura, cc.cultivar, t.quantidade, decode(t.origem_tipo, 1, (select cfo.numero from cre_cfo cfo where cfo.id = t.origem), '') as numero_cfo, decode(t.origem_tipo, 2, (select cfoc.numero from cre_cfoc cfoc where cfoc.id = t.origem), '') as numero_cfoc, decode(t.origem_tipo, 3, (select ptv.numero from tab_ptv ptv where ptv.id = t.origem), 4, (select ptv.numero from tab_ptv_outrouf ptv where ptv.id = t.origem), '') as numero_ptv, decode(t.origem_tipo, 5, t.numero_origem, '') as numero_cf_cfr, decode(t.origem_tipo, 6, t.numero_origem, '') as numero_tf, u.texto as unidade_medida, nvl(t.origem, 0) origem, t.origem_tipo, t.cultura cultura_id, t.cultivar cultivar_id from {0}tab_ptv_produto t, {0}tab_ptv p, {0}tab_cultura c, {0}tab_cultura_cultivar cc, lov_crt_uni_prod_uni_medida u where c.id = t.cultura and cc.id = t.cultivar and p.id = t.ptv and u.id = t.unidade_medida and t.ptv = :ptv" , EsquemaBanco); comando.AdicionarParametroEntrada("ptv", emissaoPTV.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { emissaoPTV.Produtos.Add(new PTVProdutoRelatorio() { CulturaTexto = reader.GetValue <string>("cultura"), CulturaId = reader.GetValue <int>("cultura_id"), CultivarTexto = reader.GetValue <string>("cultivar"), CultivarId = reader.GetValue <int>("cultivar_id"), Quantidade = reader.GetValue <decimal>("quantidade"), NumeroCFO = reader.GetValue <string>("numero_cfo"), NumeroCFOC = reader.GetValue <string>("numero_cfoc"), NumeroPTV = reader.GetValue <string>("numero_ptv"), NumeroCFCFR = reader.GetValue <string>("numero_cf_cfr"), NumeroTF = reader.GetValue <string>("numero_tf"), UnidadeMedida = reader.GetValue <string>("unidade_medida"), Origem = reader.GetValue <int>("origem"), OrigemTipo = reader.GetValue <int>("origem_tipo") }); } reader.Close(); } List <LaudoLaboratorial> laudoLaboratoriais = ObterLaudoLaboratorial(emissaoPTV.Produtos); emissaoPTV.LaboratorioNome = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.Nome).ToList()); emissaoPTV.NumeroLaudo = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.LaudoResultadoAnalise).ToList()); emissaoPTV.LaboratorioMunicipio = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.MunicipioTexto).ToList()); emissaoPTV.LaboratorioUF = Mensagem.Concatenar(laudoLaboratoriais.Select(x => x.EstadoTexto).ToList()); foreach (var item in emissaoPTV.Produtos.Where(xx => (xx.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFO || xx.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFOC || xx.OrigemTipo == (int)eDocumentoFitossanitarioTipo.PTV)).ToList()) { List <String> listDeclaracoesAdicionaisAux = ObterDeclaracaoAdicional(item.Origem, item.OrigemTipo, (int)ValidacoesGenericasBus.ObterTipoProducao(item.UnidadeMedida), item.CultivarId); item.DeclaracaoAdicional = String.Join(" ", listDeclaracoesAdicionaisAux.Distinct().ToList()); listDeclaracoesAdicionais.AddRange(listDeclaracoesAdicionaisAux); } emissaoPTV.DeclaracaoAdicionalHtml = String.Join(" ", listDeclaracoesAdicionais.Distinct().ToList()); #endregion #region Tratamento Fitossanitário emissaoPTV.Tratamentos = TratamentoFitossanitario(emissaoPTV.Produtos); if (emissaoPTV.Tratamentos == null || emissaoPTV.Tratamentos.Count <= 0) { emissaoPTV.Tratamentos = new List <TratamentosRelatorio>() { new TratamentosRelatorio() { } }; } #endregion #region Arquivo if (emissaoPTV.FuncionarioHabilitado.ArquivoId.HasValue && emissaoPTV.FuncionarioHabilitado.ArquivoId > 0) { ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); emissaoPTV.AssinaturaDigital = _busArquivo.Obter(emissaoPTV.FuncionarioHabilitado.ArquivoId.Value); } #endregion } return(emissaoPTV); }
public List <Roteiro> ObterRoteirosPorAtividades(List <Atividade> atividades) { List <Roteiro> roteiros = new List <Roteiro>(); if (atividades == null || atividades.Count <= 0) { return(roteiros); } Roteiro roteiroPadrao = ListaCredenciadoBus.RoteiroPadrao.FirstOrDefault(x => x.Setor == atividades[0].SetorId); if (roteiroPadrao != null) { roteiroPadrao = ObterSimplificado(roteiroPadrao.Id); } List <String> titulos = new List <String>(); foreach (var atividade in atividades) { foreach (var finalidade in atividade.Finalidades) { finalidade.AtividadeId = atividade.Id; finalidade.AtividadeNome = atividade.NomeAtividade; finalidade.AtividadeSetorId = atividade.SetorId; String modeloTituloNaoAdicionadoRoteiro = _da.ModeloTituloNaoAdicionadoRoteiro(finalidade); if (!String.IsNullOrWhiteSpace(modeloTituloNaoAdicionadoRoteiro)) { titulos.Add("\"" + modeloTituloNaoAdicionadoRoteiro + "\""); continue; } Roteiro roteiroAux = _da.ObterRoteirosPorAtividades(finalidade); if (roteiroAux == null) { roteiroPadrao.AtividadeTexto = atividade.NomeAtividade; roteiros.Add(roteiroPadrao); continue; } roteiros.Add(roteiroAux); } } if (titulos.Count > 0) { Validacao.Add(Mensagem.Roteiro.TituloNaoAdicionadoRoteiroCredenciado(Mensagem.Concatenar(titulos))); } #region Faz a magica de agrupar os resultados roteiros = roteiros.GroupBy(x => x.Id).Select(y => new Roteiro { Id = y.First().Id, Nome = y.First().Nome, VersaoAtual = y.First().VersaoAtual, Tid = y.First().Tid, AtividadeTexto = y.Select(w => w.AtividadeTexto).Distinct().Aggregate((total, atual) => total + " / " + atual) }).ToList(); #endregion return(roteiros); }
internal bool AlterarSituacao(Motosserra motosserra) { Motosserra motosserraAtual = _da.Obter(motosserra.Id); if (motosserra.SituacaoId == (int)eMotosserraSituacao.Desativo) { if (motosserra.SituacaoId == motosserraAtual.SituacaoId) { Validacao.Add(Mensagem.Motosserra.SituacaoJaDesativo); return(Validacao.EhValido); } List <String> numeroSituacoesTituloAssociado = _da.ValidarDesativarAssociadoTitulo(motosserra.Id); if (numeroSituacoesTituloAssociado.Count > 0) { List <String> numeros = new List <String>(); List <String> situacoes = new List <String>(); numeroSituacoesTituloAssociado.ForEach(x => { numeros.Add(x.Split('|')[0]); situacoes.Add(x.Split('|')[1]); }); Validacao.Add(Mensagem.Motosserra.MotosserraNaoPodeDesativarAssociado(Mensagem.Concatenar(numeros), Mensagem.Concatenar(situacoes))); } } return(Validacao.EhValido); }
public bool ValidarAssociarResponsavelTecnicoHabilitado(EmissaoCFOC entidade) { #region Configurar List <Cultivar> cultivares = new List <Cultivar>(); foreach (var item in entidade.Produtos) { cultivares.Add(new Cultivar() { CulturaId = item.CulturaId, Id = item.CultivarId }); } if (cultivares.Count <= 0) { Validacao.Add(Mensagem.EmissaoCFOC.ProdutoObrigatorio); return(false); } HabilitarEmissaoCFOCFOCBus habilitarEmissaoCFOCFOCBus = new HabilitarEmissaoCFOCFOCBus(); HabilitarEmissaoCFOCFOC habilitacao = new HabilitarEmissaoCFOCFOCBus().ObterPorCredenciado(User.FuncionarioId); if (Validacao.EhValido) { PragaInternoBus pragaBus = new PragaInternoBus(); habilitacao.Pragas.ForEach(x => { x.Praga.Culturas = pragaBus.ObterCulturas(x.Praga.Id); }); } else { return(false); } #endregion if (habilitacao.Id <= 0 || habilitacao.Situacao == (int)eHabilitacaoCFOCFOCSituacao.Inativo) { Validacao.Add(Mensagem.EmissaoCFOC.ResponsavelTecnicoNaoHabilitado); return(false); } if (!habilitacao.Pragas.SelectMany(p => p.Praga.Culturas).ToList().Exists(c => cultivares.Exists(x => x.CulturaId == c.Id))) { Validacao.Add(Mensagem.EmissaoCFOC.ResponsavelTecnicoNaoHabilitadoParaCultura); return(false); } if (DateTime.Parse(habilitacao.ValidadeRegistro) < DateTime.Today) { Validacao.Add(Mensagem.EmissaoCFOC.ValidadeRegistroMenorAtual); return(false); } foreach (var item in entidade.Pragas) { if (!habilitacao.Pragas.Exists(y => y.Praga.Id == item.Id)) { Validacao.Add(Mensagem.EmissaoCFOC.PragaNaoAssociadaHabilitacao(item.NomeCientifico, item.NomeComum)); return(false); } } List <string> aux = new List <string>(); foreach (var habPraga in habilitacao.Pragas) { foreach (var cultivarItem in habPraga.Praga.Culturas.SelectMany(x => x.LstCultivar)) { foreach (var item in cultivares) { if (cultivarItem.Id == item.Id && DateTime.Parse(habPraga.DataFinalHabilitacao) < DateTime.Today) { if (!aux.Any(a => a == cultivarItem.Nome)) { aux.Add(cultivarItem.Nome); } } } } } if (aux.Count > 0) { if ((eDocumentoFitossanitarioTipoNumero)entidade.TipoNumero == eDocumentoFitossanitarioTipoNumero.Bloco) { Validacao.Add(Mensagem.EmissaoCFOC.ResponsavelTecnicoHabilitacaoPragaVencidaBloco(Mensagem.Concatenar(aux))); } else { Validacao.Add(Mensagem.EmissaoCFOC.ResponsavelTecnicoHabilitacaoPragaVencidaDigital(Mensagem.Concatenar(aux))); } } return(Validacao.EhValido); }
public void AlterarSituacaoCampoInfracao(int campoId, int situacaoNova) { List <String> configAssociadas = _da.ObterIdsConfiguracoesAssociadasCampoInfracao(campoId); if (configAssociadas.Count > 0 && situacaoNova == 0) { Validacao.Add(Mensagem.FiscalizacaoConfiguracao.CampoInfracaoNaoPodeDesativar(Mensagem.Concatenar(configAssociadas))); } else { _da.AlterarSituacaoCampoInfracao(campoId, situacaoNova); Validacao.Add(Mensagem.FiscalizacaoConfiguracao.CampoSituacaoAlterada); } }