private static void ValidarNotasSiscomexUnitario(NotaFiscalConsultaCCT notaFiscalChave, string guid) { var _notaFiscalDAO = new NotaFiscalDAO(); var _recintosDAO = new RecintosDAO(); var _unidadesReceitaDAO = new UnidadesReceitaDAO(); var _estoqueDAO = new EstoqueDAO(false); var numeroNf = string.Empty; var cnpjNf = string.Empty; var mesNf = string.Empty; var anoNf = string.Empty; var chaveNf = notaFiscalChave.ChaveNF.Replace(";", ""); if (chaveNf.Length > 30) { cnpjNf = chaveNf.Substring(6, 14); numeroNf = chaveNf.Substring(25, 9); anoNf = chaveNf.Substring(2, 2); mesNf = chaveNf.Substring(4, 2); } Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); var saldoNota = AsyncHelpers.RunSync <List <Responses.DadosNotaPreACD> >(() => ServicoSiscomex2.ConsultarDadosNotaPreACD(chaveNf, ConfigurationManager.AppSettings["CpfCertificado"].ToString())); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Consulta Siscomex: {stopWatch.Elapsed}"); if (saldoNota != null) { foreach (var linha in saldoNota) { try { if (linha.Sucesso == false) { var informacoesDue = _estoqueDAO.ObterDadosDueConsCCT(chaveNf); string due = ""; string qtdeAverbada = ""; if (informacoesDue != null) { if (informacoesDue.Any()) { due = string.Join("|", informacoesDue.Select(c => c.DUE)); qtdeAverbada = string.Join("|", informacoesDue.Select(c => c.Quantidade)); } } var notaFiscal = new NotaFiscalConsultaCCT { ChaveNF = chaveNf, OBS = linha.Mensagem, DUE = due, QtdeAverbada = qtdeAverbada }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"_notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid): {stopWatch.Elapsed}"); } else { string descricaoRecinto = string.Empty; string descricaoUnidade = string.Empty; if (linha.Recinto != null) { var recintoBusca = _recintosDAO.ObterRecintos() .Where(c => c.Id == linha.Recinto.ToInt()).FirstOrDefault(); if (recintoBusca != null) { descricaoRecinto = recintoBusca.Descricao; } } else { descricaoRecinto = "Indisponível"; } if (linha.UnidadeReceita != null) { var unidadeBusca = _unidadesReceitaDAO.ObterUnidadesRFB() .Where(c => c.Codigo.ToInt() == linha.UnidadeReceita.ToInt()).FirstOrDefault(); if (unidadeBusca != null) { descricaoUnidade = unidadeBusca.Descricao; } } else { descricaoUnidade = "Indisponível"; } stopWatch.Reset(); stopWatch.Start(); var pesos = _estoqueDAO.ObterPesoCCT( linha.Recinto, linha.ResponsavelIdentificacao, numeroNf, linha.Registro.Substring(0, 10), $"{anoNf}{mesNf}"); var informacoesDue = _estoqueDAO.ObterDadosDueConsCCT(chaveNf); string due = ""; string qtdeAverbada = ""; if (informacoesDue != null) { if (informacoesDue.Any()) { due = string.Join("|", informacoesDue.Select(c => c.DUE)); qtdeAverbada = string.Join("|", informacoesDue.Select(c => c.Quantidade)); } } stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"_estoqueDAO.ObterPesoCCT(): {stopWatch.Elapsed}"); if (pesos != null) { var pesoAferido = !string.IsNullOrEmpty(pesos.PesoAferido) ? pesos.PesoAferido : "Não Disponível - "; if (!string.IsNullOrEmpty(pesos.MotivoNaoPesagem)) { pesoAferido += "Motivo não pesagem: " + pesos.MotivoNaoPesagem; } var notaFiscal = new NotaFiscalConsultaCCT { DataRegistro = linha.Registro, SaldoCCT = linha.Saldo.ToString(), ChaveNF = chaveNf, Recinto = descricaoRecinto, UnidadeReceita = descricaoUnidade, OBS = string.Empty, Item = linha.Item, PesoEntradaCCT = pesos.PesoEntradaCCT, PesoAferido = pesoAferido, DUE = due, QtdeAverbada = qtdeAverbada }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Ln 489 - _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid) {stopWatch.Elapsed}"); } else { var informacoesDues = _estoqueDAO.ObterDadosDueConsCCT(chaveNf); string nrdue = ""; string qtdeAverbadas = ""; if (informacoesDues != null) { if (informacoesDues.Any()) { due = string.Join("|", informacoesDues.Select(c => c.DUE)); qtdeAverbadas = string.Join("|", informacoesDues.Select(c => c.Quantidade)); } } var notaFiscal = new NotaFiscalConsultaCCT { DataRegistro = linha.Registro, SaldoCCT = linha.Saldo.ToString(), ChaveNF = chaveNf, Recinto = descricaoRecinto, UnidadeReceita = descricaoUnidade, OBS = string.Empty, Item = linha.Item, PesoAferido = "Não Disponível", PesoEntradaCCT = "Não Disponível", DUE = nrdue, QtdeAverbada = qtdeAverbadas }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Ln 513 - _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid) {stopWatch.Elapsed}"); } } } catch (Exception) { logger.Info($"{DateTime.Now} - Erro ao consultar NF {notaFiscalChave}"); } } } else { var notaFiscal = new NotaFiscalConsultaCCT { ChaveNF = chaveNf, OBS = "Indisponibilidade Siscomex. Por favor, tente novamente após alguns minutos." }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Ln 539 - _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); {stopWatch.Elapsed}"); } }