public TInutNFeInfInut(Entidade_Inutilizacao objEntInutDados) { this.Id = "ID" + objEntInutDados.cUf + string.Format("{0:yy}", DateTime.Now) + objEntInutDados.Cnpj + objEntInutDados.ModNfe + objEntInutDados.sSerieNf.PadLeft(3, '0') + objEntInutDados.NrIni.ToString().PadLeft(9, '0') + objEntInutDados.NrFim.ToString().PadLeft(9, '0'); this.ano = string.Format("{0:yy}", DateTime.Now); if (objEntInutDados.TpAmbiente == "PROD") { this.tpAmb = TAmb.Item1; } else { this.tpAmb = TAmb.Item2; } this.xServ = TInutNFeInfInutXServ.INUTILIZAR; this.cUF = (TCodUfIBGE)NegocioFuncoesGerais.RetornoCodigoIbge(objEntInutDados.cUf); if (objEntInutDados.ModNfe == 55) { this.mod = TMod.Item55; } else { this.mod = TMod.Item65; } this.serie = objEntInutDados.sSerieNf; this.CNPJ = objEntInutDados.Cnpj; this.nNFIni = objEntInutDados.NrIni.ToString(); this.nNFFin = objEntInutDados.NrFim.ToString(); this.xJust = "Numeração não utilizada"; }
/// <summary> /// O Xml de Cliente e Gerado a cada seis minutos, e a busca ocorre buscanda as notas emitidas nos ultimos 60 dias. /// Para gerar os xml do cliente é preciso da chave de acesso no item /// , as vezes fica null, e preciso dar um update pegando da nfsaida ou entrada, e colocando CdRetorno=103 no LoteNFe. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TmXmlCliente_Tick(object sender, EventArgs e) { Model_XmlCliente mXmlCliente = new Model_XmlCliente(); NegocioFuncoesGerais ng = new NegocioFuncoesGerais(); var DtXml = mXmlCliente.NotasFiscaisSemEnvio(); for (int i = 0; i < DtXml.Rows.Count; i++) { try { if (DtXml.Rows[i]["XmlProtNFe"].ToString() != string.Empty) { mXmlCliente.IncluirXmlCliente(DtXml.Rows[i]["TxChAcessoNFe"].ToString(), Convert.ToInt32(DtXml.Rows[i]["id_loja"]), ng.XmlnfeProc(DtXml.Rows[i]["xmlNFe"].ToString(), DtXml.Rows[i]["xmlprotNFe"].ToString())); } else { mXmlCliente.UpdateLoteNFe(Convert.ToInt32(DtXml.Rows[i]["id_loja"]), Convert.ToInt32(DtXml.Rows[i]["NrLote"])); } } catch { continue; } } }
public TEventoInfEvento(Entidade_Cancelamento EvenInfCancelamento) { this.Id = "ID110111" + EvenInfCancelamento.ChaveAcessoNfe + "01"; this.cOrgao = (TCOrgaoIBGE)NegocioFuncoesGerais.RetornoCodigoIbge(Convert.ToInt32(EvenInfCancelamento.CodigoIbgeEmpresa.Substring(0, EvenInfCancelamento.CodigoIbgeEmpresa.Length - 5))); if (EvenInfCancelamento.Ambiente == "PROD") { this.tpAmb = TAmb.Item1; } else { this.tpAmb = TAmb.Item2; } this.chNFe = EvenInfCancelamento.ChaveAcessoNfe; this.ItemElementName = ItemChoiceType.CNPJ; this.Item = EvenInfCancelamento.CnpjCpf; ////if (EvenInfCancelamento.Ambiente == "PROD") //this.Item = EvenInfCancelamento.CnpjCpf; ////else // // this.Item = "06317980000137"; this.dhEvento = string.Format("{0:s}", Convert.ToDateTime(EvenInfCancelamento.DataHora)) + "-03:00"; this.tpEvento = TEventoInfEventoTpEvento.Item110111; this.nSeqEvento = "1"; this.verEvento = TEventoInfEventoVerEvento.Item100; this.detEvento = new TEventoInfEventoDetEvento(EvenInfCancelamento); }
public void Enviar(Entidade_Status ObjEnt, out Entidade_Status objDados) { Entidade_Status eRetStatus = new Entidade_Status(); eStatus = new Entidade_Status(); mLog = new Model_LogNfe(); NFuncoes = new NegocioFuncoesGerais(); eStatus = ObjEnt; docTran = new XmlDocument(); ns = new XmlSerializerNamespaces(); Settings = new XmlWriterSettings(); xmlStatus = new XmlSerializer(typeof(ConsStatServ.TConsStatServ)); try { //Passando os dados para a Class que vai ser serelizada cStatus = new ConsStatServ.TConsStatServ(eStatus); // E DEFINIDO O TIPO DE LEITURA DO XML Settings.Encoding = UTF8Encoding.UTF8; Settings.NewLineHandling = NewLineHandling.None; Settings.Indent = true; Settings.IndentChars = ""; ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe"); Sw = new UTF8StringWriter(); Wx = XmlWriter.Create(Sw, Settings); xmlStatus.Serialize(Sw, cStatus, ns); string xmlGer = Sw.ToString(); docTran.LoadXml(xmlGer); docTran.PreserveWhitespace = false; if (nFG.ValidarEstruturaXml(docTran.OuterXml, "consStatServ_v3.10")) { CertEmpresa = AssinaturaDigital.FindCertOnStore(eStatus.Loja); EnviarXml(docTran, CertEmpresa, ref eRetStatus); objDados = eRetStatus; } else { objDados = null; } } catch (Exception Ex) { Mensagem.MensagemErro(Mensagem.TipoMensagem.Nfe, "Saida", Ex.Message.ToString()); mLog.InsertErroLog(NFuncoes.TiraCampos(Ex.Message.ToString())); objDados = null; } }
public TConsStatServ(Entidade_Status eObjStatus) { this.cUF = (TCodUfIBGE)NegocioFuncoesGerais.RetornoCodigoIbge(int.Parse(eObjStatus.cUf)); if (eObjStatus.tpAmbiente == "PROD") { this.tpAmb = TAmb.Item1; } else { this.tpAmb = TAmb.Item2; } this.versao = eObjStatus.versao; this.xServ = TConsStatServXServ.STATUS; }
public void Enviar(Entidade_DownloadNFe ObjEnt, out Entidade_DownloadNFe objDados) { Entidade_Status eRetStatus = new Entidade_Status(); eDownloadNFe = new Entidade_DownloadNFe(); mLog = new Model_LogNfe(); NFuncoes = new NegocioFuncoesGerais(); docTran = new XmlDocument(); ns = new XmlSerializerNamespaces(); Settings = new XmlWriterSettings(); xmlStatus = new XmlSerializer(typeof(TDownloadNFe)); try { //Passando os dados para a Class que vai ser serelizada ObjDownloadNFeEnv = new TDownloadNFe(ObjEnt); // E DEFINIDO O TIPO DE LEITURA DO XML Settings.Encoding = UTF8Encoding.UTF8; Settings.NewLineHandling = NewLineHandling.None; Settings.Indent = true; Settings.IndentChars = ""; ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe"); Sw = new UTF8StringWriter(); Wx = XmlWriter.Create(Sw, Settings); xmlStatus.Serialize(Sw, ObjDownloadNFeEnv, ns); string xmlGer = Sw.ToString(); docTran.LoadXml(xmlGer); docTran.PreserveWhitespace = false; CertEmpresa = AssinaturaDigital.FindCertOnStore(ObjEnt.id_loja); EnviarXml(docTran, CertEmpresa, ref ObjEnt); objDados = null; } catch (Exception Ex) { Mensagem.MensagemErro(Mensagem.TipoMensagem.Status, "DownloaNFe", Ex.Message.ToString()); mLog.InsertErroLog(NFuncoes.TiraCampos(Ex.Message.ToString())); objDados = null; } }
public void Enviar(Entidade_ConsNFDest ObjEnt, out Entidade_ConsNFDest objDados) { Entidade_ConsNFDest ObjRetManifestacao = new Entidade_ConsNFDest(); ObjRetManifestacao.id_loja = 1; NFuncoes = new NegocioFuncoesGerais(); docTran = new XmlDocument(); ns = new XmlSerializerNamespaces(); Settings = new XmlWriterSettings(); mLog = new Model_LogNfe(); xmlStatus = new XmlSerializer(typeof(TConsNFeDest)); try { ObjConDest = new TConsNFeDest(1); Settings.Encoding = UTF8Encoding.UTF8; Settings.NewLineHandling = NewLineHandling.None; Settings.Indent = true; Settings.IndentChars = ""; ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe"); Sw = new UTF8StringWriter(); Wx = XmlWriter.Create(Sw, Settings); xmlStatus.Serialize(Sw, ObjConDest, ns); string xmlGer = Sw.ToString(); docTran.LoadXml(xmlGer); docTran.PreserveWhitespace = false; CertEmpresa = AssinaturaDigital.FindCertOnStore(1); EnviarXml(docTran, CertEmpresa, ref ObjRetManifestacao); objDados = ObjRetManifestacao; } catch (Exception Ex) { Mensagem.MensagemErro(Mensagem.TipoMensagem.Manifestacao, "Manifestação", Ex.Message.ToString()); mLog.InsertErroLog(NFuncoes.TiraCampos(Ex.Message.ToString())); objDados = null; } }
private void TmEnviarEmailCliente_Tick(object sender, EventArgs e) { EnviarEmail EnvEmail = new EnviarEmail(); Model_Email mEmail = new Model.Model_Email(); mLog = new Model_LogNfe(); NFuncoes = new NegocioFuncoesGerais(); mXmlCliente = new Model.Model_XmlCliente(); TmEnviarEmailCliente.Enabled = false; if (mEmail.ExisteTipoEmail("N")) { var DtNotas = mXmlCliente.ConsultaNotasFiscais(); foreach (DataRow rows in DtNotas.Rows) { try { if (rows["NmEmailParaEnvioNFe"] != null && rows["NmEmailParaEnvioNFe"].ToString().Trim() != string.Empty) { XmlDocument docXml = new XmlDocument(); docXml.LoadXml(rows["XmlCliente"].ToString()); if (EnvEmail.SendEmail(rows["NmEmailParaEnvioNFe"].ToString(), "Xml - Nota Fiscal [" + rows["TxChAcessoNFe"].ToString().Trim() + "]", string.Empty, MontarHtml(rows["serienf"].ToString() + "|" + rows["NrNf"].ToString(), rows["TxChAcessoNFe"].ToString(), rows["NmRazaoSocial"].ToString(), rows["NmCliente"].ToString()), docXml, rows["TxChAcessoNFe"].ToString(), int.Parse(rows["id_loja"].ToString()))) { mXmlCliente.AtualizarEnvioXmlCliente(rows["TxChAcessoNFe"].ToString(), int.Parse(rows["id_loja"].ToString()), true); } } } catch (Exception Ex) { TmEnviarEmailCliente.Enabled = true; mLog.InsertErroLog("Erro ao enviar o Email.\nErro encontrado:\n" + NFuncoes.TiraCampos(Ex.Message.ToString()) + "\nChave de Acesso:" + rows["TxChAcessoNFe"].ToString() + "\nEmail:" + rows["NmEmailParaEnvioNFe"].ToString()); mXmlCliente.EmailNaoEnviados(int.Parse(rows["id_loja"].ToString()), int.Parse(rows["NrNf"].ToString()), rows["serienf"].ToString().Trim()); continue; } } } TmEnviarEmailCliente.Enabled = true; }
public TEventoInfEvento(Entidade_ItemCCe EntItemCCeInf) { this.chNFe = EntItemCCeInf.TxChAcessoNfe; this.dhEvento = string.Format("{0:s}", Convert.ToDateTime(EntItemCCeInf.Dt_Prot_Nfe)) + "-03:00"; this.Id = "ID110110" + EntItemCCeInf.TxChAcessoNfe + EntItemCCeInf.NrSeqEnvio.ToString().PadLeft(2, '0'); this.cOrgao = (TCOrgaoIBGE)NegocioFuncoesGerais.RetornoCodigoIbge(EntItemCCeInf.CdUfCidadeIbge_Empresa); if (EntItemCCeInf.Ambiente.Trim() == "PROD") { this.tpAmb = TAmb.Item1; // 1- Produção | 2 - Homologação } else { this.tpAmb = TAmb.Item2; } this.ItemElementName = ItemChoiceType.CNPJ; // DA EMPRESA EMITENTE this.Item = EntItemCCeInf.CdCpfCgc; this.tpEvento = TEventoInfEventoTpEvento.Item110110; this.nSeqEvento = EntItemCCeInf.NrSeqCount.ToString(); this.verEvento = TEventoInfEventoVerEvento.Item100; this.detEvento = new TEventoInfEventoDetEvento(EntItemCCeInf); }
private void TmSemRetorno_Tick(object sender, EventArgs e) { EnviarConsultaNfe ConsultaNfe = new EnviarConsultaNfe(); Model_NotaFiscal mNotaFisca = new Model_NotaFiscal(); NFuncoes = new NegocioFuncoesGerais(); mLog = new Model_LogNfe(); try { TmSemRetorno.Enabled = false; var DtRet = mNotaFisca.ConsultarNotasFiscalSemRetornoOuDuplicadas(); for (int i = 0; i < DtRet.Rows.Count; i++) { eNf = new Entidade_NotaFiscal(); eNf.Loja = int.Parse(DtRet.Rows[i]["id_loja"].ToString()); eNf.TpNfe = DtRet.Rows[i]["TpNfe"].ToString(); eNf.NotaFiscal = int.Parse(DtRet.Rows[i]["NrNf"].ToString()); eNf.sSerieNf = DtRet.Rows[i]["serienf"].ToString(); eNf.CdFornecedor = Convert.ToInt32(DtRet.Rows[i]["CdFornec"].ToString()); eNf.ChaveAcessoNfe = DtRet.Rows[i]["TxChAcessoNfe"].ToString(); eNf.TpNfe = DtRet.Rows[i]["TpNFe"].ToString(); eNf.cUf = int.Parse(FuncoesGerais.UfIbgeEmpresa(int.Parse(DtRet.Rows[i]["id_loja"].ToString()))); eNf.TpAmbiente = FuncoesGerais.TipoAmbiente(); ConsultaNfe.Enviar(eNf, out eNf); } TmSemRetorno.Enabled = true; } catch (Exception Ex) { TmSemRetorno.Enabled = true; mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + NFuncoes.TiraCampos(Ex.Message.ToString())); } }
public void Enviar(Entidade_NotaFiscal ObjEnt, out Entidade_NotaFiscal objDados) { docTran = new XmlDocument(); ns = new XmlSerializerNamespaces(); xmlStatus = new XmlSerializer(typeof(nfe.TNFe)); Settings = new XmlWriterSettings(); DataTable DtLoteNfe = new DataTable(); mLog = new Model_LogNfe(); ObjLote = new Model_Lote(); ObjModNfe = new Model_NotaFiscal(); ObjNotaFiscal = ObjEnt; NFuncoes = new NegocioFuncoesGerais(); ObjNotaFiscal = new Entidade_NotaFiscal(); var Lojas = FuncoesGerais.LojasEmitentes(); for (int i = 0; i < Lojas.Rows.Count; i++) { int Loja = 0; int Nota = 0; int Fornecedor = 0; string Serie = ""; int TpEmis = 0; var Lote = GerarLoteNfe(Convert.ToInt32(Lojas.Rows[i]["id_loja"].ToString())); docEnviNfe = new XmlDocument(); if (Lote != 0) { docEnviNfe.PreserveWhitespace = false; docEnviNfe.LoadXml(CabecalhoEnvieNfe(Lote)); nodeListNfe = docEnviNfe.GetElementsByTagName("enviNFe"); DtLoteNfe = PesquisaNotasFiscaisLoteNfe(Convert.ToInt32(Lojas.Rows[i]["id_loja"].ToString()), Lote); foreach (DataRow RowNFDt in DtLoteNfe.Rows) { try { docTran = new XmlDocument(); var RetEnt = CarregarDados(Convert.ToInt32(RowNFDt["id_loja"]), Convert.ToInt32(RowNFDt["NrNf"]), RowNFDt["serienf"].ToString(), Convert.ToInt32(RowNFDt["CdFornec"]), RowNFDt["TpNFe"].ToString()); if (RetEnt != null) { ObjNotaFiscal.cUf = RetEnt.cUf; // Uf do Emitente ObjNotaFiscal.Loja = RetEnt.Loja; Loja = RetEnt.Loja; Nota = RetEnt.NotaFiscal; Fornecedor = RetEnt.CdFornecedor; Serie = RetEnt.sSerieNf; TpEmis = RetEnt.TpEmis; ObjNotaFiscal.Lote = Lote; Nfe = new nfe.TNFe(RetEnt); } // E DEFINIDO O TIPO DE LEITURA DO XML Settings.Encoding = UTF8Encoding.UTF8; Settings.NewLineHandling = NewLineHandling.None; Settings.Indent = true; Settings.IndentChars = ""; ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe"); Sw = new UTF8StringWriter(); Wx = XmlWriter.Create(Sw, Settings); xmlStatus.Serialize(Sw, Nfe, ns); string xmlGer = Sw.ToString(); docTran.LoadXml(xmlGer); docTran.PreserveWhitespace = false; CertEmpresa = AssinaturaDigital.FindCertOnStore(Convert.ToInt32(RowNFDt["id_loja"])); docTran = AssinaturaDigital.SignXml(docTran, CertEmpresa, "infNFe"); if (NFuncoes.ValidarEstruturaXml(docTran.OuterXml, "nfe_v3.10")) { Mensagem.MensagemErro(Mensagem.TipoMensagem.XmlLoteGerados, "Entrada", Lote.ToString() + "|" + "Nota :" + RetEnt.sSerieNf + "-" + RetEnt.NotaFiscal.ToString() + "|" + docTran.OuterXml); nodeListCarregarNfe = docTran.GetElementsByTagName("NFe", "http://www.portalfiscal.inf.br/nfe"); nodeListNfe.Item(0).AppendChild(docEnviNfe.ImportNode(nodeListCarregarNfe.Item(0), true)); ObjLote.UpdateXmlTpSaida(RetEnt.Loja, RetEnt.NotaFiscal, RetEnt.sSerieNf, Lote, RetEnt.TpEmis.ToString(), docTran.OuterXml, RetEnt.CdFornecedor); ObjModNfe.UpdateNfTpEmisVersaoNFe(RetEnt.TpEmis.ToString(), null, "3.10", Lote.ToString(), RetEnt.NotaFiscal.ToString(), RetEnt.Loja.ToString(), RetEnt.sSerieNf, RetEnt.CdFornecedor, Model_NotaFiscal.NotaFiscal.Entrada); } } catch (Exception Ex) { Mensagem.MensagemErro(Mensagem.TipoMensagem.Nfe, "Entrada", Ex.Message.ToString()); ObjLote.UpdateXmlTpSaida(Loja, Nota, Serie, Lote, TpEmis.ToString(), docTran.OuterXml, Fornecedor); ObjModNfe.UpdateNfErro(225, Loja, Serie, Nota, Fornecedor, Model_NotaFiscal.NotaFiscal.Entrada); ObjLote.UpdateLoteErro(225, Loja, Serie, Nota, Fornecedor); mLog.InsertErroLog("Erro Lote:" + Lote + ", Nota Fiscal Entrada:" + Serie + "-" + Nota + ". " + NFuncoes.TiraCampos(Ex.Message.ToString())); } } if (CertEmpresa != null) { ObjNotaFiscal.TpAmbiente = FuncoesGerais.TipoAmbiente(); EnviarXml(docEnviNfe, CertEmpresa, ref ObjNotaFiscal); } objDados = null; } else { objDados = null; } } objDados = null; }
public Entidade_NotaFiscal CarregarDados(int Loja, int NotaFiscal, string SerieNf, int Fornec, string tipoNf) { List <Entidade_Duplicatas> ListDuplicatas = new List <Entidade_Duplicatas>(); List <Entidade_ItemNotaFiscal> ListItemNotaFiscal = new List <Entidade_ItemNotaFiscal>(); ListObjNotaFiscalReferida = new List <Entidade_NotaFiscalReferida>(); ObjTotais = new Entidade_Totais(); ObjEntEmit = new Entidade_Emitente(); ObjEntDest = new Entidade_Destinatario(); ObjNotaFiscal = new Entidade_NotaFiscal(); ObjModNfe = new Model_NotaFiscal(); ObjItemNotaFiscal = new Entidade_ItemNotaFiscal(); NFuncoes = new NegocioFuncoesGerais(); ObjNotaFiscalReferida = new Entidade_NotaFiscalReferida(); string TipoAmbiente = FuncoesGerais.TipoAmbiente(); string TipoEmissao = FuncoesGerais.TipoEmissao(); var DtNotaFiscal = ObjModNfe.ConsultarNotasFiscais(Loja, NotaFiscal, SerieNf, Fornec, Model_NotaFiscal.NotaFiscal.Entrada); var DtNotaFiscalItens = ObjModNfe.ConsultarNotasFiscalItens(Loja, NotaFiscal, SerieNf, Fornec, Model_NotaFiscal.NotaFiscal.Entrada); var DtNotaFiscalReferida = ObjModNfe.ConsultarNotasFiscalReferidaEntrada(Loja, NotaFiscal, SerieNf, Fornec); if (DtNotaFiscal.Rows.Count > 0) { #region Dados da NotaFiscal //Dados da Nota Fiscal ObjNotaFiscal.cUf = int.Parse(DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Emitente"].ToString().Substring(0, 2)); ObjNotaFiscal.CdFornecedor = int.Parse(DtNotaFiscal.Rows[0]["CdFornec"].ToString()); ObjNotaFiscal.Loja = int.Parse(DtNotaFiscal.Rows[0]["id_loja"].ToString()); ObjNotaFiscal.NaturezaOperacao = DtNotaFiscal.Rows[0]["NmCfo"].ToString().Trim(); ObjNotaFiscal.ModNfe = int.Parse(DtNotaFiscal.Rows[0]["ModNfe"].ToString()); ObjNotaFiscal.sSerieNf = DtNotaFiscal.Rows[0]["serienf"].ToString().Trim(); ObjNotaFiscal.NotaFiscal = int.Parse(DtNotaFiscal.Rows[0]["NrNf"].ToString()); ObjNotaFiscal.DtEmissao = Convert.ToDateTime(DtNotaFiscal.Rows[0]["DtEmissao"].ToString()); ObjNotaFiscal.DtEntrada = Convert.ToDateTime(DtNotaFiscal.Rows[0]["DtEntrada"].ToString()); ObjNotaFiscal.Observacao = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["Observacao"].ToString().Trim()); ObjNotaFiscal.ChaveAcessoNfe = DtNotaFiscal.Rows[0]["TxChAcessoNFe"].ToString().Trim(); ObjNotaFiscal.CdNfe = string.IsNullOrEmpty(DtNotaFiscal.Rows[0]["cdNFe"].ToString()) ? 0 : int.Parse(DtNotaFiscal.Rows[0]["cdNFe"].ToString()); if (tipoNf == "E") { ObjNotaFiscal.TpNfe = "E"; } else { ObjNotaFiscal.TpNfe = "S"; } if (DtNotaFiscal.Rows[0]["CdUf_Remetente"].ToString() == DtNotaFiscal.Rows[0]["CdUf_Emitente"].ToString()) { ObjNotaFiscal.TipoOperacao = 1; } else { ObjNotaFiscal.TipoOperacao = 2; } if (TipoEmissao.Trim() == "1") { ObjNotaFiscal.TpEmis = 1; } else { ObjNotaFiscal.TpEmis = 2; } ObjNotaFiscal.TpAmbiente = TipoAmbiente; if (Convert.ToBoolean(DtNotaFiscal.Rows[0]["FlNfComplementar"].ToString()) == true) { ObjNotaFiscal.TipoFInalidadeNfe = 2; } else if (Convert.ToBoolean(DtNotaFiscal.Rows[0]["FlNfAjuste"].ToString()) == true) { ObjNotaFiscal.TipoFInalidadeNfe = 3; } else if (DtNotaFiscal.Rows[0]["CdTipoNf"].ToString() == "D") { ObjNotaFiscal.TipoFInalidadeNfe = 4; } else { ObjNotaFiscal.TipoFInalidadeNfe = 1; } #endregion #region Dados do Emitente //Emitente ObjEntEmit.Nome = DtNotaFiscal.Rows[0]["NmRazaoSocial_Emitente"].ToString().Trim().Trim(); ObjEntEmit.RazaoSocial = DtNotaFiscal.Rows[0]["NmRazaoSocial_Emitente"].ToString().Trim(); ObjEntEmit.CpfCnpj = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Emitente"].ToString().Trim()); ObjEntEmit.IE = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["NrCgf_Emitente"].ToString().Trim()); ObjEntEmit.Lagradouro = DtNotaFiscal.Rows[0]["NmEnder_Emitente"].ToString().Trim(); ObjEntEmit.Numero = DtNotaFiscal.Rows[0]["NrEnder_Emitente"].ToString().Trim(); ObjEntEmit.Bairro = DtNotaFiscal.Rows[0]["NmBairro_Emitente"].ToString().Trim().Trim(); ObjEntEmit.sCep = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCep_Emitente"].ToString()); ObjEntEmit.sUf = DtNotaFiscal.Rows[0]["CdUf_Emitente"].ToString(); ObjEntEmit.cMunicipio = int.Parse(DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Emitente"].ToString()); ObjEntEmit.sMunicipio = DtNotaFiscal.Rows[0]["NmCidadeIbge_Emitente"].ToString(); #endregion #region Dados do Destinatario //Destinatario ObjEntDest.Nome = DtNotaFiscal.Rows[0]["NmFornec_Remetente"].ToString().Trim(); ObjEntDest.CpfCnpj = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Remetente"].ToString()).Trim(); ObjEntDest.IE = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["NrCgf_Remetente"].ToString()).Trim(); ObjEntDest.Lagradouro = DtNotaFiscal.Rows[0]["NmEnder_Remetente"].ToString().Trim(); ObjEntDest.Numero = DtNotaFiscal.Rows[0]["NrEnder_Remetente"].ToString().Trim(); ObjEntDest.FlIsento = Convert.ToBoolean(DtNotaFiscal.Rows[0]["FlIsento_Remetente"]); ObjEntDest.Bairro = DtNotaFiscal.Rows[0]["NmBairro_Remetente"].ToString().Trim(); ObjEntDest.sCep = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCep_Remetente"].ToString()); ObjEntDest.sUf = DtNotaFiscal.Rows[0]["CdUf_Remetente"].ToString().Trim(); ObjEntDest.cMunicipio = int.Parse(DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Remetente"].ToString()); ObjEntDest.sMunicipio = DtNotaFiscal.Rows[0]["NmCidade_Remetente"].ToString().Trim(); #endregion #region Totais //Totais ObjTotais.ValorBaseIcms = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlBaseIcms"]); ObjTotais.ValorIcms = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlIcms"]); ObjTotais.ValorIcmsBaseSub = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlBaseIcmsSub"]); ObjTotais.ValorIcmsSub = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlIcmsSub"]); ObjTotais.ValorFrete = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlFrete"]); ObjTotais.ValorSeguro = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlSeguro"]); ObjTotais.ValorOutrasDesp = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlOutrasDesp"]); ObjTotais.ValorIpi = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlIpi"]); ObjTotais.ValorTotalProdutos = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlProdutos"]); ObjTotais.ValorTotal = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlNf"]); ObjTotais.ValorPis = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlPis"]); ObjTotais.ValorCofins = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlCofins"]); #endregion #region Local de Entrega //if (Convert.ToBoolean(DtNotaFiscal.Rows[0]["NrSeq"]) && DtNotaFiscal.Rows[0]["LocalEntrega_NmEnder"].ToString() != string.Empty && DtNotaFiscal.Rows[0]["LocalEntrega_CdUfCidadeIbge"].ToString() != string.Empty && NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Destinatario"].ToString()).Trim().Length == 14) //{ // ObjLocalEntrega = new Entidade_LocalEntrega(); // ObjLocalEntrega.sMunicipio = DtNotaFiscal.Rows[0]["LocalEntrega_NmCidade"].ToString(); // ObjLocalEntrega.Bairro = DtNotaFiscal.Rows[0]["LocalEntrega_NmBairro"].ToString(); // ObjLocalEntrega.sUf = DtNotaFiscal.Rows[0]["LocalEntrega_CdUf"].ToString(); // ObjLocalEntrega.cMunicipio = DtNotaFiscal.Rows[0]["LocalEntrega_cdUfCidadeIbge"].ToString() == string.Empty ? 0 : int.Parse(DtNotaFiscal.Rows[0]["LocalEntrega_cdUfCidadeIbge"].ToString()); // ObjLocalEntrega.Lagradouro = DtNotaFiscal.Rows[0]["LocalEntrega_NmEnder"].ToString(); // ObjLocalEntrega.Numero = DtNotaFiscal.Rows[0]["LocalEntrega_NrEnder"].ToString(); // ObjLocalEntrega.Complemento = DtNotaFiscal.Rows[0]["LocalEntrega_NmComplEnder"].ToString(); //} //else ObjLocalEntrega = null; #endregion #region Item das Notas Fiscais for (int i = 0; i < DtNotaFiscalItens.Rows.Count; i++) { ObjItemNotaFiscal = new Entidade_ItemNotaFiscal(); ObjItemNotaFiscal.CodigoProduto = DtNotaFiscalItens.Rows[i]["CodigoDoProduto"].ToString().Trim(); ObjItemNotaFiscal.NrSeqItem = int.Parse(DtNotaFiscalItens.Rows[i]["NrSeqItem"].ToString()); ObjItemNotaFiscal.CFOP = DtNotaFiscalItens.Rows[i]["CFOP"].ToString().Trim(); ObjItemNotaFiscal.DescricaoProdutos = DtNotaFiscalItens.Rows[i]["DescricaoDoProduto"].ToString().Trim(); ObjItemNotaFiscal.Unidade = DtNotaFiscalItens.Rows[i]["UND"].ToString().Trim(); ObjItemNotaFiscal.Qtd = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["Quantidade"].ToString()); ObjItemNotaFiscal.ValorUnitario = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorUnitario"].ToString()); ObjItemNotaFiscal.ValorTotal = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlTotal"].ToString()); ObjItemNotaFiscal.ValorTotalIcms = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorTotalIcms"].ToString()); ObjItemNotaFiscal.ValorIcms = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorIcms"].ToString()); ObjItemNotaFiscal.AliqIcms = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ICMS"].ToString()); ObjItemNotaFiscal.AliqIpi = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["IPI"].ToString()); ObjItemNotaFiscal.ValorIpi = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorIPI"].ToString()); ObjItemNotaFiscal.ValorBaseIpi = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlTotal"].ToString()); // Base do IPI ObjItemNotaFiscal.ValorPis = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlPis"].ToString()); ObjItemNotaFiscal.ValorCofins = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlCofins"].ToString()); ObjItemNotaFiscal.AliqPis = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlAliqPis"].ToString()); ObjItemNotaFiscal.AliqCofins = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlAliqCofins"].ToString()); ObjItemNotaFiscal.NCM = DtNotaFiscalItens.Rows[i]["NCM"].ToString().Trim().Trim(); ObjItemNotaFiscal.CSTICMS = DtNotaFiscalItens.Rows[i]["CstICMS"].ToString().Trim(); ObjItemNotaFiscal.CSTPI = DtNotaFiscalItens.Rows[i]["CstIPI"].ToString().Trim(); ObjItemNotaFiscal.CSTPIS = DtNotaFiscalItens.Rows[i]["CstPIS"].ToString().Trim(); ObjItemNotaFiscal.CSTCOFINS = DtNotaFiscalItens.Rows[i]["CstCOFINS"].ToString().Trim(); ObjItemNotaFiscal.Desconto = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlDescItem"].ToString()); ObjItemNotaFiscal.Origem = DtNotaFiscalItens.Rows[i]["CdOrigemProduto"].ToString().Trim(); ListItemNotaFiscal.Add(ObjItemNotaFiscal); } #endregion if (DtNotaFiscalReferida.Rows.Count > 0) { for (int i = 0; i < DtNotaFiscalReferida.Rows.Count; i++) { ObjNotaFiscalReferida = new Entidade_NotaFiscalReferida(); ObjNotaFiscalReferida.TxChAcessoNfeReferida = DtNotaFiscalReferida.Rows[0]["TxChAcessoNfe"].ToString(); ObjNotaFiscalReferida.COO = 0; ObjNotaFiscalReferida.SerieNfRef = DtNotaFiscalReferida.Rows[0]["serienfReferida"].ToString(); } ListObjNotaFiscalReferida.Add(ObjNotaFiscalReferida); ObjNotaFiscal.NotaFiscalReferida = ListObjNotaFiscalReferida; } else { ObjNotaFiscal.NotaFiscalReferida = null; } ObjNotaFiscal.EntEmit = ObjEntEmit; ObjNotaFiscal.EntDest = ObjEntDest; ObjNotaFiscal.EntDuplicata = null; ObjNotaFiscal.EntLocalEntrega = ObjLocalEntrega; ObjNotaFiscal.EntTotais = ObjTotais; ObjNotaFiscal.EntItemNotaFiscal = ListItemNotaFiscal; } return(ObjNotaFiscal); }
public Entidade_NotaFiscal CarregarDados(int Loja, int NotaFiscal, string SerieNf, string tipoNf) { List <Entidade_Duplicatas> ListDuplicatas = new List <Entidade_Duplicatas>(); List <Entidade_ItemNotaFiscal> ListItemNotaFiscal = new List <Entidade_ItemNotaFiscal>(); ListObjNotaFiscalReferida = new List <Entidade_NotaFiscalReferida>(); ObjTotais = new Entidade_Totais(); ObjEntEmit = new Entidade_Emitente(); ObjEntDest = new Entidade_Destinatario(); ObjNotaFiscal = new Entidade_NotaFiscal(); ObjModNfe = new Model_NotaFiscal(); ObjItemNotaFiscal = new Entidade_ItemNotaFiscal(); NFuncoes = new NegocioFuncoesGerais(); ObjNotaFiscalReferida = new Entidade_NotaFiscalReferida(); mLog = new Model_LogNfe(); string LocalErro = string.Empty; string TipoAmbiente = FuncoesGerais.TipoAmbiente(); string TipoEmissao = FuncoesGerais.TipoEmissao(); var DtNotaFiscal = ObjModNfe.ConsultarNotasFiscais(Loja, NotaFiscal, SerieNf, 0, Model_NotaFiscal.NotaFiscal.Saida); var DtNotaFiscalItens = ObjModNfe.ConsultarNotasFiscalItens(Loja, NotaFiscal, SerieNf, 0, Model_NotaFiscal.NotaFiscal.Saida); //var DtDuplicatas = ObjModNfe.ConsultarNotasFiscalSaidaDuplicatas(Loja, NotaFiscal, SerieNf); //var DtNotaFiscalReferida = ObjModNfe.ConsultarNotasFiscalReferidaSaida(Loja, NotaFiscal, SerieNf); try { if (DtNotaFiscal.Rows.Count > 0) { #region Dados da NotaFiscal LocalErro = "Nota Fiscal"; //Dados da Nota Fiscal ObjNotaFiscal.cUf = int.Parse(DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Emitente"].ToString().Substring(0, 2)); ObjNotaFiscal.CdFornecedor = 0; ObjNotaFiscal.Loja = int.Parse(DtNotaFiscal.Rows[0]["cdloja"].ToString()); ObjNotaFiscal.NaturezaOperacao = DtNotaFiscal.Rows[0]["naturezaoperacao"].ToString().Trim(); ObjNotaFiscal.ModNfe = int.Parse(DtNotaFiscal.Rows[0]["ModNfe"].ToString()); ObjNotaFiscal.sSerieNf = DtNotaFiscal.Rows[0]["nmserienf"].ToString().Trim(); ObjNotaFiscal.NotaFiscal = int.Parse(DtNotaFiscal.Rows[0]["NrNf"].ToString()); ObjNotaFiscal.DtEmissao = Convert.ToDateTime(DtNotaFiscal.Rows[0]["DtSaida"].ToString()); //ObjNotaFiscal.Observacao = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["Observacao"].ToString().Trim() + ":" + DtNotaFiscal.Rows[0]["MensagemOrcamento"].ToString().Trim() + ":" + DtNotaFiscal.Rows[0]["MensagemComprovanteDeposito"].ToString().Trim() + " | " + DtNotaFiscal.Rows[0]["MensagemLocalEntrega"].ToString().Trim() + ":" + DtNotaFiscal.Rows[0]["MensagemParamVenda"].ToString().Trim() + "|" + DtNotaFiscal.Rows[0]["CdVendedor"].ToString().Trim() + " " + DtNotaFiscal.Rows[0]["NmVendedor"].ToString().Trim() + ". Prazo : " + DtNotaFiscal.Rows[0]["NmPrazo"].ToString().Trim() + ". Rota:" + DtNotaFiscal.Rows[0]["nrRotaGP"].ToString().Trim()); ObjNotaFiscal.Observacao = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["Observacao"].ToString().Trim()); ObjNotaFiscal.ObservacaoFisco = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["mensagemfisco"].ToString().Trim()); ObjNotaFiscal.ObservacaoContribuinte = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["mensagemcontribuinte"].ToString().Trim()); ObjNotaFiscal.ChaveAcessoNfe = DtNotaFiscal.Rows[0]["TxChAcessoNFe"].ToString().Trim(); ObjNotaFiscal.CdNfe = string.IsNullOrEmpty(DtNotaFiscal.Rows[0]["cdNFe"].ToString()) ? 0 : int.Parse(DtNotaFiscal.Rows[0]["cdNFe"].ToString()); if (tipoNf == "E") { ObjNotaFiscal.TpNfe = "E"; } else { ObjNotaFiscal.TpNfe = "S"; } if (DtNotaFiscal.Rows[0]["CdUf_Destinatario"].ToString() == DtNotaFiscal.Rows[0]["CdUf_Emitente"].ToString()) { ObjNotaFiscal.TipoOperacao = 1; } else { ObjNotaFiscal.TipoOperacao = 2; // VALIDAÇÃO DE OPERAÇÃO INTERESTADUAL APENAS EMPRESA PRESUMIDO E REAL PARTICIPAM if (FuncoesGerais.ParamatroTributacaoEmpresa() != "0") { if (NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Destinatario"].ToString()).Trim().Length == 11) { ObjNotaFiscal.OpInterestadual = true; } else { ObjNotaFiscal.OpInterestadual = false; } } } if (TipoEmissao.Trim() == "1") { ObjNotaFiscal.TpEmis = 1; } else { ObjNotaFiscal.TpEmis = 2; } ObjNotaFiscal.TpAmbiente = TipoAmbiente; if (Convert.ToBoolean(DtNotaFiscal.Rows[0]["FlCartao"].ToString()) == true) { ObjNotaFiscal.TipoPagamento = 1; } else if (Convert.ToBoolean(DtNotaFiscal.Rows[0]["FlAvista"]) == true) { ObjNotaFiscal.TipoPagamento = 0; } else { ObjNotaFiscal.TipoPagamento = 0; } if (Convert.ToInt32(DtNotaFiscal.Rows[0]["FlFinalidade"]) == 2) { ObjNotaFiscal.TipoFInalidadeNfe = 2; } else if (Convert.ToInt32(DtNotaFiscal.Rows[0]["FlFinalidade"]) == 3) { ObjNotaFiscal.TipoFInalidadeNfe = 3; } else if (Convert.ToInt32(DtNotaFiscal.Rows[0]["FlFinalidade"]) == 4) { ObjNotaFiscal.TipoFInalidadeNfe = 4; } else { ObjNotaFiscal.TipoFInalidadeNfe = 1; } #endregion #region Dados do Emitente LocalErro = "Dados do Emitente"; //Emitente ObjEntEmit.Nome = DtNotaFiscal.Rows[0]["NmRazaoSocial_Emitente"].ToString().Trim(); ObjEntEmit.RazaoSocial = DtNotaFiscal.Rows[0]["NmRazaoSocial_Emitente"].ToString().Trim(); ObjEntEmit.CpfCnpj = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Emitente"].ToString().Trim()); ObjEntEmit.IE = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["NrCgf_Emitente"].ToString().Trim()); ObjEntEmit.Lagradouro = DtNotaFiscal.Rows[0]["NmEnder_Emitente"].ToString().Trim(); ObjEntEmit.Numero = DtNotaFiscal.Rows[0]["NrEnder_Emitente"].ToString().Trim(); ObjEntEmit.Bairro = DtNotaFiscal.Rows[0]["NmBairro_Emitente"].ToString().Trim().Trim(); ObjEntEmit.sCep = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCep_Emitente"].ToString()); ObjEntEmit.sUf = DtNotaFiscal.Rows[0]["CdUf_Emitente"].ToString(); ObjEntEmit.cMunicipio = DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Emitente"].ToString().Trim() == string.Empty ? 0 : int.Parse(DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Emitente"].ToString()); ObjEntEmit.sMunicipio = DtNotaFiscal.Rows[0]["NmCidadeIbge_Emitente"].ToString(); #endregion #region Dados do Destinatario LocalErro = "Dados do Destinatario"; //Destinatario ObjEntDest.Nome = DtNotaFiscal.Rows[0]["NmCliente_Destinatario"].ToString().Trim(); ObjEntDest.CpfCnpj = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Destinatario"].ToString()).Trim(); ObjEntDest.IE = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["NrCgf_Destinatario"].ToString()).Trim(); ObjEntDest.Lagradouro = DtNotaFiscal.Rows[0]["NmEnder_Destinatario"].ToString().Trim(); ObjEntDest.Numero = DtNotaFiscal.Rows[0]["NrEnder_Destinatario"].ToString().Trim(); ObjEntDest.FlIsento = Convert.ToBoolean(DtNotaFiscal.Rows[0]["Isento_Destinatario"]); ObjEntDest.Bairro = DtNotaFiscal.Rows[0]["NmBairro_Destinatario"].ToString().Trim(); ObjEntDest.sCep = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCep_Destinatario"].ToString()); ObjEntDest.sUf = DtNotaFiscal.Rows[0]["CdUf_Destinatario"].ToString().Trim(); ObjEntDest.cMunicipio = DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Destinatario"].ToString().Trim() == string.Empty ? 0 : int.Parse(DtNotaFiscal.Rows[0]["CdUfCidadeIbge_Destinatario"].ToString()); ObjEntDest.sMunicipio = DtNotaFiscal.Rows[0]["NmCidade_Destinatario"].ToString().Trim(); #endregion #region Totais LocalErro = "Totais"; //Totais ObjTotais.ValorBaseIcms = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlBaseIcms"]); ObjTotais.ValorIcms = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlIcms"]); ObjTotais.ValorIcmsBaseSub = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlBaseIcmsSub"]); ObjTotais.ValorIcmsSub = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlIcmsSub"]); ObjTotais.ValorFrete = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlFrete"]); ObjTotais.ValorSeguro = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlSeguro"]); ObjTotais.ValorDesconto = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlDesconto"]); ObjTotais.ValorOutrasDesp = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlOutrasDesp"]); ObjTotais.ValorIpi = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlIpi"]); ObjTotais.ValorTotalProdutos = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlProdutos"]); ObjTotais.ValorTotal = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlTotal"]); ObjTotais.ValorPis = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlPis"]); ObjTotais.ValorCofins = Convert.ToDecimal(DtNotaFiscal.Rows[0]["VlCofins"]); #endregion #region Local de Entrega if (DtNotaFiscal.Rows[0]["LocalEntrega_NmEnder"].ToString() != string.Empty && DtNotaFiscal.Rows[0]["LocalEntrega_CdUfCidadeIbge"].ToString() != string.Empty && NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgc_Destinatario"].ToString()).Trim().Length == 14) { LocalErro = "Dados do Local de Entrega"; ObjLocalEntrega = new Entidade_LocalEntrega(); ObjLocalEntrega.sMunicipio = DtNotaFiscal.Rows[0]["LocalEntrega_NmCidade"].ToString(); ObjLocalEntrega.Bairro = DtNotaFiscal.Rows[0]["LocalEntrega_NmBairro"].ToString(); ObjLocalEntrega.sUf = DtNotaFiscal.Rows[0]["LocalEntrega_CdUf"].ToString(); ObjLocalEntrega.cMunicipio = DtNotaFiscal.Rows[0]["LocalEntrega_cdUfCidadeIbge"].ToString() == string.Empty ? 0 : int.Parse(DtNotaFiscal.Rows[0]["LocalEntrega_cdUfCidadeIbge"].ToString()); ObjLocalEntrega.Lagradouro = DtNotaFiscal.Rows[0]["LocalEntrega_NmEnder"].ToString(); ObjLocalEntrega.Numero = DtNotaFiscal.Rows[0]["LocalEntrega_NrEnder"].ToString(); ObjLocalEntrega.Complemento = DtNotaFiscal.Rows[0]["LocalEntrega_NmComplEnder"].ToString(); } else { ObjLocalEntrega = null; } if (DtNotaFiscal.Rows[0]["FretePorConta"].ToString().Trim() == "1") { ObjTrans = new Entidade_Transportador(); if (DtNotaFiscal.Rows[0]["CdCpfCgcTrans"].ToString().Trim() != string.Empty) { ObjTrans.CpfCnpj = NFuncoes.TiraCampos(DtNotaFiscal.Rows[0]["CdCpfCgcTrans"].ToString().Trim()); ObjTrans.RazaoSocial = DtNotaFiscal.Rows[0]["NmTransportadora"].ToString().Trim(); ObjTrans.Lagradouro = DtNotaFiscal.Rows[0]["NmEnderTrans"].ToString().Trim(); ObjTrans.sMunicipio = DtNotaFiscal.Rows[0]["NmCidadeTrans"].ToString().Trim(); ObjTrans.IE = DtNotaFiscal.Rows[0]["NrCgfTrans"].ToString().Trim(); ObjTrans.sUf = DtNotaFiscal.Rows[0]["CdUfTrans"].ToString().Trim(); } else { ObjTrans = null; } } #endregion #region Duplicatas //Duplicatas //if (DtDuplicatas.Rows.Count > 0) //{ // LocalErro = "Duplicatas"; // for (int i = 0; i < DtDuplicatas.Rows.Count; i++) // { // ObjDuplicatas = new Entidade_Duplicatas(); // if (SerieNf != "D1") // { // ObjDuplicatas.NumeroDup = DtDuplicatas.Rows[i]["nrDup"].ToString() + DtDuplicatas.Rows[i]["NmParcDup"].ToString().Trim(); // ObjDuplicatas.DataVencimento = Convert.ToDateTime(DtDuplicatas.Rows[i]["dtVencto"].ToString()); // ObjDuplicatas.ValorDup = decimal.Parse(DtDuplicatas.Rows[i]["VlDup"].ToString()); // } // else // { // ObjDuplicatas.TipoPagamento = Convert.ToInt32(DtDuplicatas.Rows[i]["TipoPagto"]); // ObjDuplicatas.ValorDup = decimal.Parse(DtDuplicatas.Rows[i]["Total"].ToString()); // } // ListDuplicatas.Add(ObjDuplicatas); // } //} //else ListDuplicatas = null; #endregion #region Item das Notas Fiscais for (int i = 0; i < DtNotaFiscalItens.Rows.Count; i++) { LocalErro = "Dados dos Itens da Nota"; ObjItemNotaFiscal = new Entidade_ItemNotaFiscal(); ObjItemNotaFiscal.CodigoProduto = DtNotaFiscalItens.Rows[i]["CodigoDoProduto"].ToString().Trim(); //ObjItemNotaFiscal.NrSeqItem = int.Parse(DtNotaFiscalItens.Rows[i]["NrSeqItem"].ToString()); ObjItemNotaFiscal.NrSeqItem = i + 1; ObjItemNotaFiscal.CFOP = DtNotaFiscalItens.Rows[i]["CFOP"].ToString().Trim(); if (CfopDev.Contains(DtNotaFiscalItens.Rows[i]["CFOP"].ToString().Trim()) == true) { ObjNotaFiscal.TipoFInalidadeNfe = 4; } ObjItemNotaFiscal.DescricaoProdutos = DtNotaFiscalItens.Rows[i]["DescricaoDoProduto"].ToString().Trim(); ObjItemNotaFiscal.Unidade = DtNotaFiscalItens.Rows[i]["UND"].ToString().Trim(); ObjItemNotaFiscal.Qtd = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["Quantidade"].ToString()); ObjItemNotaFiscal.ValorUnitario = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorUnitario"].ToString()); ObjItemNotaFiscal.ValorTotal = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlTotal"].ToString()); ObjItemNotaFiscal.ValorTotalIcms = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorTotalIcms"].ToString()); ObjItemNotaFiscal.ValorIcms = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorIcms"].ToString()); ObjItemNotaFiscal.AliqIcms = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ICMS"].ToString()); ObjItemNotaFiscal.AliqIpi = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["IPI"].ToString()); ObjItemNotaFiscal.ValorIpi = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorIPI"].ToString()); ObjItemNotaFiscal.ValorBaseIpi = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorBaseIPI"].ToString()); ObjItemNotaFiscal.ValorPis = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorPis"].ToString()); ObjItemNotaFiscal.ValorCofins = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorCofins"].ToString()); ObjItemNotaFiscal.AliqPis = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlAliqPis"].ToString()); ObjItemNotaFiscal.AliqCofins = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlAliqCofins"].ToString()); ObjItemNotaFiscal.NCM = DtNotaFiscalItens.Rows[i]["NCM"].ToString().Trim().Trim(); ObjItemNotaFiscal.PercMVA = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["PercMVA"]); ObjItemNotaFiscal.PercReducao = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["PercReducao"]); ObjItemNotaFiscal.ValorIcmsBaseSub = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorBaseIcmsSub"]); ObjItemNotaFiscal.ValorIcmsSub = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorBaseIcmsSub"]) * (Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ICMS"].ToString()) / 100) - Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["ValorIcms"].ToString()); ObjItemNotaFiscal.CSTICMS = DtNotaFiscalItens.Rows[i]["CstICMS"].ToString().Trim(); ObjItemNotaFiscal.CSTPI = DtNotaFiscalItens.Rows[i]["CstIPI"].ToString().Trim(); ObjItemNotaFiscal.CSTPIS = DtNotaFiscalItens.Rows[i]["CstPIS"].ToString().Trim(); ObjItemNotaFiscal.CSTCOFINS = DtNotaFiscalItens.Rows[i]["CstCOFINS"].ToString().Trim(); ObjItemNotaFiscal.Desconto = Convert.ToDecimal(DtNotaFiscalItens.Rows[i]["VlDescItem"].ToString()); ObjItemNotaFiscal.Origem = DtNotaFiscalItens.Rows[i]["CdOrigemProduto"].ToString().Trim(); ListItemNotaFiscal.Add(ObjItemNotaFiscal); } #endregion #region Nota Fiscal Referida //if (DtNotaFiscalReferida.Rows.Count > 0) //{ // LocalErro = "Dados do Nota Fiscal Referida"; // for (int i = 0; i < DtNotaFiscalReferida.Rows.Count; i++) // { // ObjNotaFiscalReferida = new Entidade_NotaFiscalReferida(); // ObjNotaFiscalReferida.TxChAcessoNfeReferida = DtNotaFiscalReferida.Rows[0]["TxChAcessoNfe"].ToString(); // ObjNotaFiscalReferida.COO = 0; // ObjNotaFiscalReferida.SerieNfRef = DtNotaFiscalReferida.Rows[0]["serienfReferida"].ToString(); // } // ListObjNotaFiscalReferida.Add(ObjNotaFiscalReferida); // ObjNotaFiscal.NotaFiscalReferida = ListObjNotaFiscalReferida; //} //else ObjNotaFiscal.NotaFiscalReferida = null; #endregion ObjNotaFiscal.EntEmit = ObjEntEmit; ObjNotaFiscal.EntDest = ObjEntDest; ObjNotaFiscal.EntDuplicata = ListDuplicatas; ObjNotaFiscal.EntLocalEntrega = ObjLocalEntrega; ObjNotaFiscal.EntTotais = ObjTotais; ObjNotaFiscal.EntItemNotaFiscal = ListItemNotaFiscal; ObjNotaFiscal.EntTransportador = ObjTrans; } } catch (InvalidCastException Ice) { if (Ice.Source != null) { mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + Ice.Source + "." + Ice.Message.ToString() + "." + LocalErro); } else { mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + Ice.Message.ToString() + "." + LocalErro); } return(null); } catch (IOException e) { if (e.Source != null) { mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + e.Source + "." + e.Message.ToString() + "." + LocalErro); } else { mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + e.Message.ToString() + "." + LocalErro); } return(null); } catch (Exception ex) { if (ex.Source != null) { mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + ex.Source + "." + ex.Message.ToString() + "." + LocalErro); } else { mLog.InsertErroLog("Erro em consulta de nota fiscal. \nErro encontrado:" + ex.Message.ToString() + "." + LocalErro); } return(null); } return(ObjNotaFiscal); }