コード例 #1
0
        public async Task<List<string>> TransmitirNotasFiscalEmContingencia() //Chamar esse método quando o serviço voltar
        {
            var erros = new List<string>();

            var notas = _notaFiscalRepository.GetNotasContingencia();

            var config = _configuracaoService.GetConfiguracao();
            var notasNFe = new List<string>();
            var notasNfCe = new List<string>();

            foreach (var nota in notas)
            {
                var xml = await nota.LoadXmlAsync();

                if (nota.Modelo.Equals("55"))
                    notasNFe.Add(xml);
                else
                    notasNfCe.Add(xml);
            }

            try
            {
                if (notasNfCe.Count() != 0)
                    erros = await TransmitirConsultarLoteContingenciaAsync(config, notasNfCe, Modelo.Modelo65);

                if (notasNFe.Count() != 0)
                    erros = await TransmitirConsultarLoteContingenciaAsync(config, notasNFe, Modelo.Modelo55);
            }
            catch (Exception e)
            {
                log.Error(e);
                var sDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                    "EmissorNFeDir");

                if (!Directory.Exists(sDirectory)) Directory.CreateDirectory(sDirectory);

                using (var stream = File.Create(Path.Combine(sDirectory, "logTransmitirContingencia.txt")))
                {
                    using (var writer = new StreamWriter(stream))
                    {
                        writer.WriteLine(e.ToString());
                    }
                }

                return null;
            }

            return erros;
        }