public static TransactionDTO GetDTO(this XmlTransactionModel xml) { TransactionDTO dto = new TransactionDTO(xml.Id, xml.PaymentDetails.Amount, xml.PaymentDetails.CurrencyCode, xml.TransactionDate, (TransactionDTOStatus)xml.Status); return(dto); }
private void CallXmlReader(IFormFile file, ref List <string> errorMesages) { XmlTransactionModel xmlTransactionModel = xmlTransactionReader.Read(file); if (xmlTransactionModel != null) { foreach (XmlTransaction transaction in xmlTransactionModel.Transactions) { errorMesages.AddRange(xmlValidator.Validate(transaction)); } if (errorMesages.Count == 0) { IEnumerable <TransactionModel> transactionModels = xmlTransactionModel.MapToModel(); transactionRepository.AddRange(transactionModels); } } }
public static IEnumerable <TransactionModel> MapToModel(this XmlTransactionModel item) { var models = new List <TransactionModel>(); var statusDictionary = new Dictionary <string, TransactionStatus>(); statusDictionary.Add("Approved", TransactionStatus.Approved); statusDictionary.Add("Rejected", TransactionStatus.Rejected); statusDictionary.Add("Done", TransactionStatus.Done); foreach (XmlTransaction transaction in item.Transactions) { models.Add(new TransactionModel { TransactionId = transaction.id, Amount = decimal.Parse(transaction.PaymentDetails.Amount), CurrencyCode = transaction.PaymentDetails.CurrencyCode, TransactionDate = DateTime.Parse(transaction.TransactionDate), Status = statusDictionary[transaction.Status] }); } return(models); }
public TryAsync <List <Transaction> > MapTransaction(XmlTransactionModel model) { return(TryAsync(() => _mapper.Map <List <Transaction> >(model.Transactions).AsTask())); }