public RetrievePayementResponseDTO findRequest(RetrievePayementRequestDTO r) { // Lazy loading has circular references from using navigation properties. Serializer has to read all the properties on the model. //Need to use Data Transfer Objects DTOs var request = _unitOfWork.Requests.Find(x => x.RequestID == r.TransactionID && x.MerchantID == r.MerchantID).Select(m => m).FirstOrDefault(); if (request == null) { return(null); } var response = new RetrievePayementResponseDTO() { CardNumber = request.CardNumber.ToString(), TransactionStatus = request.BankStatus.ToString(), ExpiryDate = request.ExpiryDate.ToString("dd/MM/yyy"), Currency = request.Currency, Amount = request.Amount, TransactionDate = request.RequestDate }; var str = response.CardNumber; response.CardNumber = string.Concat("".PadLeft(12, '*'), str.Substring(str.Length - 4)); return(response); }
public IHttpActionResult RetrievePayment([FromBody] RetrievePayementRequestDTO retrievePayementRequestDTO) { if (_gateWayService.findRequest(retrievePayementRequestDTO) == null) { return(Json("No Payments found")); } return(Json(_gateWayService.findRequest(retrievePayementRequestDTO))); }