public HttpResponseMessage Post([FromBody] JsonInputDTO inputJson) { if (inputJson != null) //if null means service couldn't convet it to json { //assign to thr reult List <JsonResultDTO> resultList = new List <JsonResultDTO>(); //iterate thorugh each payload object to filter by condition foreach (var item in inputJson.payload) { //check condition if (item.drm == true & item.episodeCount > 0) { // hold the filtered values in an instance of a class JsonReultDTO JsonResultDTO resultObject = new JsonResultDTO { //check condition with condtional operator image = item.image != null ? item.image.showImage : null, slug = item.slug != null ? item.slug : null, title = item.title != null ? item.title : null }; //add each filered object to list of type object resultList.Add(resultObject); } } //assign to another list name reponse ResponseDTO lastResult = new ResponseDTO(); lastResult.response = resultList; //return Httpmessage HttpResponseMessage message = Request.CreateResponse(HttpStatusCode.OK, lastResult); return(message); } else { //intialize error message in readable format Error errMessage = new Error(); errMessage.error = "Could not decode request: JSON parsing failed"; return(Request.CreateResponse(HttpStatusCode.BadRequest, errMessage));//return httpmessage } }
public void ProcessPayments_ShouldReturnSucessfull_WhenWithProperCardDetail() { //ExpiryDate expiryDate = new ExpiryDate() { Month = 07, Year = 2022 }; CardDetailDTO card = new CardDetailDTO() { Amount = 100, CardNumber = "1234567891234567", Currency = "Euro", Cvv = 123, ExpiryDate = "12/2020" }; JsonResultDTO result = new JsonResultDTO() { IsSuccess = true, TransactionId = new Guid(), }; mockPaymentGateService.Setup(x => x.MakePayment(card)).Returns(result); _paymentGatewayController = new PaymentGatewayController(mockPaymentGateService.Object); JsonResult paymentInfo = _paymentGatewayController.ProcessPayments(card); Assert.AreEqual(result, paymentInfo.Data); }
public PaymentGateway(IBankRepository iBankRepo) { IBankRepo = iBankRepo; jsonResult = new JsonResultDTO(); }