示例#1
0
        private static void Processamentos(bool isDevelopment, int grvId, int identificadorNota = 0)
        {
            //DataBase.DisconnectDataBase();

            //if (DataBase.SystemEnvironment == SystemEnvironment.Development)
            //{
            //    DataBase.ConnectDataBase("Data Source=187.84.228.60;Initial Catalog=dbMobLinkDepositoPublicoDesenvolvimento;Persist Security Info=True;User ID=dp_user_dev;Password=5y3d#%&&!x");
            //}
            //else
            //{
            //    DataBase.ConnectDataBase("Data Source=187.84.228.60;Initial Catalog=dbMobLinkDepositoPublicoProducao;Persist Security Info=True;User ID=dp_user_prd;Password=4y3d#%&&!x");
            //}

            // DataBase.ConnectDataBase();

            // var grvs = new GrvController().Listar(new GrvEntity { StatusOperacaoId = 'E', ClienteId = 49 });

            // 943312
            // 877968

            var grvs = new GrvController().Listar(new GrvEntity {
                NumeroFormularioGrv = "900691870"
            });

            foreach (var grv in grvs)
            {
                try
                {
                    var nfe = new NfeGerarNotaFiscalController().GerarNotaFiscal
                              (
                        grvId: grv.GrvId,

                        usuarioId: 1,

                        isDev: isDevelopment
                              );

                    for (int i = 0; i < nfe.Count; i++)
                    {
                        Console.WriteLine("MENSAGEM: " + nfe[i]);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("ERRO: " + ex.Message);
                }
            }

            if (grvs != null)
            {
                grvId = grvs[0].GrvId;

                if (grvs.Count > 1)
                {
                    Debug.WriteLine($"FORAM ENCONTRADOS MAIS DE UM GRV");

                    Console.WriteLine($"FORAM ENCONTRADOS MAIS DE UM GRV");

                    Console.ReadLine();

                    Environment.Exit(-1);
                }
            }
            else
            {
                Debug.WriteLine($"NÚMERO DE GRV NÃO ENCONTRADO");

                Console.WriteLine($"NÚMERO DE GRV NÃO ENCONTRADO");

                Console.ReadLine();

                Environment.Exit(-1);
            }

            Debug.WriteLine($"GRV ID: {grvId}");

            Console.WriteLine($"GRV ID: {grvId}");

            // NfeExcluirController.Excluir(749458);

            grvId = 949073;

            #region Teste de Solicitação Simplificado
            try
            {
                var nfe = new NfeGerarNotaFiscalController().GerarNotaFiscal
                          (
                    grvId: grvId,

                    usuarioId: 1,

                    isDev: isDevelopment
                          );

                for (int i = 0; i < nfe.Count; i++)
                {
                    Console.WriteLine("MENSAGEM: " + nfe[i]);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERRO: " + ex.Message);
            }
            #endregion Teste de Solicitação Simplificado


            grvId = 949073;

            #region Teste de Solicitação de uma nova NF
            try
            {
                var novaNfe = new NfeGerarNotaFiscalController().GerarNovaNotaFiscal
                              (
                    grvId: grvId,

                    identificadorNota: "801814",

                    usuarioId: 1,

                    isDev: isDevelopment
                              );

                Console.WriteLine("MENSAGEM: " + novaNfe[0]);

                //novaNfe = new NfeGerarNotaFiscalController().GerarNovaNotaFiscal
                //(
                //    grvId: grvId,

                //    identificadorNota: 753803,

                //    usuarioId: 1,

                //    isDev: IsTestEnvironment
                //);

                //Console.WriteLine("MENSAGEM: " + novaNfe[0]);
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERRO: " + ex.Message);
            }
            #endregion Teste de Solicitação de uma nova NF


            #region Teste de retorno da Nota Fiscal (Download da NF)
            try
            {
                var aux = new NfeReceberNotaFiscalController().ReceberNotaFiscal(new Consulta
                {
                    GrvId = grvId,

                    IdentificadorNota = "762905",

                    Homologacao = isDevelopment,

                    UsuarioId = 1
                });

                Console.WriteLine("MENSAGEM: " + aux);

                if (true)
                {
                }

                //aux = new NfeReceberNotaFiscalController().ReceberNotaFiscal(new Consulta
                //{
                //    GrvId = grvId,

                //    IdentificadorNota = "751627",

                //    Homologacao = IsTestEnvironment,

                //    UsuarioId = 1
                //});

                //Console.WriteLine("MENSAGEM: " + aux);
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERRO: " + ex.Message);
            }
            #endregion Teste de retorno da Nota Fiscal (Download da NF)


            #region Teste de cancelamento da Nota Fiscal
            //try
            //{
            //    var aux = new NfeCancelamentoController().CancelarNotaFiscal(new Cancelamento
            //    {
            //        GrvId = grvId,

            //        IdentificadorNota = "",

            //        Justificativa = "TESTE",

            //        Homologacao = IsTestEnvironment,

            //        UsuarioId = 1
            //    });

            //    Console.WriteLine("MENSAGEM: " + aux);
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine("ERRO: " + ex.Message);
            //}
            #endregion Teste de cancelamento da Nota Fiscal
            // using NFSE.Domain.Entities.NFe;
            var capaAutorizacaoNfse = new CapaAutorizacaoNfse
            {
                IdentificadorNota = "",

                Autorizacao = new Autorizacao
                {
                    data_emissao             = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"),
                    natureza_operacao        = "1",
                    optante_simples_nacional = "false",

                    prestador = new Prestador
                    {
                        cnpj                = "08397160003658",
                        codigo_municipio    = "5103403",
                        inscricao_municipal = "172692"
                    },

                    servico = new Servico
                    {
                        aliquota    = "5.00",
                        codigo_cnae = "5223100",
                        codigo_tributario_municipio = "",
                        discriminacao      = "ISS Tributado de acordo com a Lei Complementar Nº 460 de 22/10/2008 Processo Nº 9094604500 - Carga Tributária 18,45% fonte IBPT Serviços de Transporte/Remoção de Veículos",
                        item_lista_servico = "1101",
                        iss_retido         = "false",
                        valor_iss          = "0.05",
                        valor_servicos     = "1.0"
                    },

                    tomador = new Tomador()
                    {
                        cpf          = "07172853750",
                        email        = "*****@*****.**",
                        razao_social = "CRISTINEY SOARES",
                        telefone     = "2199999999",

                        endereco = new Endereco
                        {
                            bairro      = "Maria Paula",
                            cep         = "24756660",
                            complemento = "Bloco 12 Apto 403",
                            logradouro  = "estrada da paciencia",
                            numero      = "2939",
                            uf          = "RJ"
                        }
                    }
                }
            };

            try
            {
                var nfe = new NfeSolicitarEmissaoNotaFiscalController().SolicitarEmissaoNotaFiscalAvulso(capaAutorizacaoNfse);

                // Console.WriteLine(result + Environment.NewLine);
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERRO: " + ex.Message);
            }
        }
示例#2
0
        public string CancelarNotaFiscal(Cancelamento model)
        {
            DataBase.SystemEnvironment = model.Homologacao ? SystemEnvironment.Development : SystemEnvironment.Production;

            var nfe = new NfeController().ConsultarNotaFiscal(model.GrvId, model.UsuarioId, model.IdentificadorNota, Acao.Cancelamento);

            if (nfe == null)
            {
                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, model.IdentificadorNota, OrigemErro.MobLink, Acao.Retorno, "Nota Fiscal não encontrada");

                return($"Nota Fiscal {model.GrvId}/{model.IdentificadorNota} não encontrada");
            }

            var grv = new GrvController().Selecionar(model.GrvId);

            #region Empresa
            EmpresaEntity Empresa;

            if ((Empresa = new EmpresaController().Selecionar(new EmpresaEntity {
                EmpresaId = new DepositoController().Selecionar(grv.DepositoId).EmpresaId
            })) == null)
            {
                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, model.IdentificadorNota, OrigemErro.MobLink, Acao.Retorno, "Empresa associada não encontrada");

                return("Empresa associada não encontrada");
            }
            else if (Empresa.Token == null)
            {
                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, model.IdentificadorNota, OrigemErro.MobLink, Acao.Retorno, $"Empresa {Empresa.Nome} sem Token cadastrado");

                return($"Empresa {Empresa.Nome} sem Token cadastrado");
            }
            #endregion Empresa

            var tools = new Tools();

            string jsonEnvio = tools.ObjToJSON(new Dictionary <string, string>()
            {
                {
                    "justificativa",
                    model.Justificativa
                }
            });

            string jsonRetorno;

            try
            {
                jsonRetorno = tools.CancelarNfse(new NfeConfiguracao().GetRemoteServer() + "/" + model.IdentificadorNota, jsonEnvio, Empresa.Token);
            }
            catch (Exception ex)
            {
                new NfeWsErroController().CadastrarErroGenerico(nfe.GrvId, model.UsuarioId, nfe.IdentificadorNota, OrigemErro.WebService, Acao.Cancelamento, "Ocorreu um erro ao cancelar a Nota Fiscal: " + ex.Message);

                return($"Ocorreu um erro ao cancelar a Nota Fiscal ({model.GrvId}/{model.IdentificadorNota}): {ex.Message}");
            }

            try
            {
                var retornoConsulta = new JavaScriptSerializer()
                {
                    MaxJsonLength = int.MaxValue
                }.Deserialize <RetornoCancelamentoEntity>(jsonRetorno);

                if (retornoConsulta.erros != null)
                {
                    var retornoErro = new NfeWsErroModel();

                    foreach (var erro in retornoConsulta.erros)
                    {
                        retornoErro.GrvId             = model.GrvId;
                        retornoErro.IdentificadorNota = model.IdentificadorNota;
                        retornoErro.UsuarioId         = model.UsuarioId;
                        retornoErro.Acao       = (char)Acao.Retorno;
                        retornoErro.OrigemErro = (char)OrigemErro.WebService;
                        retornoErro.Status     = retornoConsulta.status.Trim().ToUpper();

                        if (erro.codigo != null)
                        {
                            retornoErro.CodigoErro = erro.codigo.Replace("  ", " ").Trim().ToUpper();
                        }

                        if (erro.mensagem != null)
                        {
                            retornoErro.MensagemErro = erro.mensagem.Replace("  ", " ").Trim();
                        }

                        if (erro.correcao != null)
                        {
                            retornoErro.CorrecaoErro = erro.correcao.Replace("  ", " ").Trim();
                        }

                        retornoErro.ErroId = new NfeWsErroController().Cadastrar(retornoErro);
                    }

                    return(jsonRetorno);
                }
            }
            catch (Exception ex)
            {
                if (true)
                {
                }
            }



            nfe.Status = 'N';

            new NfeController().Atualizar(nfe);

            return(jsonRetorno);
        }
        public string SolicitarEmissaoNotaFiscal(CapaAutorizacaoNfse model)
        {
            DataBase.SystemEnvironment = model.Homologacao ? SystemEnvironment.Development : SystemEnvironment.Production;

            var nfe = new NfeController().ConsultarNotaFiscal(model.GrvId, model.UsuarioId, model.IdentificadorNota, Acao.Solicitação);

            var grv = new GrvController().Selecionar(model.GrvId);

            var ClienteDeposito = new ClienteDepositoController().Selecionar(new ClienteDepositoEntity {
                ClienteId = grv.ClienteId, DepositoId = grv.DepositoId
            });

            #region Empresa
            EmpresaEntity Empresa;

            if ((Empresa = new EmpresaController().Selecionar(new EmpresaEntity {
                EmpresaId = ClienteDeposito.EmpresaId
            })) == null)
            {
                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, null, OrigemErro.MobLink, Acao.Retorno, "Empresa associada não encontrada");

                throw new Exception("Empresa associada não encontrada");
            }
            #endregion Empresa

            string resposta;

            string json;

            try
            {
                json = CreateJson(model);
            }
            catch (Exception ex)
            {
                nfe.Status = 'E';

                new NfeController().Atualizar(nfe);

                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, nfe.IdentificadorNota, OrigemErro.WebService, Acao.Solicitação, "Ocorreu um erro ao criar o JSON da Nota Fiscal: " + ex.Message);

                throw new Exception("Ocorreu um erro ao criar o JSON da Nota Fiscal (" + model.IdentificadorNota + "): " + ex.Message);
            }

            try
            {
                resposta = new Tools().PostNfse
                           (
                    uri: new NfeConfiguracao().GetRemoteServer() + "?ref=" + model.IdentificadorNota,
                    json: json,
                    token: Empresa.Token
                           );
            }
            catch (Exception ex)
            {
                nfe.Status = 'E';

                new NfeController().Atualizar(nfe);

                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, nfe.IdentificadorNota, OrigemErro.WebService, Acao.Solicitação, "Ocorreu um erro ao solicitar a Nota Fiscal: " + ex.Message);

                throw new Exception("Ocorreu um erro ao solicitar a Nota Fiscal (" + model.IdentificadorNota + "): " + ex.Message);
            }

            try
            {
                new NfeRetornoSolicitacaoController().Cadastrar(nfe, model, resposta, json);
            }
            catch (Exception ex)
            {
                nfe.Status = 'E';

                new NfeController().Atualizar(nfe);

                new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, nfe.IdentificadorNota, OrigemErro.MobLink, Acao.Solicitação, "Ocorreu um erro ao cadastrar a solicitação da Nota Fiscal: " + ex.Message);

                throw new Exception("Ocorreu um erro ao cadastrar a solicitação da Nota Fiscal (" + model.IdentificadorNota + "): " + ex.Message);
            }

            return(resposta);
        }