public TransactionProcessingStatus Process(TransactionInput transationInput) { var result = new TransactionProcessingStatus(); if (!Validate(transationInput)) { result.Error = true; result.ErrorMessage = $"Cound not process trasnsaction ( Account:{transationInput.Account} , Desciption:{transationInput.Description}, Currency:{transationInput.CurrencyCode}, Amount {transationInput.Amount} )"; return(result); } var transation = Mapper.Map <Transaction>(transationInput); var transactionId = _transactionDataProvider.Save(transation); if (transactionId > 0) { result.TransactionId = transactionId; return(result); } else { result.Error = true; result.ErrorMessage = $"Error in saving transaction Account:{transationInput.Account} , Desciption:{transationInput.Description}, Currency:{transationInput.CurrencyCode}, Amount {transationInput.Amount} "; return(result); } }
public void UpdateStatus(TransactionProcessingStatus transactionProcessingStatus, string lastErrorMessage = null) { ProcessingStatus = transactionProcessingStatus; ProcessingStatusUpdatedUtc = DateTime.UtcNow; LastError = lastErrorMessage; }