public ControladorDireccion() { coloniasDAO = new ColoniasDAO(); estadosDAO = new EstadosDAO(); municipiosDAO = new MunicipiosDAO(); paisesDAO = new PaisesDAO(); }
public ActionResult Form() { ViewBag.Pais = new Pais(); PaisesDAO dao = new PaisesDAO(); IList <Pais> paises = dao.Lista(); ViewBag.Paises = paises; return(View(paises)); }
public void EliminarRegistroPais() { paisesDTO = new PaisesDTO(); paisesDTO.setIdpais(int.Parse(txtcodigo.Text)); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.EliminarPais(); MessageBox.Show("Registro Eliminado"); }
public void Guardar() { paisesDTO = new PaisesDTO(); paisesDTO.setNombrepais(txtpais.Text); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.GuardarPais(); MessageBox.Show("Registro guardado"); }
public void EliminarRegistroPais() { paisesDTO = new PaisesDTO(); paisesDTO.setIdpais(Convert.ToInt16(txtcodigo.Text)); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.EliminarPais(); MessageBox.Show("Registro eliminado correctamente."); }
public void GuardarCambios() { paisesDTO = new PaisesDTO(); paisesDTO.setIdpais(Convert.ToInt16(txtcodigo.Text)); paisesDTO.setNombrepais(txtnombrepais.Text); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.GuardarCambiosPais(); MessageBox.Show("Registro modificado."); }
private void guardarNuevoPais() { paisesDTO = new PaisesDTO(); paisesDTO.setNombrepais(txtnombrepais.Text); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.guardarNuevoPais(); MessageBox.Show("Registro Exitoso"); }
public void GuardarCambios() { paisesDTO = new PaisesDTO(); paisesDTO.setIdpais(int.Parse(txtcodigo.Text)); paisesDTO.setNombrepais(txtpais.Text); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.GuardarCambiosPais(); MessageBox.Show("Registro Modificado"); }
private void GuardarPais() { paisesDTO = new PaisesDTO(); paisesDTO.opcion = 1; paisesDTO.nombrepais = txtnombre.Text; paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.GuardarPais(); MessageBox.Show("Guardado exitoso", "Guardar"); }
private void guardarCambiosPais() { paisesDTO = new PaisesDTO(); paisesDTO.setIdpais(Byte.Parse(txtcodigo.Text)); paisesDTO.setNombrepais(txtnombrepais.Text); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.guardarCambiospais(); MessageBox.Show("Modificación Exitosa"); }
public void GuardarCambios() { paisesDTO = new PaisesDTO(); paisesDTO.setIdpais(Convert.ToInt16(txtcodigo.Text)); paisesDTO.setNombrepais(txtpais.Text); paisesDAO = new PaisesDAO(paisesDTO); paisesDAO.GuardarCambios(); MessageBox.Show("Cambios guardados correctamente."); }
public void ListarPaises() { paisesDTO = new PaisesDTO(); paisesDAO = new PaisesDAO(paisesDTO); Dtt = new DataTable(); Dtt = paisesDAO.ListarPaises(); if (Dtt.Rows.Count > 0) { dtpaises.DataSource = Dtt; } else { MessageBox.Show("No hay registros de Paises."); } }
private void listarPaises() { paisesDTO = new PaisesDTO(); paisesDAO = new PaisesDAO(paisesDTO); dataTable = new DataTable(); dataTable = paisesDAO.ListarPaises(); if (dataTable.Rows.Count > 0) { dtpaises.DataSource = dataTable; } else { MessageBox.Show("No hay paises para mostrar"); } }
private void ListarPaises() { paisesDTO = new PaisesDTO(); paisesDAO = new PaisesDAO(paisesDTO); DttPaises = new DataTable(); DttPaises = paisesDAO.ListarPaises(); if (DttPaises.Rows.Count > 0) { cmbpais.DataSource = DttPaises; DataRow dataRow = DttPaises.NewRow(); dataRow["nombrepais"] = "Seleccione"; DttPaises.Rows.InsertAt(dataRow, 0); cmbpais.DisplayMember = "nombrepais"; cmbpais.ValueMember = "idpais"; } }
private void listarPaises() { paisesDTO = new PaisesDTO(); paisesDAO = new PaisesDAO(paisesDTO); datatablePaises = new DataTable(); datatablePaises = paisesDAO.ListarPaises(); if (datatablePaises.Rows.Count > 0) { cmbpaises.DataSource = datatablePaises; DataRow dataRow = datatablePaises.NewRow(); dataRow["nombrepais"] = "Seleccione.."; datatablePaises.Rows.InsertAt(dataRow, 0); cmbpaises.DisplayMember = "nombrepais"; cmbpaises.ValueMember = "idpais"; } else { MessageBox.Show("No hay paises para mostrar"); } }
public CtrlPaises() : base(new PaisesDAO()) { this.DaoPais = (PaisesDAO)this.Dao; }
protected void btnImportar_Click(object sender, EventArgs e) { try { if (this.txtUpload.PostedFile == null) { ModelState.AddModelError(string.Empty, "Nenhum arquivo informado"); } if (this.txtUpload.PostedFile.ContentLength == 0) { ModelState.AddModelError(string.Empty, "Arquivo inválido"); } var extensao = new FileInfo(this.txtUpload.PostedFile.FileName)?.Extension?.ToUpper() ?? string.Empty; if (string.IsNullOrWhiteSpace(extensao)) { ModelState.AddModelError(string.Empty, "Arquivo inválido"); } if (!extensao.Equals(".XML") && !extensao.Equals(".TXT") && !extensao.Equals(".CSV")) { ModelState.AddModelError(string.Empty, "É permitido apenas importação de arquivos .txt, .csv ou .xml"); } if (!ModelState.IsValid) { return; } if (!UploadArquivo(this.txtUpload)) { throw new Exception("O arquivo não pode ser processado. Certifique-se que já não esteja aberto em outro programa"); } if (extensao == ".XML") { try { var dueBusca = _documentoUnicoExportacaoDAO.ObterDUEPorId(this.txtDueID.Value.ToInt()); if (dueBusca == null) { throw new Exception("DUE não encontrada"); } if (this.txtUpload.HasFiles) { int xmlsImportados = 1; foreach (HttpPostedFile uploadedFile in this.txtUpload.PostedFiles) { string nomeArquivo = Path.Combine(Server.MapPath("Uploads"), uploadedFile.FileName); XmlDocument doc = new XmlDocument(); doc.Load(nomeArquivo); XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable); ns.AddNamespace("nfe", "http://www.portalfiscal.inf.br/nfe"); var cnpjEmitente = ""; var razaoSocialEmitente = ""; var enderecoEmitente = ""; var estadoEmitente = ""; var informacoesEmitente = doc.SelectNodes("//nfe:emit", ns); foreach (XmlNode dadoEmit in informacoesEmitente) { foreach (XmlNode childNode in dadoEmit.ChildNodes) { if (childNode.Name == "CNPJ") { cnpjEmitente = childNode.InnerText; } if (childNode.Name == "xNome") { razaoSocialEmitente = childNode.InnerText; } if (childNode.Name == "enderEmit") { foreach (XmlNode emitEndereco in childNode.ChildNodes) { if (emitEndereco.Name == "xLgr") { enderecoEmitente = emitEndereco.InnerText; } if (emitEndereco.Name == "nro") { enderecoEmitente += ", " + emitEndereco.InnerText; } if (emitEndereco.Name == "UF") { estadoEmitente = emitEndereco.InnerText; } } } } } var dadosNfe = doc.SelectNodes("//nfe:ide", ns); var numeroNf = ""; foreach (XmlNode dadoNfe in dadosNfe) { foreach (XmlNode childNode in dadoNfe.ChildNodes) { if (childNode.Name == "nNF") { numeroNf = childNode.InnerText; } } } var paisesDanfe = PaisesDAO.ObterPaisesDanfe(); var nomeDestinatario = string.Empty; var paisDestinatario = string.Empty; var logradouroDestinatario = string.Empty; var logradouroNumeroDestinatario = string.Empty; var dadosDestinatario = doc.SelectNodes("//nfe:dest", ns); foreach (XmlNode dadoDest in dadosDestinatario) { foreach (XmlNode childNode in dadoDest.ChildNodes) { if (childNode.Name == "xNome") { nomeDestinatario = childNode.InnerText; } if (childNode.Name == "enderDest") { foreach (XmlNode childNodeDest in childNode.ChildNodes) { if (childNodeDest.Name == "xLgr") { logradouroDestinatario = childNodeDest.InnerText; } if (childNodeDest.Name == "nro") { logradouroNumeroDestinatario = childNodeDest.InnerText; } if (childNodeDest.Name == "cPais") { var paisSped = paisesDanfe .Where(c => c.CodigoSPED == childNodeDest.InnerText) .FirstOrDefault(); if (paisSped != null) { if (!string.IsNullOrEmpty(paisSped.Sigla1)) { paisDestinatario = paisSped.Sigla1; } } } } } } } var enderecoDestinatario = $"{logradouroDestinatario}, {logradouroNumeroDestinatario}"; var informacoesChaveNfe = doc.SelectSingleNode("//nfe:infProt", ns); var chaveNfe = informacoesChaveNfe.ChildNodes[2].InnerText; var item = doc.SelectSingleNode("//nfe:det", ns)?.FirstChild; var listaProdutos = new List <ProdutoNfe>(); int contaItem = 1; if (item != null) { var produtos = doc.SelectNodes("//nfe:prod", ns); foreach (XmlNode produto in produtos) { var descricaoProduto = ""; var unidadeComercializada = ""; var quantidadeEstatistica = ""; var quantidadeComercializada = ""; var valorProduto = ""; var ncm = ""; foreach (XmlNode childNode in produto.ChildNodes) { if (childNode.Name == "xProd") { descricaoProduto = childNode.InnerText; } if (childNode.Name == "uTrib") { unidadeComercializada = childNode.InnerText; } if (childNode.Name == "qCom") { quantidadeComercializada = childNode.InnerText.Replace(".", ","); } if (childNode.Name == "qTrib") { quantidadeEstatistica = childNode.InnerText.Replace(".", ","); } if (childNode.Name == "vProd") { valorProduto = childNode.InnerText.Replace(".", ","); } if (childNode.Name == "NCM") { ncm = childNode.InnerText; } } var produtoNfe = new ProdutoNfe( contaItem, descricaoProduto, unidadeComercializada, quantidadeComercializada.ToDecimal(), quantidadeEstatistica.ToDecimal(), valorProduto.ToDecimal(), chaveNfe, ncm, cnpjEmitente, razaoSocialEmitente, numeroNf.ToInt()); listaProdutos.Add(produtoNfe); contaItem++; } contaItem = 1; ExcluirItensSemVinculoDeNotaFiscal(dueBusca.Id); if (listaProdutos.Any()) { foreach (var produtoNFE in listaProdutos) { var notaFiscal = new NotaFiscal(); notaFiscal.TipoNF = "EXP"; notaFiscal.Item = produtoNFE.Item; notaFiscal.ChaveNF = chaveNfe; notaFiscal.NumeroNF = numeroNf; notaFiscal.CnpjNF = cnpjEmitente; notaFiscal.QuantidadeNF = produtoNFE.QuantidadeComercializada; notaFiscal.UnidadeNF = produtoNFE.UnidadeComercializada; notaFiscal.NCM = produtoNFE.NCM; notaFiscal.Arquivo = this.txtUpload.FileName; notaFiscal.Usuario = Convert.ToInt32(Session["UsuarioId"].ToString()); notaFiscal.DueId = this.txtDueID.Value.ToInt(); notaFiscal.VMLE = this.txtVMLE.Text.ToDecimal(); notaFiscal.VMCV = this.txtVMCV.Text.ToDecimal(); notaFiscal.Enquadramento = this.cbEnquadramento.SelectedValue.ToInt(); var existeNf = _notaFiscalDAO.ExisteNotaFiscalNaDUEFromXML(notaFiscal); if (existeNf > 0) { _notaFiscalDAO.ExcluirNotaFiscaiDuePorId(existeNf); } _notaFiscalDAO.Cadastrar(notaFiscal); string enquadramento = string.Empty; decimal vmle = notaFiscal.VMLE; decimal vmcv = notaFiscal.VMCV; if (this.cbEnquadramento.SelectedValue.ToInt() > 0) { enquadramento = this.cbEnquadramento.SelectedValue; } else { enquadramento = dueBusca.Enquadramento1_Default.ToString(); } //Para cada item da nota fiscal, criar um item na DUE com a mesma chave var dueId = _documentoUnicoExportacaoDAO.CriarItensDUEFromXML( dueBusca.Id, Convert.ToInt32(Session["UsuarioId"].ToString()), cnpjEmitente, razaoSocialEmitente, enderecoEmitente, estadoEmitente, nomeDestinatario, enderecoDestinatario, paisDestinatario, produtoNFE.ChaveNFE, produtoNFE.Item, produtoNFE.NCM, produtoNFE.DescricaoProduto, produtoNFE.UnidadeComercializada, produtoNFE.QuantidadeEstatistica, produtoNFE.QuantidadeComercializada, vmle, vmcv, enquadramento, dueBusca); _documentoUnicoExportacaoDAO.MarcarComoAutomatica(this.txtDueID.Value.ToInt()); } } } xmlsImportados++; } ViewState["Sucesso"] = true; ViewState["TotalNotasFiscais"] = this.txtUpload.PostedFiles.Count; ViewState["QuantidadeImportada"] = xmlsImportados; } } catch (Exception ex) { throw new Exception("Ocorreu um problema ao processar o XML - Detalhes:" + ex.ToString()); } } else { int quantidadeImportada = 0; var notasFiscais = ProcessarArquivo(this.txtUpload.PostedFile.InputStream, ";"); var dueBusca = _documentoUnicoExportacaoDAO.ObterDUEPorId(this.txtDueID.Value.ToInt()); if (dueBusca != null) { ExcluirItensSemVinculoDeNotaFiscal(dueBusca.Id); var notasValidas = new List <NotaFiscal>(); foreach (var nf in notasFiscais) { nf.Arquivo = this.txtUpload.FileName; nf.Usuario = Convert.ToInt32(Session["UsuarioId"].ToString()); nf.DueId = this.txtDueID.Value.ToInt(); nf.VMCV = this.txtVMCV.Text.ToDecimal(); nf.VMLE = this.txtVMLE.Text.ToDecimal(); nf.Enquadramento = this.cbEnquadramento.SelectedValue.ToInt(); if (nf.TipoNF == "EXP") { } var existeNf = _notaFiscalDAO.ExisteNotaFiscalNaDUE(nf); if (existeNf > 0) { _notaFiscalDAO.ExcluirNotaFiscaiDuePorId(existeNf); } _notaFiscalDAO.Cadastrar(nf); notasValidas.Add(nf); quantidadeImportada++; } var atributosCafe = dueBusca.Attr_Padrao_Qualidade_Default + dueBusca.Attr_Tipo_Default + dueBusca.Attr_Embarque_Em_Default + dueBusca.Attr_Caracteristica_Especial_Default + dueBusca.Attr_Outra_Caracteristica_Especial_Default + dueBusca.Attr_Metodo_Processamento_Default; foreach (var notaNcm in notasFiscais) { if (notaNcm.NCM != "09011110" && notaNcm.NCM != "09011190" && notaNcm.NCM != "09011200" && notaNcm.NCM != "09012100" && notaNcm.NCM != "09012200" && notaNcm.NCM != "21011110" && notaNcm.NCM != "21011190" && notaNcm.NCM != "21011200") { if (!string.IsNullOrEmpty(atributosCafe)) { ModelState.AddModelError(string.Empty, "Você informou atributos de café nas informações default, mas o NCM da nota que está sendo cadastrada é diferente de NCMs para exportação de café."); return; } } } CriarItensDUEAutomaticamente(notasValidas); _documentoUnicoExportacaoDAO.MarcarComoAutomatica(this.txtDueID.Value.ToInt()); ViewState["Sucesso"] = true; ViewState["TotalNotasFiscais"] = notasFiscais.Count; ViewState["QuantidadeImportada"] = quantidadeImportada; } } } catch (Exception ex) { DeletarArquivo(this.txtUpload); LogsService.Logar("CadastrarDUE.aspx", ex.ToString()); ModelState.AddModelError(string.Empty, ex.Message); } }
protected async void btnGerarCsv_Click(object sender, EventArgs e) { var filtro = new StringBuilder(); var paises = PaisesDAO.ObterPaisesSiscomex(); if (this.txtUpload.PostedFile != null) { if (this.txtUpload.PostedFile.ContentLength > 0) { if (!UploadArquivo(this.txtUpload)) { throw new Exception("O arquivo não pode ser processado. Certifique-se que já não esteja aberto em outro programa"); } var notasFiscais = ProcessarArquivo(this.txtUpload.PostedFile.InputStream); var notasFiscaisFiltro = new List <string>(); foreach (var nf in notasFiscais) { notasFiscaisFiltro.Add($"'{nf}'"); } var filtroNfs = string.Join(",", notasFiscaisFiltro); if (!string.IsNullOrEmpty(filtroNfs)) { Session["FILTRO_CHAVES_REMESSA_UPLOAD"] = filtroNfs; filtro.Append($" AND E.CHAVE_ACESSO IN ({filtroNfs}) "); } try { File.Delete(Path.Combine(Server.MapPath("Uploads"), this.txtUpload.PostedFile.FileName)); } catch { } } else { if (Session["FILTRO_CHAVES_REMESSA_UPLOAD"] != null) { filtro.Append($" AND E.CHAVE_ACESSO IN ({Session["FILTRO_CHAVES_REMESSA_UPLOAD"].ToString()}) "); } } } var filtroRem = new StringBuilder(); var listaNotasArquivo = new List <string>(); var listaNotasConsulta = new List <string>(); var listaNotasDiferencas = new List <string>(); if (Session["FILTRO_CHAVES_REMESSA_UPLOAD"] != null) { filtroRem.Append($" AND B.CHAVE_ACESSO IN ({Session["FILTRO_CHAVES_REMESSA_UPLOAD"].ToString()}) "); listaNotasArquivo.AddRange(Session["FILTRO_CHAVES_REMESSA_UPLOAD"].ToString().Split(',')); } var dataTableRemessa = _estoqueDAO.ObterNotasRemessa(filtroRem.ToString()); foreach (DataRow rowRemessa in dataTableRemessa.Rows) { listaNotasConsulta.Add(rowRemessa["CHAVE_NF"].ToString()); } listaNotasConsulta = listaNotasConsulta.Distinct().ToList(); foreach (var chaveNfArquivo in listaNotasArquivo) { var nf = chaveNfArquivo.Replace("'", ""); if (!listaNotasConsulta.Contains(nf)) { listaNotasDiferencas.Add(nf); } } StringBuilder builder = new StringBuilder(); List <string> rows = new List <string>(); List <string> colunas = new List <string>(); foreach (DataColumn column in dataTableRemessa.Columns) { colunas.Add(column.ColumnName); } foreach (DataRow rowRemessa in dataTableRemessa.Rows) { List <string> camposRemessa = new List <string>(); foreach (DataColumn column in dataTableRemessa.Columns) { object item = rowRemessa[column]; var texto = Regex.Replace(item.ToString(), @"\t|\n|\r", ""); camposRemessa.Add(texto); } rows.Add(string.Join(";", camposRemessa.ToArray())); } var duesImportadas = new List <string>(); if (listaNotasDiferencas.Any()) { rows.Add("As notas abaixo não formam encontradas no banco de dados de DUEs CARGILL e os dados apresentados foram consultados diretamente no SISCOMEX"); foreach (var notaNaoEncontrada in listaNotasDiferencas) { var dadosDue = await SisComexService .ConsultarDUEPorDanfe(notaNaoEncontrada, ConfigurationManager.AppSettings["CpfCertificado"].ToString()); if (dadosDue != null) { if (dadosDue.Sucesso) { foreach (var due in dadosDue?.ListaDadosDUE) { var retornoDue = await SisComexService.ObterDUECompleta(due.rel, ConfigurationManager.AppSettings["CpfCertificado"].ToString()); if (retornoDue != null) { if (!duesImportadas.Contains(due.rel)) { duesImportadas.Add(due.rel); var declarante = retornoDue.declarante?.numeroDoDocumento ?? string.Empty; var declaranteNome = retornoDue.declarante?.nome ?? string.Empty; var descricaoRecinto = string.Empty; var descricaoUnidade = string.Empty; if (retornoDue.recintoAduaneiroDeDespacho != null) { var recintoBusca = _recintosDAO.ObterRecintos() .Where(c => c.Id == retornoDue.recintoAduaneiroDeDespacho?.codigo.ToInt()).FirstOrDefault(); if (recintoBusca != null) { descricaoRecinto = recintoBusca.Descricao; } } else { descricaoRecinto = "Indisponível"; } if (retornoDue.unidadeLocalDeDespacho != null) { var unidadeBusca = _unidadesReceitaDAO.ObterUnidadesRFB() .Where(c => c.Codigo.ToInt() == retornoDue.unidadeLocalDeDespacho?.codigo.ToInt()).FirstOrDefault(); if (unidadeBusca != null) { descricaoUnidade = unidadeBusca.Descricao; } } else { descricaoUnidade = "Indisponível"; } var ultimoEvento = string.Empty; EventosDoHistorico averbacao; var dataAverbacao = string.Empty; DateTime?dataUltimoEvento = null; if (retornoDue.eventosDoHistorico != null) { ultimoEvento = retornoDue.eventosDoHistorico.OrderByDescending(c => c.dataEHoraDoEvento).Select(c => c.evento).FirstOrDefault(); dataUltimoEvento = retornoDue.eventosDoHistorico.OrderByDescending(c => c.dataEHoraDoEvento).Select(c => c.dataEHoraDoEvento).FirstOrDefault(); averbacao = retornoDue.eventosDoHistorico .FirstOrDefault(c => c.evento.ToLower().Contains("averbacao") || c.evento.ToLower().Contains("averbação")); dataAverbacao = averbacao != null ? averbacao.dataEHoraDoEvento.ToString("dd/MM/yyyy HH:mm:ss") : string.Empty; } if (retornoDue.itens != null) { foreach (var item in retornoDue.itens) { string valorDaMercadoriaNaCondicaoDeVenda = item?.valorDaMercadoriaNaCondicaoDeVenda.ToString() ?? "0"; string valorDaMercadoriaNoLocalDeEmbarque = item?.valorDaMercadoriaNoLocalDeEmbarque.ToString() ?? "0"; string valorDaMercadoriaNoLocalDeEmbarqueEmReais = item?.valorDaMercadoriaNoLocalDeEmbarqueEmReais.ToString() ?? "0"; string importador = item?.nomeImportador ?? string.Empty; string enderecoImportador = item?.enderecoImportador ?? string.Empty; string pesoLiquidoTotal = item?.pesoLiquidoTotal.ToString() ?? "0"; pesoLiquidoTotal = pesoLiquidoTotal.Replace(".", "").Replace(",", "."); string incoterm = item?.codigoCondicaoVenda.codigo ?? string.Empty; var codigoPaisImportador = retornoDue?.paisImportador?.codigo ?? 0; string paisImportador = paises.Where(c => c.Id == codigoPaisImportador) .Select(c => c.Descricao).FirstOrDefault() ?? string.Empty; var codigoPaisDestino = item?.listaPaisDestino.Select(c => c.codigo).FirstOrDefault() ?? 0; string paisDestino = paises.Where(c => c.Id == codigoPaisDestino) .Select(c => c.Descricao).FirstOrDefault() ?? string.Empty; string unidadeEstatistica = item?.unidadeComercializada ?? string.Empty; string informacoesComplementares = retornoDue?.informacoesComplementares ?? string.Empty; var codigoMoeda = retornoDue?.moeda?.codigo ?? 0; string moedaNegociacao = _moedasDAO.ObterMoedas().Where(c => c.Id == codigoMoeda) .Select(c => c.Descricao).FirstOrDefault() ?? string.Empty; foreach (var nfRemessa in item.itensDaNotaDeRemessa) { if (nfRemessa != null) { var tipoNf = string.Empty; var cfop = nfRemessa.cfop.ToString(); if (cfop.EndsWith("04") || cfop.EndsWith("05")) { tipoNf = "FDL"; } if (cfop.EndsWith("01") || cfop.EndsWith("02")) { tipoNf = "REM"; } var itemNfRef = nfRemessa.notaFiscal; var emitente = itemNfRef.identificacaoDoEmitente; rows.Add($";{retornoDue.dataDeRegistro.ToString("dd/MM/yyyy HH:mm:ss")};{retornoDue.numero};{retornoDue.chaveDeAcesso};{declarante};{declaranteNome};{ultimoEvento};{dataUltimoEvento?.ToString("dd/MM/yyyy HH:mm:ss")};{dataAverbacao};{nfRemessa.ncm?.codigo};{nfRemessa.numeroDoItem};{nfRemessa.cfop};{nfRemessa.descricao};{tipoNf};{itemNfRef.chaveDeAcesso};{itemNfRef.numeroDoDocumento};{itemNfRef.modelo};{itemNfRef.serie};{itemNfRef.ufDoEmissor};{emitente.numero};{retornoDue.situacao};{valorDaMercadoriaNaCondicaoDeVenda.Replace(".", "").Replace(",", ".") };{valorDaMercadoriaNoLocalDeEmbarque.Replace(".", "").Replace(",", ".") };{valorDaMercadoriaNoLocalDeEmbarqueEmReais.Replace(".", "").Replace(",", ".") };{importador};{enderecoImportador};{paisImportador};{paisDestino};{unidadeEstatistica};{pesoLiquidoTotal};{moedaNegociacao};{incoterm};{informacoesComplementares};{retornoDue.unidadeLocalDeDespacho?.codigo};{descricaoUnidade};{retornoDue.recintoAduaneiroDeDespacho?.codigo };{descricaoRecinto};{item.quantidadeNaUnidadeEstatistica.ToString("n3")};{nfRemessa.quantidadeConsumida.ToString("n3")}"); } } } } } } else { var retornoDueResumida = await SisComexService.ObterDetalhesDUE(due.rel, ConfigurationManager.AppSettings["CpfCertificado"].ToString()); if (retornoDueResumida != null) { if (!duesImportadas.Contains(due.rel)) { duesImportadas.Add(due.rel); var declarante = retornoDueResumida.declarante?.numero ?? string.Empty; var descricaoRecinto = string.Empty; var descricaoUnidade = string.Empty; if (retornoDueResumida.codigoRecintoAduaneiroDespacho != null) { var recintoBusca = _recintosDAO.ObterRecintos() .Where(c => c.Id == retornoDueResumida.codigoRecintoAduaneiroDespacho.ToInt()).FirstOrDefault(); if (recintoBusca != null) { descricaoRecinto = recintoBusca.Descricao; } } else { descricaoRecinto = "Indisponível"; } if (retornoDueResumida.uaDespacho != null) { var unidadeBusca = _unidadesReceitaDAO.ObterUnidadesRFB() .Where(c => c.Codigo.ToInt() == retornoDueResumida.uaDespacho.ToInt()).FirstOrDefault(); if (unidadeBusca != null) { descricaoUnidade = unidadeBusca.Descricao; } } else { descricaoUnidade = "Indisponível"; } rows.Add($";;{retornoDueResumida.numeroDUE};;{declarante};;;;;;;;;;{notaNaoEncontrada};;;;;;;;;;;;;;;;;;;{retornoDueResumida.uaDespacho};{descricaoUnidade};{retornoDueResumida.codigoRecintoAduaneiroDespacho };{descricaoRecinto}"); } } } } } else { rows.Add(dadosDue.Mensagem); } } } } builder.Append(string.Join(";", colunas.ToArray())); builder.Append("\n"); builder.Append(string.Join("\n", rows.ToArray())); var agora = DateTime.Now; var nomeArquivo = $"LM_{agora.ToString("ddMMyyyy")}_{agora.ToString("HHmmss")}"; Response.Clear(); Response.ContentType = "text/csv"; Response.AddHeader("Content-Disposition", $"attachment;filename={nomeArquivo}.csv"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("Windows-1252"); Response.Write(builder.ToString()); //Response.End(); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.SuppressContent = true; HttpContext.Current.ApplicationInstance.CompleteRequest(); }