Ejemplo n.º 1
0
        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)));
        }