Ejemplo n.º 1
0
        public NFeBuilder(string pathArquivoXml, TipoXmlNFe tipo)
        {
            _nFe = new List <Classes.NFe>();

            try
            {
                var reader = new StringReader(File.ReadAllText(pathArquivoXml));
                switch (tipo)
                {
                case TipoXmlNFe.Destinatario:
                {
                    var desserializador = new XmlSerializer(typeof(nfeProc));
                    _nFe.Add(((nfeProc)desserializador.Deserialize(reader)).NFe);
                }
                break;

                case TipoXmlNFe.Lote:
                {
                    var desserializador = new XmlSerializer(typeof(enviNFe3));
                    _nFe = ((enviNFe3)desserializador.Deserialize(reader)).NFe;
                }
                break;

                case TipoXmlNFe.NFe:
                    break;

                default:
                {
                    var desserializador = new XmlSerializer(typeof(Classes.NFe));
                    _nFe.Add(((Classes.NFe)desserializador.Deserialize(reader)));
                }
                break;
                }
            }
            catch (Exception ex)
            {
                throw new InvalidDataException("Arquivo XML inválido.", ex);
            }
        }
Ejemplo n.º 2
0
        public NFeBuilder(string pathArquivoXml, TipoXmlNFe tipo)
        {
            _nFe = new List<Classes.NFe>();

            try
            {
                var reader = new StringReader(File.ReadAllText(pathArquivoXml));
                switch (tipo)
                {
                    case TipoXmlNFe.Destinatario:
                    {
                        var desserializador = new XmlSerializer(typeof(nfeProc));
                        _nFe.Add(((nfeProc)desserializador.Deserialize(reader)).NFe);
                    }
                        break;
                    case TipoXmlNFe.Lote:
                    {
                        var desserializador = new XmlSerializer(typeof(enviNFe3));
                        _nFe = ((enviNFe3)desserializador.Deserialize(reader)).NFe;
                    }
                        break;
                    case TipoXmlNFe.NFe:
                        break;
                    default:
                    {
                        var desserializador = new XmlSerializer(typeof(Classes.NFe));
                        _nFe.Add(((Classes.NFe)desserializador.Deserialize(reader)));
                    }
                        break;
                }
            }
            catch(Exception ex)
            {
                throw new InvalidDataException("Arquivo XML inválido.", ex);
            }
        }