public RedemptionResponse Redeem(string sCouponCode, RedemptionRequest redemption) { IRestRequest request = this.CreateRequest(this.Resource + "/{CouponCode}/redeem", Method.POST); request.AddUrlSegment("CouponCode", sCouponCode); request.AddBody(redemption); return(this.ExecuteRequest <RedemptionResponse>(request).Data); }
public RedemptionResponse SendRedemption(RedemptionRequest payload) { var _client = new RestActions(_contentRootPath); string url = _configSettingManager.ArmBaseUrl + "/SelfService/Redemption"; var encryptedValue = new SecureCredentials(); payload.ServiceUsername = encryptedValue.DecryptCredentials(_configSettingManager.ArmServiceUsername); payload.ServicePassword = encryptedValue.DecryptCredentials(_configSettingManager.ArmServicePassword); return(_client.CallRestAction <RedemptionResponse, RedemptionRequest>(payload, url)); }
public IActionResult PostRedemption([FromBody] AccountStatementViewModel model) { var _user = new AuthenticateResponse { MembershipKey = 1006979, //1007435, EmailAddress = "*****@*****.**", //"*****@*****.**", FirstName = "Tolulope", LastName = "Olusakin", FullName = "Olusakin Tolulope S" //"Funmilayo Ruth Adeyemi", //MembershipKey = 1007435, //EmailAddress = "*****@*****.**", //FirstName = "Funmilayo", //LastName = "Adeyemi", //FullName = "Funmilayo Ruth Adeyemi", }; var _sessionID = "fb2e77d.47a0479900504cb3ab4a1f626d174d2d"; try { var redeemedProducts = "RedeemedProducts::"; var json = JsonConvert.SerializeObject(model.Product); var list = JsonConvert.DeserializeObject <List <RedemptionProduct> >(json); foreach (var item in list) { redeemedProducts += "ProductCode:" + item.ProductCode + ";"; redeemedProducts += "Amount:" + item.Amount + ";"; } ; Redemption redemption = new Redemption { CustomerReference = _user.MembershipKey.ToString(), RedeemedProducts = redeemedProducts, Amount = model.TotalAmount, Reason = model.Reason, ReasonOther = model.ReasonOthers }; db.Redemptions.Add(redemption); db.SaveChanges(); var accountsRequest = new SummaryRequest { MembershipNumber = _user.MembershipKey }; var accountsResponse = _clientService.GetAccountSummary(accountsRequest); VerifyOtpRequest OtpRequest = new VerifyOtpRequest { OtpCode = model.Otp, SessionId = _sessionID.ToString() }; var reRequest = new RedemptionRequest { MembershipNumber = _user.MembershipKey.ToString(), Products = model.Product, TotalAmount = model.TotalAmount, VerifyOtp = OtpRequest, Source = "Client Portal" }; var reResponse = _clientService.Redemption(reRequest); if (reResponse != null) { return(Json(reResponse)); } else { return(StatusCode((int)HttpStatusCode.ExpectationFailed, "No response from the server.")); } } catch (Exception ex) { TempData["message"] = ViewBag.Message = ex.Message; Utilities.ProcessError(ex, _contentRootPath); _logger.LogError(null, ex, ex.Message); } return(View()); }