/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="transactions"></param> internal static void Read(XmlReader reader, IList<TransactionSummary> transactions, bool preApproval) { transactions.Clear(); if (reader.IsEmptyElement) { XMLParserUtils.SkipNode(reader); } if (preApproval == true) reader.ReadStartElement(TransactionSummaryListSerializer.PreApprovals); else reader.ReadStartElement(TransactionSummaryListSerializer.Transactions); reader.MoveToContent(); while (!reader.EOF) { if (preApproval == true) { if (XMLParserUtils.IsEndElement(reader, TransactionSummaryListSerializer.PreApprovals)) { XMLParserUtils.SkipNode(reader); break; } } else { if (XMLParserUtils.IsEndElement(reader, TransactionSummaryListSerializer.Transactions)) { XMLParserUtils.SkipNode(reader); break; } } if (reader.NodeType == XmlNodeType.Element) { TransactionSummary transaction = new TransactionSummary(); switch (reader.Name) { case TransactionSerializerHelper.Transaction: TransactionSummarySerializer.Read(reader, transaction, preApproval); transactions.Add(transaction); break; case TransactionSerializerHelper.PreApproval: TransactionSummarySerializer.Read(reader, transaction, preApproval); transactions.Add(transaction); break; default: XMLParserUtils.SkipElement(reader); break; } } else { XMLParserUtils.SkipNode(reader); } } }
/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="transaction"></param> internal static void Read(XmlReader reader, TransactionSummary transaction) { if (reader.IsEmptyElement) { XMLParserUtils.SkipNode(reader); return; } reader.ReadStartElement(SerializerHelper.Transaction); reader.MoveToContent(); while (!reader.EOF) { if (XMLParserUtils.IsEndElement(reader, SerializerHelper.Transaction)) { XMLParserUtils.SkipNode(reader); break; } if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case SerializerHelper.Code: transaction.Code = reader.ReadElementContentAsString(); break; case SerializerHelper.Date: transaction.Date = reader.ReadElementContentAsDateTime(); break; case SerializerHelper.Reference: transaction.Reference = reader.ReadElementContentAsString(); break; case SerializerHelper.TransactionType: transaction.TransactionType = reader.ReadElementContentAsInt(); break; case SerializerHelper.TransactionStatus: transaction.TransactionStatus = reader.ReadElementContentAsInt(); break; case SerializerHelper.GrossAmount: transaction.GrossAmount = reader.ReadElementContentAsDecimal(); break; case SerializerHelper.DiscountAmount: transaction.DiscountAmount = reader.ReadElementContentAsDecimal(); break; case SerializerHelper.FeeAmount: transaction.FeeAmount = reader.ReadElementContentAsDecimal(); break; case SerializerHelper.NetAmount: transaction.NetAmount = reader.ReadElementContentAsDecimal(); break; case SerializerHelper.ExtraAmount: transaction.ExtraAmount = reader.ReadElementContentAsDecimal(); break; case SerializerHelper.LastEventDate: transaction.LastEventDate = reader.ReadElementContentAsDateTime(); break; case PaymentMethodSerializer.PaymentMethod: PaymentMethod paymentMethod = new PaymentMethod(); PaymentMethodSerializer.Read(reader, paymentMethod); transaction.PaymentMethod = paymentMethod; break; default: XMLParserUtils.SkipElement(reader); break; } } else { XMLParserUtils.SkipNode(reader); } } }
static void TransactionSummaryExample(TransactionSummary transactionSummary) { // Data da criação DateTime date = transactionSummary.Date; // Data da última atualização DateTime lastEventDate = transactionSummary.LastEventDate; // Código da transação string code = transactionSummary.Code; // Refência string reference = transactionSummary.Reference; // Valor bruto decimal grossAmount = transactionSummary.GrossAmount; // Tipo int type = transactionSummary.TransactionType; // Status int status = transactionSummary.TransactionStatus; // Valor líquido decimal netAmount = transactionSummary.NetAmount; // Valor das taxas cobradas decimal feeAmount = transactionSummary.FeeAmount; // Valor extra ou desconto decimal extraAmount = transactionSummary.ExtraAmount; // Tipo de meio de pagamento PaymentMethod paymentMethod = transactionSummary.PaymentMethod; }