public IActionResult AddCredit(CurrentBalanceModel model) { HttpWebRequest request = _requests.CreateTopUpRequest(model); using (HttpWebResponse response = request.GetResponseNoException()) { if (response.StatusCode == HttpStatusCode.OK) { JObject deserializedResponseBody = _logic.DeserializeResponse(response); var curretCredit = deserializedResponseBody.SelectToken("currentBalance").Value <decimal>(); var topupModel = new CurrentBalanceModel() { CurrentBalance = curretCredit }; return(View("TopUp", topupModel)); } } return(View("Error", new ErrorMessage() { Message = "Unexpected error." })); }
public HttpWebRequest CreateTopUpRequest(CurrentBalanceModel model) { var cardId = _session.GetString("CardData"); var pinNo = _session.GetString("PIN"); var addCreditModel = new AddCreditAuthModel() { credit = model.Credit, cardId = cardId, pinNumber = pinNo }; var jsonObj = JsonConvert.SerializeObject(addCreditModel); var authToken = _session.GetString("JwtToken"); var authHeader = $"Bearer {authToken}"; var requestUri = $"https://localhost:44340/api/MembershipCards/{addCreditModel.cardId}/AddCredit"; var request = (HttpWebRequest)WebRequest.Create(requestUri); request.Method = "PUT"; request.Headers.Add("Accept", "application/json"); request.Headers.Add("Authorization", authHeader); request.ContentType = "application/json"; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(jsonObj); streamWriter.Flush(); streamWriter.Close(); } return(request); }