Beispiel #1
0
        public void ExportarXmlCrossDocking(string numCte, string nomeFornec)
        {
            AcessoCobranca cbd  = new AcessoCobranca();
            string         cnpj = cbd.GetCnpjFornecedor(nomeFornec.Split(' ')[0]);

            GerarXmlCross(numCte, nomeFornec, cnpj, PastasXml.Default.PastaCross);
        }
Beispiel #2
0
        /// <summary>
        /// Importa os dados de xml de notas fiscais na pasta padrão
        /// </summary>
        ///
        public void LerXmlNotaFiscal(string nomeArquivo)
        {
            try
            {
                NotasFiscais nfLida = new NotasFiscais();

                XmlDocument nf = new XmlDocument();

                nf.Load(nomeArquivo);

                var result = nf.GetElementsByTagName("det");
                nfLida.skuNF     = result.Count;
                nfLida.numeroNF  = nf.GetElementsByTagName("nNF")[0].InnerText;
                nfLida.numeroNF += '-' + nf.GetElementsByTagName("serie")[0].InnerText;

                var fornecedor = nf.GetElementsByTagName("xNome")[0].InnerText;
                var cnpjFornec = nf.GetElementsByTagName("CNPJ")[0].InnerText;

                if (fornecedor.Length > 49)
                {
                    fornecedor = fornecedor.Remove(49);
                }
                nfLida.fornecedorNF = fornecedor;
                try
                {
                    nfLida.volumesNF = int.Parse(nf.GetElementsByTagName("qVol")[0].InnerText);
                }
                catch
                {
                    var quantidade = nf.GetElementsByTagName("qCom");
                    nfLida.volumesNF = 0;
                    foreach (XmlElement item in quantidade)
                    {
                        nfLida.volumesNF += (int)double.Parse(item.InnerText.Replace('.', ','));
                    }
                }
                if (nfLida.volumesNF <= 1 && !nfLida.fornecedorNF.StartsWith("REGINA") && !nfLida.fornecedorNF.StartsWith("IMPROCROP"))
                {
                    var quantidade = nf.GetElementsByTagName("qCom");
                    nfLida.volumesNF = 0;
                    foreach (XmlElement item in quantidade)
                    {
                        nfLida.volumesNF += (int)double.Parse(item.InnerText.Replace('.', ','));
                    }
                }

                var cliente = nf.GetElementsByTagName("xNome")[1].InnerText;
                if (cliente.Length > 49)
                {
                    cliente = cliente.Remove(49);
                }
                nfLida.clienteNF = cliente;


                AcessoCobranca dbd = new AcessoCobranca();

                string cnpjCliente;
                try
                {
                    cnpjCliente = nf.GetElementsByTagName("CNPJ")[1].InnerText;
                }
                catch (System.Exception)
                {
                    cnpjCliente = "CPF" + nf.GetElementsByTagName("CPF")[0
                                  ].InnerText;
                }

                dbd.InsereFornecedor(cnpjFornec, fornecedor);
                dbd.InsereCliente(cnpjCliente, cliente);


                if (nfLida.skuNF > nfLida.volumesNF)
                {
                    nfLida.skuNF = 1;
                }

                InserirNotaFiscal(nfLida);
            }
            catch (System.Exception)
            {
            }
        }