public int Cadastrar(NfeEntity model) { var SQL = new StringBuilder(); SQL.AppendLine("INSERT INTO dbo.tb_dep_nfe"); SQL.AppendLine(" (GrvID"); SQL.AppendLine(" ,UsuarioCadastroID"); SQL.AppendLine(" ,Cnpj"); SQL.AppendLine(" ,IdentificadorNota"); SQL.AppendLine(" ,NfeComplementarId"); SQL.AppendLine(" ,Status)"); SQL.AppendLine("VALUES"); SQL.Append(" (").Append(model.GrvId).AppendLine(); SQL.Append(" ,").Append(model.UsuarioCadastroId).AppendLine(); SQL.Append(" ,'").Append(model.Cnpj).AppendLine("'"); SQL.Append(" ,'").Append(model.IdentificadorNota).AppendLine("'"); if (model.NfeComplementarId == null) { SQL.AppendLine(" ,NULL"); SQL.AppendLine(" ,'A')"); } else { SQL.Append(" ,").Append(model.NfeComplementarId).AppendLine(); SQL.AppendLine(" ,'R')"); } return(DataBase.ExecuteScopeIdentity(SQL)); }
public List <NfeEntity> Listar(NfeEntity model, bool selecionarNotaFiscalCancelada = false) { var SQL = new StringBuilder(); SQL.AppendLine("SELECT tb_dep_nfe.NfeId"); SQL.AppendLine(" ,tb_dep_nfe.GrvId"); SQL.AppendLine(" ,tb_dep_nfe.IdentificadorNota"); SQL.AppendLine(" ,tb_dep_nfe.NfeComplementarId"); SQL.AppendLine(" ,tb_dep_nfe.UsuarioCadastroId"); SQL.AppendLine(" ,tb_dep_nfe.Cnpj"); SQL.AppendLine(" ,tb_dep_nfe.Numero"); SQL.AppendLine(" ,tb_dep_nfe.CodigoVerificacao"); SQL.AppendLine(" ,tb_dep_nfe.CodigoRetorno"); SQL.AppendLine(" ,tb_dep_nfe.Url"); SQL.AppendLine(" ,tb_dep_nfe.Status"); SQL.AppendLine(" ,tb_dep_nfe.StatusNfe"); SQL.AppendLine(" ,tb_dep_nfe.DataEmissao"); SQL.AppendLine(" ,tb_dep_nfe.DataCadastro"); SQL.AppendLine(" ,tb_dep_nfe.DataAlteracao"); SQL.AppendLine(" FROM dbo.tb_dep_nfe"); SQL.AppendLine(" WHERE 1 = 1"); if (!string.IsNullOrWhiteSpace(model.IdentificadorNota)) { SQL.Append(" AND IdentificadorNota = '").Append(model.IdentificadorNota).AppendLine("'"); } else { SQL.Append(" AND GrvId = ").Append(model.GrvId).AppendLine(); } if (!selecionarNotaFiscalCancelada) { SQL.AppendLine(" AND Status NOT IN ('N','E','I')"); } using (var dataTable = DataBase.Select(SQL)) { return(dataTable == null ? null : DataTableUtil.DataTableToList <NfeEntity>(dataTable)); } }
public int AguardandoProcessamento(NfeEntity model) { var SQL = new StringBuilder(); SQL.AppendLine("UPDATE dbo.tb_dep_nfe"); SQL.Append(" SET Status = '").Append(model.Status).AppendLine("'"); if (model.CodigoRetorno != null && model.CodigoRetorno > 0) { SQL.Append(" ,CodigoRetorno = ").Append(model.CodigoRetorno).AppendLine(); } SQL.AppendLine(" ,DataAlteracao = GETDATE()"); SQL.Append(" WHERE NfeID = ").Append(model.NfeId).AppendLine(); return(DataBase.Execute(SQL)); }
private RetornoNotaFiscalEntity ProcessarRetornoAvulso(NfeEntity nfe, Consulta identificaoNotaFiscal, string retornoJson) { RetornoNotaFiscalEntity retornoConsulta = new JavaScriptSerializer() { MaxJsonLength = int.MaxValue }.Deserialize <RetornoNotaFiscalEntity>(retornoJson); if (retornoConsulta.status.Trim().Equals("processando_autorizacao", StringComparison.CurrentCultureIgnoreCase)) { return(retornoConsulta); } if (retornoConsulta.erros != null) { nfe.Status = 'E'; new NfeController().Atualizar(nfe); return(retornoConsulta); } if (!string.IsNullOrWhiteSpace(retornoConsulta.url)) { retornoConsulta.url = retornoConsulta.url.Replace("nfse.aspx", "/NFSE/contribuinte/notaprintimg.aspx"); if (!string.IsNullOrWhiteSpace(retornoConsulta.url)) { retornoConsulta.Html = BaixarImagemAvulsa(nfe.IdentificadorNota, retornoConsulta.url); } if (identificaoNotaFiscal.BaixarImagemOriginal) { return(retornoConsulta); } nfe.Status = nfe.Status == 'A' ? 'P' : 'T'; new NfeController().AtualizarRetornoNotaFiscal(nfe, retornoConsulta); } return(retornoConsulta); }
private NfeEntity CadastrarNfe(int grvId, string cnpj, string identificadorNota, int usuarioId, int nfeComplementarId = 0) { var Nfe = new NfeEntity { GrvId = grvId, Cnpj = cnpj, UsuarioCadastroId = usuarioId, IdentificadorNota = identificadorNota }; if (nfeComplementarId > 0) { Nfe.NfeComplementarId = nfeComplementarId; } Nfe.NfeId = new NfeController().Cadastrar(Nfe); return(new NfeController().ListarPorIdentificadorNota(identificadorNota).FirstOrDefault()); }
public int AtualizarRetornoNotaFiscal(NfeEntity nfe, RetornoNotaFiscalEntity retornoNotaFiscal) { var SQL = new StringBuilder(); SQL.AppendLine("UPDATE dbo.tb_dep_nfe"); SQL.Append(" SET Referencia = '").Append([email protected]()).AppendLine("'"); if (retornoNotaFiscal.numero_rps != null) { SQL.Append(" ,Numero = '").Append(retornoNotaFiscal.numero_rps.Trim()).AppendLine("'"); SQL.Append(" ,NumeroRps = '").Append(retornoNotaFiscal.numero_rps.Trim()).AppendLine("'"); } if (retornoNotaFiscal.serie_rps != null) { SQL.Append(" ,SerieRps = '").Append(retornoNotaFiscal.serie_rps.Trim()).AppendLine("'"); } SQL.Append(" ,StatusNfe = '").Append(retornoNotaFiscal.status.Trim()).AppendLine("'"); SQL.Append(" ,NumeroNotaFiscal = '").Append(retornoNotaFiscal.numero.Trim()).AppendLine("'"); SQL.Append(" ,CodigoVerificacao = '").Append(retornoNotaFiscal.codigo_verificacao.Trim()).AppendLine("'"); SQL.Append(" ,DataEmissao = '").Append(retornoNotaFiscal.data_emissao.ToString("yyyyMMdd HH:mm:ss")).AppendLine("'"); SQL.Append(" ,Url = '").Append(retornoNotaFiscal.url.Trim()).AppendLine("'"); SQL.Append(" ,CaminhoXmlNotaFiscal = '").Append(retornoNotaFiscal.caminho_xml_nota_fiscal.Trim()).AppendLine("'"); SQL.Append(" ,Status = '").Append(nfe.Status).AppendLine("'"); SQL.Append(" WHERE NfeID = ").Append(nfe.NfeId).AppendLine(); return(DataBase.Execute(SQL)); }
private bool ProcessarResultado(string json, int usuarioId, NfeEntity nfe) { try { var results = JsonConvert.DeserializeObject <dynamic>(json); if (json.Contains("processando_autorizacao")) { nfe.CodigoRetorno = int.Parse(results["ref"].ToString().Replace("{", "").Replace("}", "")); new NfeMensagemController().Cadastrar(new NfeMensagemEntity { NfeId = nfe.NfeId, Tipo = nfe.NfeComplementarId == null ? 'E' : 'R', Mensagem = (string)JObject.Parse(json)["status"] }); if (nfe.NfeComplementarId == null) { nfe.Status = 'A'; } else { nfe.Status = 'S'; } new NfeController().AguardandoProcessamento(nfe); return(true); } else { var retornoErro = new NfeWsErroModel { GrvId = nfe.GrvId, IdentificadorNota = nfe.IdentificadorNota, UsuarioId = usuarioId, Acao = (char)Acao.Retorno, OrigemErro = (char)OrigemErro.WebService, Status = results["codigo"], MensagemErro = results["mensagem"] }; retornoErro.Status = retornoErro.Status.Trim().ToUpper(); retornoErro.MensagemErro = retornoErro.MensagemErro.Trim(); retornoErro.ErroId = new NfeWsErroController().Cadastrar(retornoErro); nfe.Status = 'E'; new NfeController().Atualizar(nfe); return(false); } } catch (Exception ex) { throw new Exception(ex.Message); } }
private List <string> GerarNotaFiscal(int grvId, string identificadorNota, int usuarioId, bool isDev) { Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR"); DataBase.SystemEnvironment = isDev ? SystemEnvironment.Development : SystemEnvironment.Production; DataBase.SetContextInfo(usuarioId); var acao = Acao.Solicitação; var returnList = new List <string>(); #region NFe var NfeList = new List <NfeEntity>(); // STATUS: // C: Cadastro; // A: Aguardando Processamento (envio da solicitação com sucesso, para a Prefeitura); // P: Processado (download da Nfe e atualização da Nfe no Sistema concluídos com sucesso); // R: Reprocessar (marcação manual para o envio de uma nova solicitação de Nfe para o mesmo GRV, esta opção gera um novo registro de Nfe); // S: Aguardando Reprocessamento; // T: Reprocessado (conclusão do reprocessamento); // N: CaNcelado. // E: Erro (quando a Prefeitura indicou algum problema); // I: Inválido (quando ocorreu um erro Mob-Link); // M: Cadastro Manual var Nfe = new NfeEntity { GrvId = grvId, IdentificadorNota = identificadorNota }; if (!string.IsNullOrWhiteSpace(Nfe.IdentificadorNota)) { Nfe = new NfeController().Selecionar(Nfe, true); if (Nfe == null) { new NfeWsErroController().CadastrarErroGenerico(Nfe.GrvId, usuarioId, Nfe.IdentificadorNota, OrigemErro.MobLink, acao, "Nota Fiscal não encontrada"); returnList.Add("AVISO: Nota Fiscal não encontrada"); return(returnList); } // Erro / Inválido / Cancelado if (Nfe.Status != 'E' && Nfe.Status != 'I' && Nfe.Status != 'N') { new NfeWsErroController().CadastrarErroGenerico(Nfe.GrvId, usuarioId, Nfe.IdentificadorNota, OrigemErro.MobLink, acao, "Nota Fiscal não está apto para reprocessamento"); returnList.Add("AVISO: Nota Fiscal não está apto para reprocessamento"); return(returnList); } } else if ((NfeList = new NfeController().Listar(Nfe)) != null) { var status = new char[] { 'C', 'A', 'P', 'R', 'S', 'T', 'M' }; if (NfeList.Where(w => status.Contains(w.Status)).Count() > 0) { if (NfeList.Count == 1) { Nfe = NfeList.FirstOrDefault(); if (Nfe.Status == 'C' && Nfe.DataCadastro.Date < DateTime.Now.Date) { Nfe.Status = 'I'; new NfeController().Atualizar(Nfe); } else { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "GRV já possui Nota Fiscal cadastrada"); returnList.Add("AVISO: GRV já possui Nota Fiscal cadastrada"); return(returnList); } } else { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "GRV já possui Nota Fiscal cadastrada"); returnList.Add("AVISO: GRV já possui Nota Fiscal cadastrada"); return(returnList); } } } #endregion NFe // GRV var grv = new GrvController().Selecionar(grvId); // Cliente var Cliente = new ClienteController().Selecionar(grv.ClienteId); // Depósito var Deposito = new DepositoController().Selecionar(grv.DepositoId); // Cliente Depósito var ClienteDeposito = new ClienteDepositoController().Selecionar(new ClienteDepositoEntity { ClienteId = grv.ClienteId, DepositoId = grv.DepositoId }); #region Regras da Nfe var NfeRegras = new NfeRegraController().Listar(new NfeRegraEntity { ClienteDepositoId = ClienteDeposito.ClienteDepositoId, Ativo = 1, RegraAtivo = 1 }); #endregion Regras da Nfe #region Regras do Faturamento if (new RegraFaturamentoController().Selecionar(grv.ClienteId, grv.DepositoId, new TipoRegraFaturamentoController().Selecionar("NFE").FaturamentoRegraTipoId) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "CLIDEP sem regra de NFE definido"); returnList.Add("AVISO: CLIDEP sem regra de NFE definido"); return(returnList); } #endregion Regras do Faturamento #region Empresa var Empresa = new EmpresaEntity(); if ((Empresa = new EmpresaController().Selecionar(new EmpresaEntity { EmpresaId = ClienteDeposito.EmpresaId })) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "Empresa associada não encontrada"); returnList.Add("AVISO: Empresa associada não encontrada"); return(returnList); } #endregion Empresa #region Atendimento var Atendimento = new AtendimentoEntity(); if ((Atendimento = new AtendimentoController().Selecionar(grvId)) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "Atendimento não encontrado"); returnList.Add("AVISO: Atendimento não encontrado"); return(returnList); } #endregion Atendimento #region Faturamento var Faturamentos = new List <FaturamentoEntity>(); if ((Faturamentos = new FaturamentoController().Listar(Atendimento.AtendimentoId, 'P')) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "Faturamento não encontrado"); returnList.Add("AVISO: Faturamento não encontrado ou sem valor para pagamento"); return(returnList); } #endregion Faturamento #region Valores somados da Composição do Faturamento var ComposicoesAgrupadas = new List <NfeViewFaturamentoComposicaoAgrupadoEntity>(); if ((ComposicoesAgrupadas = new NfeViewFaturamentoComposicaoAgrupadoController().Listar(grvId)) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "Composição do Faturamento não encontrada"); returnList.Add("AVISO: Composição do Faturamento não encontrado"); return(returnList); } #endregion Valores somados da Composição do Faturamento #region Valores somados da Composição do Faturamento var ComposicoesAgrupadasDescricao = new List <NfeViewFaturamentoComposicaoAgrupadoDescricaoEntity>(); if ((ComposicoesAgrupadasDescricao = new NfeViewFaturamentoComposicaoAgrupadoDescricaoController().Listar(grvId)) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "Composição do Faturamento não encontrada"); returnList.Add("AVISO: Composição do Faturamento não encontrado"); return(returnList); } #endregion Valores somados da Composição do Faturamento #region Composições var Composicoes = new List <NfeViewFaturamentoComposicaoEntity>(); if ((Composicoes = new NfeViewFaturamentoComposicaoController().Listar(grvId, Nfe.NfeId)) == null) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, "Composição do Faturamento da Nota Fiscal não encontrada"); returnList.Add("AVISO: Composição do Faturamento não encontrado"); return(returnList); } #endregion Composições if (Nfe.NfeId > 0) { var Composicao = Composicoes.FirstOrDefault(); ComposicoesAgrupadas = ComposicoesAgrupadas.Where(w => w.CnaeId == Composicao.CnaeId && w.ListaServicoId == Composicao.ListaServicoId).ToList(); ComposicoesAgrupadasDescricao = ComposicoesAgrupadasDescricao.Where(w => w.CnaeId == Composicao.CnaeId && w.ListaServicoId == Composicao.ListaServicoId).ToList(); } var CapaAutorizacaoNfse = new CapaAutorizacaoNfse(); string json; List <NfeFaturamentoComposicaoEntity> NfeFaturamentoComposicaoList; StringBuilder descricaoConfiguracaoNfe = new StringBuilder(); foreach (var agrupamento in ComposicoesAgrupadas) { descricaoConfiguracaoNfe = new StringBuilder(); var aux = ComposicoesAgrupadasDescricao.Where(w => w.CnaeId == agrupamento.CnaeId && w.ListaServicoId == agrupamento.ListaServicoId).ToList(); foreach (var item in aux) { if (item.TipoDesconto != '\0') { descricaoConfiguracaoNfe.Append(item.DescricaoConfiguracaoNfe).Append(". QTD: ").Append(string.Format("{0:N2}", item.QuantidadeComposicao)).Append(". VALOR: R$ ").Append(string.Format("{0:N2}", item.ValorTipoComposicao)).Append(". DSCT: R$ ").Append(string.Format("{0:N2}", item.ValorDesconto)).Append(". TOT: R$ ").AppendLine(string.Format("{0:N2}", item.TotalComDesconto)); } else { descricaoConfiguracaoNfe.Append(item.DescricaoConfiguracaoNfe).Append(". QTD: ").Append(string.Format("{0:N2}", item.QuantidadeComposicao)).Append(". VALOR: R$ ").Append(string.Format("{0:N2}", item.ValorTipoComposicao)).Append(". TOT: R$ ").AppendLine(string.Format("{0:N2}", item.TotalComDesconto)); } } #region Preenchimento da Entidade try { CapaAutorizacaoNfse = new CapaAutorizacaoNfse { GrvId = grvId, IdentificadorNota = new DetranController().GetDetranSequence("NFE"), UsuarioId = usuarioId, Homologacao = isDev, Autorizacao = Autorizar(grv, Deposito, ClienteDeposito, NfeRegras, Empresa, Atendimento, agrupamento, descricaoConfiguracaoNfe.ToString().Trim(), isDev) }; } catch (Exception ex) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, ex.Message); returnList.Add(ex.Message); continue; } #endregion Preenchimento da Entidade #region Cadastro do Envio/Reenvio try { if (Nfe.NfeId == 0) { // Cadastro do Envio Nfe = CadastrarNfe(grvId, Empresa.Cnpj, CapaAutorizacaoNfse.IdentificadorNota, usuarioId); } else { // Cadastro do Reenvio Nfe = CadastrarNfe(grvId, Empresa.Cnpj, CapaAutorizacaoNfse.IdentificadorNota, usuarioId, Nfe.NfeId); } } catch (Exception ex) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, ex.Message); returnList.Add("Erro ao cadastrar a NF: " + ex.Message); continue; } Nfe.Cliente = Cliente.Nome; Nfe.Deposito = Deposito.Descricao; #endregion Cadastro do Envio/Reenvio #region Cadastro da Composição da Nota Fiscal NfeFaturamentoComposicaoList = new List <NfeFaturamentoComposicaoEntity>(); try { new NfeFaturamentoComposicaoController().Cadastrar(Nfe.NfeId, Composicoes.Where(w => w.Servico == agrupamento.Servico).ToList()); } catch (Exception ex) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, ex.Message); returnList.Add("Erro ao cadastrar a composição da NF: " + ex.Message); continue; } #endregion Cadastro da Composição da Nota Fiscal #region Execução do Web Service try { json = new NfeSolicitarEmissaoNotaFiscalController().SolicitarEmissaoNotaFiscal(CapaAutorizacaoNfse); } catch (Exception ex) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, ex.Message); returnList.Add("Erro na Execução do Web Service: " + ex.Message); continue; } returnList.Add(json); #endregion Execução do Web Service #region Processamento do resultado try { if (!ProcessarResultado(json, usuarioId, Nfe)) { continue; } } catch (Exception ex) { new NfeWsErroController().CadastrarErroGenerico(grvId, usuarioId, identificadorNota, OrigemErro.MobLink, acao, ex.Message); returnList.Add("Erro no processamento do resultado do Web Service: " + ex.Message); continue; } finally { Nfe = new NfeEntity(); } #endregion Processamento do resultado Nfe = new NfeEntity(); } return(returnList); }
private RetornoNotaFiscalEntity ProcessarRetorno(GrvEntity grv, NfeEntity nfe, Consulta identificaoNotaFiscal, string retornoJson) { RetornoNotaFiscalEntity retornoConsulta = new JavaScriptSerializer() { MaxJsonLength = int.MaxValue }.Deserialize <RetornoNotaFiscalEntity>(retornoJson); if (retornoConsulta.status.Trim().Equals("processando_autorizacao", StringComparison.CurrentCultureIgnoreCase)) { return(retornoConsulta); } NfeWsErroModel retornoErro = new NfeWsErroModel(); NfeWsErroController NfeWsErroController = new NfeWsErroController(); if (retornoConsulta.erros != null) { foreach (Erros erro in retornoConsulta.erros) { retornoErro.GrvId = identificaoNotaFiscal.GrvId; retornoErro.IdentificadorNota = identificaoNotaFiscal.IdentificadorNota; retornoErro.UsuarioId = identificaoNotaFiscal.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 = NfeWsErroController.Cadastrar(retornoErro); } nfe.Status = 'E'; new NfeController().Atualizar(nfe); return(retornoConsulta); } else { retornoErro.GrvId = identificaoNotaFiscal.GrvId; retornoErro.IdentificadorNota = identificaoNotaFiscal.IdentificadorNota; retornoErro.UsuarioId = identificaoNotaFiscal.UsuarioId; retornoErro.Acao = (char)Acao.Retorno; retornoErro.OrigemErro = (char)OrigemErro.WebService; retornoErro.Status = retornoConsulta.status.Trim().ToUpper(); NfeWsErroController.Cadastrar(retornoErro); } if (!string.IsNullOrWhiteSpace(retornoConsulta.url)) { retornoConsulta.url = retornoConsulta.url.Replace("nfse.aspx", "/NFSE/contribuinte/notaprintimg.aspx"); if (!string.IsNullOrWhiteSpace(retornoConsulta.url)) { retornoConsulta.ImagemNotaFiscal = BaixarImagem(grv.ClienteId, grv.DepositoId, nfe.IdentificadorNota, identificaoNotaFiscal, retornoConsulta.url); } if (identificaoNotaFiscal.BaixarImagemOriginal) { return(retornoConsulta); } nfe.Status = nfe.Status == 'A' ? 'P' : 'T'; new NfeImagemController().Excluir(nfe.NfeId); new NfeImagemController().Cadastrar(nfe.NfeId, retornoConsulta.ImagemNotaFiscal); new NfeController().AtualizarRetornoNotaFiscal(nfe, retornoConsulta); } return(retornoConsulta); }
private void AtualizarNotaFiscal(NfeEntity nfe) { nfe.Status = 'E'; new NfeController().Atualizar(nfe); }
public int Cadastrar(NfeEntity nfe, CapaAutorizacaoNfse capaAutorizacaoNfse, string resposta, string json) { var SQL = new StringBuilder(); SQL.AppendLine("INSERT INTO dbo.tb_dep_nfe_retorno_solicitacao"); SQL.AppendLine(" (NfeId"); SQL.AppendLine(" ,NaturezaOperacao"); SQL.AppendLine(" ,OptanteSimplesNacional"); SQL.AppendLine(" ,TomadorCpfCnpj"); SQL.AppendLine(" ,TomadorCnpj"); SQL.AppendLine(" ,TomadorNomeRazaoSocial"); SQL.AppendLine(" ,TomadorTelefone"); SQL.AppendLine(" ,TomadorEmail"); SQL.AppendLine(" ,TomadorEnderecoLogradouro"); SQL.AppendLine(" ,TomadorEnderecoNumero"); SQL.AppendLine(" ,TomadorEnderecoComplemento"); SQL.AppendLine(" ,TomadorEnderecoBairro"); SQL.AppendLine(" ,TomadorEnderecoCodigoMunicipio"); SQL.AppendLine(" ,TomadorEnderecoUf"); SQL.AppendLine(" ,TomadorEnderecoCep"); SQL.AppendLine(" ,ServicoAliquota"); SQL.AppendLine(" ,ServicoDiscriminacao"); SQL.AppendLine(" ,ServicoIssRetido"); SQL.AppendLine(" ,ServicoValorIss"); SQL.AppendLine(" ,ServicoCodigoCnae"); SQL.AppendLine(" ,ServicoItemListaServico"); SQL.AppendLine(" ,ServicoValorServicos"); SQL.AppendLine(" ,ServicoCodigoTributarioMunicipio"); SQL.AppendLine(" ,RespostaEnvio"); SQL.AppendLine(" ,Json"); SQL.AppendLine(" ,DataEmissao)"); SQL.AppendLine("VALUES"); SQL.Append(" (").Append(nfe.NfeId).AppendLine(); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.natureza_operacao)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(Convert.ToInt32(bool.Parse(capaAutorizacaoNfse.Autorizacao.optante_simples_nacional)).ToString())); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.cpf)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.cnpj)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.razao_social)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.telefone)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.email)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.logradouro)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.numero)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.complemento)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.bairro)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.codigo_municipio)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.uf)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.tomador.endereco.cep)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.aliquota)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.discriminacao)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(Convert.ToInt32(Convert.ToBoolean(capaAutorizacaoNfse.Autorizacao.servico.iss_retido)).ToString())); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.valor_iss)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.codigo_cnae)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.item_lista_servico)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.valor_servicos)); SQL.Append(" ,").AppendLine(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.servico.codigo_tributario_municipio)); SQL.AppendLine(" ,@RespostaEnvio"); SQL.AppendLine(" ,@Json"); SQL.Append(" ,").Append(DataBase.SetNullIfEmpty(capaAutorizacaoNfse.Autorizacao.data_emissao)).AppendLine(")"); var sqlParameters = new SqlParameter[2]; sqlParameters[0] = new SqlParameter("@RespostaEnvio", SqlDbType.VarChar) { Value = resposta }; sqlParameters[1] = new SqlParameter("@Json", SqlDbType.VarChar) { Value = json }; return(DataBase.ExecuteScopeIdentity(SQL, sqlParameters)); }
public NfeEntity Selecionar(NfeEntity model, bool selecionarNotaFiscalCancelada = false) { var list = Listar(model, selecionarNotaFiscalCancelada); return(list?.FirstOrDefault()); }