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);
        }
示例#2
0
        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));
        }
示例#3
0
        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());
        }