public IActionResult PaymentMethodEdit(int profileId) { IWorkContext _workContext = EngineContext.Current.Resolve <IWorkContext>(); var customer = _workContext.CurrentCustomer; var model = new CustomerPaymentProfilesModel(); GBSPaymentServiceClient gateway = new GBSPaymentServiceClient(); var response = gateway.ReadProfile(int.Parse(profileId.ToString()), _gbsPaymentSettings.GBSPaymentWebServiceAddress, _gbsPaymentSettings.LoginId, _gbsPaymentSettings.Password, _gbsPaymentSettings.UseSandbox); if (response.procStatus == "0") { DBManager dbmanager = new DBManager(); Dictionary <string, string> paramDic = new Dictionary <string, string>(); paramDic.Add("@CustomerID", customer.Id.ToString()); paramDic.Add("@ProfileID", profileId.ToString()); string select = "SELECT * FROM Profiles WHERE CustomerID = " + customer.Id + " AND ProfileID = " + profileId + ""; DataView dView = dbmanager.GetParameterizedDataView(select, paramDic); //dbmanager.GetDataView(select); DataRow firstRow = dView.Table.Rows[0]; PaymentMethodModel getProfile = new PaymentMethodModel(); getProfile.profileID = Convert.ToInt32(response.profileID); getProfile.NickName = firstRow["NickName"].ToString(); getProfile.Last4Digits = response.cardNumber.ToString(); getProfile.CardType = firstRow["CardType"].ToString(); getProfile.ExpMonth = (int)firstRow["ExpMonth"]; getProfile.ExpYear = (int)firstRow["ExpYear"]; model.SavedProfiles.Add(getProfile); } else { //ADD ERROR CODE HERE ViewBag.warnings = response.profileMessage; } return(View(model)); }
public ProcessPaymentRequest GetPaymentInfo(IFormCollection form) { var paymentInfo = new ProcessPaymentRequest(); GBSPaymentServiceClient gateway = new GBSPaymentServiceClient(); if (form.Keys.Contains("ProfileID") && !String.IsNullOrEmpty(form["ProfileID"].ToString())) { WebServices.Models.Payment.PaymentProfileModel paymentProfile = gateway.ReadProfile(int.Parse(form["ProfileID"]), _gbsPaymentSettings.GBSPaymentWebServiceAddress, _gbsPaymentSettings.LoginId, _gbsPaymentSettings.Password, _gbsPaymentSettings.UseSandbox); paymentInfo = new ProcessPaymentRequest(); paymentInfo.CreditCardName = paymentProfile.customerName; paymentInfo.CreditCardNumber = paymentProfile.cardNumber; paymentInfo.CreditCardExpireMonth = int.Parse(paymentProfile.cardExpireMonth); paymentInfo.CreditCardExpireYear = int.Parse(paymentProfile.cardExpireYear); paymentInfo.CustomValues["ProfileID"] = form["ProfileID"].ToString(); paymentInfo.CustomValues["SavedProfile"] = true; paymentInfo.CustomValues["StoreProfile"] = form["StoreProfile"]; } else { paymentInfo = new ProcessPaymentRequest(); //paymentInfo.CreditCardType is not used by Authorize.NET paymentInfo.CreditCardName = form["CardholderName"]; paymentInfo.CreditCardNumber = form["CardNumber"]; paymentInfo.CreditCardExpireMonth = int.Parse(form["ExpireMonth"]); paymentInfo.CreditCardExpireYear = int.Parse(form["ExpireYear"]); paymentInfo.CreditCardCvv2 = form["CardCode"]; paymentInfo.CustomValues["SavedProfile"] = false; paymentInfo.CustomValues["NickName"] = form["NickName"]; paymentInfo.CustomValues["StoreProfile"] = form["StoreProfile"]; } return(paymentInfo); }