Beispiel #1
0
        public ActionResult TesteWs()
        {
            string         lstrAvisos;
            NFSePmspSender nfse = new NFSePmspSender();

            nfse.Empresa = getEmpresa(out lstrAvisos);
            return(View(nfse));
        }
Beispiel #2
0
        public ActionResult TesteWs(NFSePmspSender emp)
        {
            NFSePmspSender lobjNfe = new NFSePmspSender();
            IEnvioParam    param   = null;
            string         lstrAvisoForn;

            switch (emp.Operacao)
            {
            case enmOperacaoNfsePmsp.eEnvioLote:
            case enmOperacaoNfsePmsp.eTesteEnvio:
            case enmOperacaoNfsePmsp.eCancelamentoNF:
                param = new EnvioParamListaFaturamentos(emp.Operacao);
                break;

            case enmOperacaoNfsePmsp.eConsultaRecebidasPeriodo:
            case enmOperacaoNfsePmsp.eConsultaEnviadaPeriodo:
                param = new EnvioParamPeriodo(emp.Operacao, DateTime.Now.Date.AddMonths(-1), DateTime.Now.Date);
                break;

            case enmOperacaoNfsePmsp.eConsultaCNPJ:
                param = new EnvioParamConsultaCNPJ();
                break;

            default:
                break;
            }
            if (param != null)
            {
                lobjNfe.iniciaEnvio(param, getEmpresa(out lstrAvisoForn), 1);
            }
            else
            {
                lobjNfe.Erros.Add("Nao foi definido o parametro de envio da NF");
            }


            return(View(lobjNfe));
        }
Beispiel #3
0
        private Empresa getEmpresa(out string astrAvisos)
        {
            NFSePmspSender nfse            = new NFSePmspSender();
            Empresa        lobjEmpresa     = new Empresa();
            string         lstrCertificado = Certificado.getCurrentSerial(out lobjEmpresa);

            lobjEmpresa.SerialCertificado = lstrCertificado;
            nfse.iniciaEnvio(new EnvioParamConsultaCNPJ(), lobjEmpresa, 1);
            lobjEmpresa.CcmPmsp = nfse.InscricaoMunicipalCCM;
            lobjEmpresa.EmiteNF = nfse.EmiteNF.ToString();
            astrAvisos          = string.Empty;

            if (string.IsNullOrEmpty(lobjEmpresa.CcmPmsp) == false)
            {
                try
                {
                    CadastroPessoaPMSP lobjCmmResult = ListResultadoCcm.getDadosFromPMSPByCcm(lobjEmpresa.CcmPmsp);
                    if (lobjCmmResult.SituacaoCcm == enmSituacaoCcm.eCcmEncontrado)
                    {
                        if (string.IsNullOrEmpty(lobjEmpresa.CNPJ))
                        {
                            lobjEmpresa.CNPJ = lobjCmmResult.CpfCnpj;
                        }

                        if (Utils.LimpaCpfCnpj(lobjEmpresa.CNPJ) == Utils.LimpaCpfCnpj(lobjCmmResult.CpfCnpj))
                        {
                            lobjEmpresa.ListaServicos = lobjCmmResult.Servicos;
                            if (lobjCmmResult.Servicos.Count >= 1)
                            {
                                lobjEmpresa.CodigoServicoPMSP = lobjCmmResult.Servicos[0].Codigo;
                            }
                            lobjEmpresa.Nome = lobjCmmResult.RazaoSocial;
                            switch (lobjCmmResult.TipoPessoa)
                            {
                            case "PJ SIMPLES":
                                lobjEmpresa.OptanteSimplesNacional = "S";
                                break;

                            case "PJ COMUM":
                                lobjEmpresa.OptanteSimplesNacional = "N";
                                break;

                            default:
                                break;
                            }
                        }
                        else
                        {
                            astrAvisos = "O CNPJ encontrado no certificado não é o mesmo cadastrado na prefeitura, favor consulte o analista responsável";
                        }
                    }
                    else
                    {
                        astrAvisos = "Não foi encontrado um CCM válido, favor consulte o analista responsável";
                    }
                }
                catch (Exception Erro)
                {
                    astrAvisos = "Ocorreu o seguinte erro ao obter os dados da prefeitura " + Erro.Message;
                }
            }
            else
            {
                astrAvisos = "Devido a falta de identificação de CCM via web service da prefeitura, não é possível identificar demais dados";
            }

            return(lobjEmpresa);
        }