Beispiel #1
0
        public void SerializarParaArquivo(NotaFiscal notaFiscal)
        {
            NotaFiscalXmlModel notaModel = MapeadorNotaFiscal.MapearParaNFeModel(notaFiscal);

            using (XmlWriter streamWriter = XmlWriter.Create(_caminho))
            {
                XmlSerializer serializador = new XmlSerializer(notaModel.GetType());
                serializador.Serialize(streamWriter, notaModel);
            }
        }
Beispiel #2
0
        public string SerializarParaString(NotaFiscal notaFiscal)
        {
            NotaFiscalXmlModel notaModel = MapeadorNotaFiscal.MapearParaNFeModel(notaFiscal);
            string             xml       = string.Empty;

            using (StringWriter escritor = new StringWriter())
            {
                XmlSerializer serializador = new XmlSerializer(notaModel.GetType());
                serializador.Serialize(escritor, notaModel);
                xml = escritor.ToString();
            }
            return(xml);
        }
Beispiel #3
0
        public static NotaFiscalXmlModel MapearParaNFeModel(NotaFiscal notaFiscal)
        {
            NotaFiscalXmlModel NFe = new NotaFiscalXmlModel();

            NFe.InfNFe = MapeadorInfNFe.MapearParaInfNFeXmlModel(notaFiscal);

            NFe.InfNFe.Emit = MapeadorEmitente.MapearParaEmitenteXmlModel(notaFiscal.Emitente);

            NFe.InfNFe.Dest = MapeadorDestinatario.MapearParaDestinatarioXmlModel(notaFiscal.Destinatario);

            NFe.InfNFe.Trans = MapeadorTransportador.MapearParaTransportadorXmlModel(notaFiscal.Transportador);

            NFe.InfNFe.Dets = MapeadorDet.MapearParaNFeDetModel(notaFiscal.Produtos);


            return(NFe);
        }
Beispiel #4
0
        public static NotaFiscal MapearDeNFeModel(NotaFiscalXmlModel NFe)
        {
            NotaFiscal notaFiscal = new NotaFiscal();

            notaFiscal = MapeadorInfNFe.MapearDeInfNFeXmlModel(NFe.InfNFe);

            notaFiscal.Emitente = MapeadorEmitente.MapearDeEmitenteXmlModel(NFe.InfNFe.Emit);

            notaFiscal.Destinatario = MapeadorDestinatario.MapearDeDestinatarioXmlModel(NFe.InfNFe.Dest);

            notaFiscal.Transportador = MapeadorTransportador.MapearDeTransportadorXmlModel(NFe.InfNFe.Trans);

            notaFiscal.Produtos = MapeadorDet.MapearDeNFeDetModel(NFe.InfNFe.Dets);


            return(notaFiscal);
        }
Beispiel #5
0
        private bool CriarXml(NotaFiscal notaFiscal)
        {
            var notaXml = new NotaFiscalXmlModel
            {
                NumeroNotaFiscal = notaFiscal.NumeroNotaFiscal,
                Serie            = notaFiscal.Serie,
                NomeCliente      = notaFiscal.NomeCliente.NomeCompleto,
                EstadoDestino    = notaFiscal.EstadoDestino.ToString(),
                EstadoOrigem     = notaFiscal.EstadoOrigem.ToString(),
                Itens            = notaFiscal.ItensDaNotaFiscal
                                   .Select(i =>
                                           new NotaFiscalItemXmlModel
                {
                    Cfop          = i.Cfop.Valor,
                    Icms          = i.Icms.ValorIcms,
                    NomeProduto   = i.Produto.NomeProduto,
                    CodigoProduto = i.Produto.CodigoProduto,
                    Ipi           = i.Ipi.Valor,
                    Desconto      = i.Desconto
                }).ToArray()
            };

            try
            {
                var serializer = new XmlSerializer(typeof(NotaFiscalXmlModel));

                string path = Path.Combine(DiretorioNota, $"{ notaFiscal.NumeroNotaFiscal }.xml");

                using (var writer = new StreamWriter(path))
                {
                    serializer.Serialize(writer, notaXml);
                }

                return(File.Exists(path));
            }
            catch (Exception e)
            {
                return(false);
            }
        }