public ActionResult VerificarNotaFiscalCaixa(NotaFiscalCaixa notaFiscal)
        {
            notaFiscal = _busPTV.VerificarNumeroNFCaixa(notaFiscal);

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @nfCaixa = notaFiscal
            }));
        }
Example #2
0
        public bool ValidarNumeroNotaFiscalDeCaixa(NotaFiscalCaixa notaFiscal)
        {
            var tipoCaixa = _da.ValidarNumeroNotaFiscalDeCaixa(notaFiscal);

            if (!String.IsNullOrEmpty(tipoCaixa))
            {
                Validacao.Add(Mensagem.PTV.NumeroDiferenteDoTipo(notaFiscal.notaFiscalCaixaNumero, tipoCaixa));
                return(false);
            }
            return(true);
        }
Example #3
0
 public NotaFiscalCaixa VerificarNumeroNFCaixa(NotaFiscalCaixa notaFiscal)
 {
     try
     {
         return(_da.VerificarNumeroNFCaixa(notaFiscal));
     }
     catch (Exception exc)
     {
         Validacao.AddErro(exc);
     }
     return(null);
 }
Example #4
0
 public NotaFiscalCaixa VerificarNumeroNFCaixa(NotaFiscalCaixa notaFiscal)
 {
     try
     {
         if (_validar.VerificarCPFCNPJ((int)notaFiscal.PessoaAssociadaTipo, notaFiscal.PessoaAssociadaCpfCnpj))
         {
             return(_da.VerificarNumeroNFCaixa(notaFiscal));
         }
     }
     catch (Exception exc)
     {
         Validacao.AddErro(exc);
     }
     return(new NotaFiscalCaixa());
 }
Example #5
0
        internal bool Salvar(PTV ptv)
        {
            if (!FuncionarioHabilitadoValido())
            {
                return(false);
            }

            if (!ValidarSituacao(ptv))
            {
                return(Validacao.EhValido);
            }

            if (ptv.NumeroTipo != (int)eDocumentoFitossanitarioTipoNumero.Digital && ptv.NumeroTipo != (int)eDocumentoFitossanitarioTipoNumero.Bloco)
            {
                Validacao.Add(Mensagem.PTV.TipoNumeroObrigatorio);
            }
            if (ptv.NumeroTipo == (int)eDocumentoFitossanitarioTipoNumero.Bloco && ptv.Numero <= 0)
            {
                Validacao.Add(Mensagem.PTV.NumeroPTVObrigatorio);
            }

            ValidacoesGenericasBus.DataMensagem(ptv.DataEmissao, "DataEmissao", "emissão");


            if (ptv.Situacao <= 0)
            {
                Validacao.Add(Mensagem.PTV.SituacaoObrigatorio);
            }


            if (ptv.Produtos.Count > 0 && ((!ptv.Produtos[0].SemDoc) &&
                                           (ptv.Produtos[0].OrigemTipo <= (int)eDocumentoFitossanitarioTipo.PTVOutroEstado)))
            {
                if (ptv.Empreendimento <= 0)
                {
                    Validacao.Add(Mensagem.PTV.EmpreendimentoObrigatorio);
                }

                if (ptv.ResponsavelEmpreendimento <= 0)
                {
                    Validacao.Add(Mensagem.PTV.ResponsavelEmpreend_Obrigatorio);
                }
            }

            if (ptv.Produtos.Count <= 0)
            {
                Validacao.Add(Mensagem.PTV.Identificacao_Produto_Obrigatorio);
            }
            else
            {
                ptv.Produtos.ForEach(produto =>
                {
                    ValidarProduto(produto, ptv.DataEmissao, ptv.Produtos, ptv.Id);
                });
            }

            if (!ptv.PartidaLacradaOrigem.HasValue)
            {
                Validacao.Add(Mensagem.PTV.PartidaLacrada_Obrigatorio);
            }

            if (ptv.PartidaLacradaOrigem == (int)ePartidaLacradaOrigem.Sim && (String.IsNullOrEmpty(ptv.LacreNumero) && String.IsNullOrEmpty(ptv.PoraoNumero) && String.IsNullOrEmpty(ptv.ContainerNumero)))
            {
                Validacao.Add(Mensagem.PTV.Lacre_porao_container_Obrigatorio);
            }

            if (ptv.DestinatarioID <= 0)
            {
                Validacao.Add(Mensagem.PTV.DestinatarioObrigatorio);
            }

            if (ptv.TransporteTipo <= 0)
            {
                Validacao.Add(Mensagem.PTV.TipoTransporteObrigatorio);
            }

            if (String.IsNullOrEmpty(ptv.VeiculoIdentificacaoNumero))
            {
                Validacao.Add(Mensagem.PTV.IdentificacaoVeiculoObrigatorio);
            }

            if (!ptv.RotaTransitoDefinida.HasValue)
            {
                Validacao.Add(Mensagem.PTV.RotaTransitoObrigatorio);
            }
            if (ptv.RotaTransitoDefinida == (int)eRotaTransitoDefinida.Sim && String.IsNullOrEmpty(ptv.Itinerario))
            {
                Validacao.Add(Mensagem.PTV.Itinerário_Obrigatorio);
            }

            if (!ptv.NotaFiscalApresentacao.HasValue || ptv.NotaFiscalApresentacao == (int)eApresentacaoNotaFiscal.Nao)
            {
                Validacao.Add(Mensagem.PTV.ApresentaçãoNotaFiscal_Obrigatorio);
            }

            if (ptv.NotaFiscalApresentacao == (int)eApresentacaoNotaFiscal.Sim && String.IsNullOrEmpty(ptv.NotaFiscalNumero))
            {
                Validacao.Add(Mensagem.PTV.NumeroNotaFiscal_Obrigatorio);
            }

            if (ValidacoesGenericasBus.DataMensagem(ptv.ValidoAte, "DataValidade", "validação", false))
            {
                if (ptv.ValidoAte.Data < ptv.DataEmissao.Data)
                {
                    Validacao.Add(Mensagem.PTV.DataValidadeMenorDataEmissao);
                }
                else
                {
                    DateTime data = (DateTime)ptv.ValidoAte.Data;
                    DateTime dt   = DateTime.Today.AddDays(30).Subtract(TimeSpan.FromSeconds(1));
                    if (data > dt)
                    {
                        Validacao.Add(Mensagem.PTV.DataValidadeInvalida);
                    }
                }
            }

            if (ptv.ResponsavelTecnicoId <= 0)
            {
                Validacao.Add(Mensagem.PTV.ResponsavelTecnicoObrigatorio);
            }

            if (ptv.LocalEmissaoId <= 0)
            {
                Validacao.Add(Mensagem.PTV.LocalDeEmissaoObrigatorio);
            }

            if (ptv.NFCaixa.notaFiscalCaixaApresentacao == 1 && ptv.NotaFiscalDeCaixas.Count() <= 0)
            {
                Validacao.Add(Mensagem.PTV.NenhumaNFCaixaAdicionada);
            }
            else
            {
                foreach (var nf in ptv.NotaFiscalDeCaixas)
                {
                    NotaFiscalCaixa nfDa = _da.VerificarNumeroNFCaixa(nf);

                    if (nfDa.id > 0 && nf.numeroCaixas > nfDa.saldoAtual)
                    {
                        Validacao.Add(Mensagem.PTV.NumeroDeCaixasMaiorQueSaldoAtual);
                    }
                }
            }

            if ((ptv.NFCaixa.notaFiscalCaixaApresentacao == 1 && ptv.NotaFiscalDeCaixas.Count() <= 0))
            {
                Validacao.Add(Mensagem.PTV.NenhumaNFCaixaAdicionada);
            }

            if (ptv.Produtos.Any(x => x.Cultura == (int)eCultura.Banana) && ptv.NotaFiscalDeCaixas.Count() <= 0)
            {
                Validacao.Add(Mensagem.PTV.NenhumaNFCaixaAdicionadaECulturaBanana);
            }

            return(Validacao.EhValido);
        }