public void ApplyRewardPoints() { //reward points if (NopContext.Current.User != null) { NopContext.Current.User.UseRewardPointsDuringCheckout = cbUseRewardPoints.Checked; } //Check whether payment workflow is required bool isPaymentWorkflowRequired = IsPaymentWorkflowRequired(); if (!isPaymentWorkflowRequired) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = 0; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } } }
protected virtual void OnCheckoutStepChanged(CheckoutStepEventArgs e) { if (handler != null) { handler(this, e); } }
protected void ctrlCheckoutPaymentInfo_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.PaymentInfoEntered) { SelectPane(CheckoutStepEnum.Confirm); } }
protected void ctrlCheckoutBillingAddress_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.BillingAddressSelected) { SelectPane(CheckoutStepEnum.ShippingMethod); } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { //reward points NopContext.Current.User.UseRewardPointsDuringCheckout = cbUseRewardPoints.Checked; //payment methods int paymentMethodId = this.SelectedPaymentMethodId; var paymentMethod = PaymentMethodManager.GetPaymentMethodById(paymentMethodId); if (paymentMethod != null && paymentMethod.IsActive) { NopContext.Current.User = CustomerManager.SetLastPaymentMethodId(NopContext.Current.User.CustomerId, paymentMethodId); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } } } }
public void BindData() { //validate whether we need to display this control PaymentMethod paymentMethod = null; if (NopContext.Current.User != null) { paymentMethod = NopContext.Current.User.LastPaymentMethod; } if (paymentMethod != null && paymentMethod.IsActive && paymentMethod.HidePaymentInfoForZeroOrders) { decimal?shoppingCartTotalBase = ShoppingCartManager.GetShoppingCartTotal(this.Cart, NopContext.Current.User.LastPaymentMethodId, NopContext.Current.User); if (shoppingCartTotalBase.HasValue && shoppingCartTotalBase.Value == decimal.Zero) { this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutconfirm.aspx"); } } } }
protected void SelectAddress(Address shippingAddress) { if (shippingAddress == null) { //set default shipping address NopContext.Current.User.ShippingAddressId = 0; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { ShippingAddressSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutbillingaddress.aspx"); } return; } if (shippingAddress.AddressId == 0) { //check if address already exists var shippingAddress2 = NopContext.Current.User.ShippingAddresses.FindAddress(shippingAddress.FirstName, shippingAddress.LastName, shippingAddress.PhoneNumber, shippingAddress.Email, shippingAddress.FaxNumber, shippingAddress.Company, shippingAddress.Address1, shippingAddress.Address2, shippingAddress.City, shippingAddress.StateProvinceId, shippingAddress.ZipPostalCode, shippingAddress.CountryId); if (shippingAddress2 != null) { shippingAddress = shippingAddress2; } else { shippingAddress.CustomerId = NopContext.Current.User.CustomerId; shippingAddress.IsBillingAddress = false; shippingAddress.CreatedOn = DateTime.UtcNow; shippingAddress.UpdatedOn = DateTime.UtcNow; this.CustomerService.InsertAddress(shippingAddress); } } //set default shipping address NopContext.Current.User.ShippingAddressId = shippingAddress.AddressId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args2 = new CheckoutStepEventArgs() { ShippingAddressSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutbillingaddress.aspx"); } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { //reward points ApplyRewardPoints(); //payment methods int paymentMethodId = this.SelectedPaymentMethodId; if (paymentMethodId > 0) { var paymentMethod = this.PaymentService.GetPaymentMethodById(paymentMethodId); if (paymentMethod != null && paymentMethod.IsActive) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = paymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } } } } }
protected void ctrlCheckoutPaymentMethod_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.PaymentMethodSelected) { SelectPane(CheckoutStepEnum.PaymentInfo); } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { try { var paymentInfo = this.PaymentInfo; if (paymentInfo == null) { var args1 = new CheckoutStepEventArgs() { OrderConfirmed = false }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } else { return; } } paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; int orderId = 0; string result = this.OrderService.PlaceOrder(paymentInfo, NopContext.Current.User, out orderId); this.PaymentInfo = null; var order = this.OrderService.GetOrderById(orderId); if (!String.IsNullOrEmpty(result)) { lConfirmOrderError.Text = Server.HtmlEncode(result); return; } else { this.PaymentService.PostProcessPayment(order); } var args2 = new CheckoutStepEventArgs() { OrderConfirmed = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutcompleted.aspx"); } } catch (Exception exc) { this.LogService.InsertLog(LogTypeEnum.OrderError, exc.Message, exc); lConfirmOrderError.Text = Server.HtmlEncode(exc.ToString()); } } }
public void BindData() { bool shoppingCartRequiresShipping = ShippingManager.ShoppingCartRequiresShipping(Cart); pnlOutSideUS.Visible = false; phSelectShippingMethod.Visible = true; lShippingMethodsError.Visible = true; if (SettingManager.GetSettingValueBoolean("Shipping.OnlyDomesticShipping")) { if (NopContext.Current.User.ShippingAddress.Country.TwoLetterIsoCode != "US") { pnlOutSideUS.Visible = true; phSelectShippingMethod.Visible = false; lShippingMethodsError.Visible = false; return; } } if (!shoppingCartRequiresShipping) { NopContext.Current.User.LastShippingOption = null; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentmethod.aspx"); } } else { string error = string.Empty; var shippingOptions = ShippingManager.GetShippingOptions(Cart, NopContext.Current.User, NopContext.Current.User.ShippingAddress, ref error); if (!String.IsNullOrEmpty(error)) { LogManager.InsertLog(LogTypeEnum.ShippingError, error, error); phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = Server.HtmlEncode(error); } else { if (shippingOptions.Count > 0) { phSelectShippingMethod.Visible = true; dlShippingOptions.DataSource = shippingOptions; dlShippingOptions.DataBind(); } else { phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = GetLocaleResourceString("Checkout.ShippingIsNotAllowed"); } } } }
protected void ctrlCheckoutConfirm_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.OrderConfirmed) { Response.Redirect("~/checkoutcompleted.aspx"); } else { SelectPane(CheckoutStepEnum.PaymentInfo); } }
protected void SelectAddress(Address shippingAddress) { if (shippingAddress == null) { NopContext.Current.User = CustomerManager.SetDefaultShippingAddress(NopContext.Current.User.CustomerId, 0); var args1 = new CheckoutStepEventArgs() { ShippingAddressSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutbillingaddress.aspx"); } return; } if (shippingAddress.AddressId == 0) { //check if address already exists var shippingAddress2 = NopContext.Current.User.ShippingAddresses.FindAddress(shippingAddress.FirstName, shippingAddress.LastName, shippingAddress.PhoneNumber, shippingAddress.Email, shippingAddress.FaxNumber, shippingAddress.Company, shippingAddress.Address1, shippingAddress.Address2, shippingAddress.City, shippingAddress.StateProvinceId, shippingAddress.ZipPostalCode, shippingAddress.CountryId); if (shippingAddress2 != null) { shippingAddress = shippingAddress2; } else { shippingAddress = CustomerManager.InsertAddress(NopContext.Current.User.CustomerId, false, shippingAddress.FirstName, shippingAddress.LastName, shippingAddress.PhoneNumber, shippingAddress.Email, shippingAddress.FaxNumber, shippingAddress.Company, shippingAddress.Address1, shippingAddress.Address2, shippingAddress.City, shippingAddress.StateProvinceId, shippingAddress.ZipPostalCode, shippingAddress.CountryId, DateTime.Now, DateTime.Now); } } NopContext.Current.User = CustomerManager.SetDefaultShippingAddress(NopContext.Current.User.CustomerId, shippingAddress.AddressId); var args2 = new CheckoutStepEventArgs() { ShippingAddressSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutbillingaddress.aspx"); } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { try { var paymentInfo = this.PaymentInfo; if (paymentInfo == null) { var args1 = new CheckoutStepEventArgs() { OrderConfirmed = false }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } else { return; } } paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; int orderId = 0; string result = OrderManager.PlaceOrder(paymentInfo, NopContext.Current.User, out orderId); this.PaymentInfo = null; var order = OrderManager.GetOrderById(orderId); if (!String.IsNullOrEmpty(result)) { lConfirmOrderError.Text = Server.HtmlEncode(result); return; } else { PaymentManager.PostProcessPayment(order); } var args2 = new CheckoutStepEventArgs() { OrderConfirmed = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) Response.Redirect("~/checkoutcompleted.aspx"); } catch (Exception exc) { LogManager.InsertLog(LogTypeEnum.OrderError, exc.Message, exc); lConfirmOrderError.Text = Server.HtmlEncode(exc.ToString()); } } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (this.ValidateForm()) { this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutconfirm.aspx"); } } }
public void BindData() { //Check whether payment workflow is required bool isPaymentWorkflowRequired = IsPaymentWorkflowRequired(); if (!isPaymentWorkflowRequired) { this.PaymentInfo = new PaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutconfirm.aspx"); } } }
protected void SelectAddress(Address shippingAddress) { if (shippingAddress == null) { NopContext.Current.User = CustomerManager.SetDefaultShippingAddress(NopContext.Current.User.CustomerId, 0); var args1 = new CheckoutStepEventArgs() { ShippingAddressSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutbillingaddress.aspx"); return; } if (shippingAddress.AddressId == 0) { //check if address already exists var shippingAddress2 = NopContext.Current.User.ShippingAddresses.FindAddress(shippingAddress.FirstName, shippingAddress.LastName, shippingAddress.PhoneNumber, shippingAddress.Email, shippingAddress.FaxNumber, shippingAddress.Company, shippingAddress.Address1, shippingAddress.Address2, shippingAddress.City, shippingAddress.StateProvinceId, shippingAddress.ZipPostalCode, shippingAddress.CountryId); if (shippingAddress2 != null) { shippingAddress = shippingAddress2; } else { shippingAddress = CustomerManager.InsertAddress(NopContext.Current.User.CustomerId, false, shippingAddress.FirstName, shippingAddress.LastName, shippingAddress.PhoneNumber, shippingAddress.Email, shippingAddress.FaxNumber, shippingAddress.Company, shippingAddress.Address1, shippingAddress.Address2, shippingAddress.City, shippingAddress.StateProvinceId, shippingAddress.ZipPostalCode, shippingAddress.CountryId, DateTime.UtcNow, DateTime.UtcNow); } } NopContext.Current.User = CustomerManager.SetDefaultShippingAddress(NopContext.Current.User.CustomerId, shippingAddress.AddressId); var args2 = new CheckoutStepEventArgs() { ShippingAddressSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) Response.Redirect("~/checkoutbillingaddress.aspx"); }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { //reward points ApplyRewardPoints(); //payment methods int paymentMethodId = this.SelectedPaymentMethodId; var paymentMethod = PaymentMethodManager.GetPaymentMethodById(paymentMethodId); if (paymentMethod != null && paymentMethod.IsActive) { NopContext.Current.User = CustomerManager.SetLastPaymentMethodId(NopContext.Current.User.CustomerId, paymentMethodId); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentinfo.aspx"); } } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { var shippingOption = this.SelectedShippingOption; if (shippingOption != null) { NopContext.Current.User.LastShippingOption = shippingOption; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentmethod.aspx"); } } } }
public void BindData() { bool shoppingCartRequiresShipping = this.ShippingService.ShoppingCartRequiresShipping(Cart); if (!shoppingCartRequiresShipping) { NopContext.Current.User.LastShippingOption = null; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentmethod.aspx"); } } else { string error = string.Empty; Address address = NopContext.Current.User.ShippingAddress; var shippingOptions = this.ShippingService.GetShippingOptions(Cart, NopContext.Current.User, address, ref error); if (!String.IsNullOrEmpty(error)) { this.LogService.InsertLog(LogTypeEnum.ShippingError, error, error); phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = Server.HtmlEncode(error); } else { if (shippingOptions.Count > 0) { phSelectShippingMethod.Visible = true; dlShippingOptions.DataSource = shippingOptions; dlShippingOptions.DataBind(); //select a default shipping option if (dlShippingOptions.Items.Count > 0) { if (NopContext.Current.User != null && NopContext.Current.User.LastShippingOption != null) { //already selected shipping option this.SelectedShippingOption = NopContext.Current.User.LastShippingOption; } else { //otherwise, the first shipping option var tmp1 = dlShippingOptions.Items[0]; var rdShippingOption = tmp1.FindControl("rdShippingOption") as RadioButton; if (rdShippingOption != null) { rdShippingOption.Checked = true; } } } } else { phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = GetLocaleResourceString("Checkout.ShippingIsNotAllowed"); } } } }
protected void ctrlCheckoutShippingMethod_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.ShippingMethodSelected) { SelectPane(CheckoutStepEnum.Confirm); } }
protected void ctrlCheckoutShippingAddress_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.ShippingAddressSelected) { SelectPane(CheckoutStepEnum.BillingAddress); } }
protected void ctrlCheckoutConfirm_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if (e.OrderConfirmed) { Response.Redirect("~/checkoutcompleted.aspx", false); } else { SelectPane(CheckoutStepEnum.Confirm); } }
public void BindData() { //validate whether we need to display this control PaymentMethod paymentMethod = null; if (NopContext.Current.User != null) { paymentMethod = NopContext.Current.User.LastPaymentMethod; } if (paymentMethod != null && paymentMethod.IsActive && paymentMethod.HidePaymentInfoForZeroOrders) { decimal? shoppingCartTotalBase = ShoppingCartManager.GetShoppingCartTotal(this.Cart, NopContext.Current.User.LastPaymentMethodId, NopContext.Current.User); if (shoppingCartTotalBase.HasValue && shoppingCartTotalBase.Value == decimal.Zero) { this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutconfirm.aspx"); } } }
public void ApplyRewardPoints() { //reward points if (NopContext.Current.User != null) { NopContext.Current.User.UseRewardPointsDuringCheckout = false;// cbUseRewardPoints.Checked; } //Check whether payment workflow is required bool isPaymentWorkflowRequired = IsPaymentWorkflowRequired(); if (!isPaymentWorkflowRequired) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = 0; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentinfo.aspx"); } }
protected void btnTheSameAsShippingAddress_Click(object sender, EventArgs e) { var shippingAddress = NopContext.Current.User.ShippingAddress; if (shippingAddress != null && this.CustomerService.CanUseAddressAsBillingAddress(shippingAddress)) { var billingAddress = new Address(); billingAddress.AddressId = 0; billingAddress.CustomerId = shippingAddress.CustomerId; billingAddress.IsBillingAddress = true; billingAddress.FirstName = shippingAddress.FirstName; billingAddress.LastName = shippingAddress.LastName; billingAddress.PhoneNumber = shippingAddress.PhoneNumber; billingAddress.Email = shippingAddress.Email; billingAddress.FaxNumber = shippingAddress.FaxNumber; billingAddress.Company = shippingAddress.Company; billingAddress.Address1 = shippingAddress.Address1; billingAddress.Address2 = shippingAddress.Address2; billingAddress.City = shippingAddress.City; billingAddress.StateProvinceId = shippingAddress.StateProvinceId; billingAddress.ZipPostalCode = shippingAddress.ZipPostalCode; billingAddress.CountryId = shippingAddress.CountryId; billingAddress.CreatedOn = shippingAddress.CreatedOn; ctrlBillingAddress.Address = billingAddress; //automatically select the address for the user and move to next step. Rather than copying values then having to click next. //comment the line below to force a customer to click 'Next' SelectAddress(this.BillingAddress); //payment methods //don't bother searching for a payment method. //we know which one we're going to use Paypal Peer to Peer. var paymentMethod = this.PaymentService.GetPaymentMethodBySystemKeyword("PAYPALPEER"); if (paymentMethod != null && paymentMethod.IsActive) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = paymentMethod.PaymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args2 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentinfo.aspx"); } //paymentinfo stuff. this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutconfirm.aspx"); } else { pnlTheSameAsShippingAddress.Visible = false; } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { SelectAddress(this.BillingAddress); //payment method stuff //reward points ApplyRewardPoints(); //payment methods //don't bother searching for a payment method. //we know which one we're going to use Paypal Peer to Peer. var paymentMethod = this.PaymentService.GetPaymentMethodBySystemKeyword("PAYPALPEER"); if (paymentMethod != null && paymentMethod.IsActive) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = paymentMethod.PaymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args2 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentinfo.aspx"); } //paymentinfo stuff. this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutconfirm.aspx"); } }
protected void btnSelect_Command(object sender, CommandEventArgs e) { if (Page.IsValid) { int addressId = int.Parse(e.CommandArgument.ToString()); var billingAddress = this.CustomerService.GetAddressById(addressId); if (billingAddress != null && NopContext.Current.User != null) { var prevAddress = this.CustomerService.GetAddressById(billingAddress.AddressId); if (prevAddress.CustomerId != NopContext.Current.User.CustomerId) return; } SelectAddress(billingAddress); //payment method stuff //reward points ApplyRewardPoints(); //payment methods //don't bother searching for a payment method. //we know which one we're going to use Paypal Peer to Peer. var paymentMethod = this.PaymentService.GetPaymentMethodBySystemKeyword("PAYPALPEER"); if (paymentMethod != null && paymentMethod.IsActive) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = paymentMethod.PaymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args2 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentinfo.aspx"); } //paymentinfo stuff. this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutconfirm.aspx"); } }
//处理积分返点 protected void cbUseRewardPoints_CheckedChanged(object sender, EventArgs e) { int rewardPointsBalance = NopContext.Current.User.RewardPointsBalance; decimal rewardPointsAmountBase = OrderService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = CurrencyService.ConvertCurrency(rewardPointsAmountBase, CurrencyService.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); //判读是否需要运送方式 bool shoppingCartRequiresShipping = ShippingService.ShoppingCartRequiresShipping(Cart); //如果是匿名访问 隐藏已有地址显示特效 if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { AnonymousCheckoutAllowedSign = true; //如果是匿名访问 不存在显示和隐藏 那两个的按钮 if (!shoppingCartRequiresShipping) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(5,0,0);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(3,0,0);", true); } else { if (!shoppingCartRequiresShipping) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(6,0,0);", true); } checkoutDataMessage.Visible = true; //reward points ApplyRewardPoints(); //如果 选中返点 并且返点的金额大于商品的 实际金额 就将 支付方式隐藏起来 如果没选中 大家一起显示 if (cbUseRewardPoints.Checked == false) { rewardPointShowHide1.Visible = true; rewardPointShowHide2.Visible = true; if (SunTestSign == 0) billingMethodSign = 0; } else { string totalPrice = OrderSummaryControl.getTotalPriceSummary; if (totalPrice == "Calculated during checkout") { rewardPointShowHide1.Visible = true; rewardPointShowHide2.Visible = true; } else { decimal pointTotalMoney = rewardPointsAmount; decimal allTotalPrice = decimal.Parse(totalPrice); if (pointTotalMoney > allTotalPrice) { rewardPointShowHide1.Visible = false; rewardPointShowHide2.Visible = false; billingMethodSign = 1; //payment methods 如果选择的是返点支付 并且返点的价格大于商品的价格 就默认为 store支付 store ID为25 int paymentMethodId = 25; var paymentMethod = PaymentService.GetPaymentMethodById(paymentMethodId); if (paymentMethod != null && paymentMethod.IsActive) { NopContext.Current.User.LastPaymentMethodId = paymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); //NopContext.Current.User = CustomerService.SetLastPaymentMethodId(NopContext.Current.User.CustomerId, paymentMethodId); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); billingMethodSign = 1; } } else { rewardPointShowHide1.Visible = true; rewardPointShowHide2.Visible = true; } } } if (billingMethodSign == 0) { rewardPointShowHide2.Visible = false; } //刷新 OrderSummaryControl.BindData(); }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { var shippingOption = this.SelectedShippingOption; if (shippingOption != null) { NopContext.Current.User.LastShippingOption = shippingOption; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentmethod.aspx"); } } }
protected void SelectAddress(Address billingAddress) { if (billingAddress == null) { //set default billing address NopContext.Current.User.BillingAddressId = 0; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { BillingAddressSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutshippingmethod.aspx"); return; } if (billingAddress.AddressId == 0) { //check if address already exists var billingAddress2 = NopContext.Current.User.BillingAddresses.FindAddress(billingAddress.FirstName, billingAddress.LastName, billingAddress.PhoneNumber, billingAddress.Email, billingAddress.FaxNumber, billingAddress.Company, billingAddress.Address1, billingAddress.Address2, billingAddress.City, billingAddress.StateProvinceId, billingAddress.ZipPostalCode, billingAddress.CountryId); if (billingAddress2 != null) { billingAddress = billingAddress2; } else { billingAddress.CustomerId = NopContext.Current.User.CustomerId; billingAddress.IsBillingAddress = true; billingAddress.CreatedOn = DateTime.UtcNow; billingAddress.UpdatedOn = DateTime.UtcNow; this.CustomerService.InsertAddress(billingAddress); } } //set default billing address NopContext.Current.User.BillingAddressId = billingAddress.AddressId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args2 = new CheckoutStepEventArgs() { BillingAddressSelected = true }; OnCheckoutStepChanged(args2); if (!this.OnePageCheckout) Response.Redirect("~/checkoutshippingmethod.aspx"); }
public void BindData() { //Check whether payment workflow is required bool isPaymentWorkflowRequired = IsPaymentWorkflowRequired(); if (!isPaymentWorkflowRequired) { this.PaymentInfo = new PaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutconfirm.aspx"); } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { try { var paymentInfo = this.PaymentInfo; if (paymentInfo == null) { var args1 = new CheckoutStepEventArgs() { OrderConfirmed = false }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } else { return; } } paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; int orderId = 0; string orderNote = txtNoteToSeller.Value.Trim().Length > 0 ? txtNoteToSeller.Value.Trim() : string.Empty; string result = this.OrderService.PlaceOrder(paymentInfo, NopContext.Current.User, _vendorId, orderNote, out orderId); this.PaymentInfo = null; var order = this.OrderService.GetOrderById(orderId); //if (txtNoteToSeller.Value.Trim().Length > 0) { // OrderService.InsertOrderNote(orderId, txtNoteToSeller.Value.Trim(), true, DateTime.Now); //} if (!String.IsNullOrEmpty(result)) { lConfirmOrderError.Text = Server.HtmlEncode(result); return; } else { hidPaypalURL.Value = this.PaymentService.PostProcessPayment(order); } var args2 = new CheckoutStepEventArgs() { OrderConfirmed = true }; if (hidPaypalURL.Value != String.Empty) { //redirect via javascript, directly into the frame. //Response.Redirect(hidPaypalURL.Value, false); } else { OnCheckoutStepChanged(args2); } if (!this.OnePageCheckout) Response.Redirect("~/checkoutcompleted.aspx"); } catch (Exception exc) { this.LogService.InsertLog(LogTypeEnum.OrderError, exc.Message, exc); lConfirmOrderError.Text = Server.HtmlEncode(exc.ToString()); } } else { foreach (System.Web.UI.IValidator poo in Page.Validators) { if (!poo.IsValid) { if (lConfirmOrderError.Text == String.Empty) { lConfirmOrderError.Text = poo.ErrorMessage; } else { lConfirmOrderError.Text += poo.ErrorMessage; } } } } }
protected void ctrlCheckoutPaymentMethod_CheckoutStepChanged(object sender, CheckoutStepEventArgs e) { if(e.PaymentMethodSelected) { SelectPane(CheckoutStepEnum.PaymentInfo); } }
public void ExecutePayStatus(string paykey, string strmaxAmount) { StringBuilder dataToSend = new StringBuilder(); string strRequest = null; strRequest = strRequest + "requestEnvelope.errorLanguage=" + NopContext.Current.WorkingLanguage.LanguageCulture; strRequest = strRequest + "&requestEnvelope.detailLevel=ReturnAll"; strRequest = strRequest + "&payKey=" + paykey; strRequest = strRequest + "&returnUrl=" + ConfigurationManager.AppSettings["returnUrl"];// "https://localhost:8091/SewbieDemo/PaypalAPRedirect.aspx"; dataToSend.Append(strRequest); string Execute_strEndpointURL = ConfigurationManager.AppSettings["ExecuteDetails_strEndpointURL"]; try { string strResponse = this.GetResponce(dataToSend, Execute_strEndpointURL); string[] strSplited = strResponse.Split('&'); string strPayKey = null; string strTmp = strSplited[1]; strTmp = strTmp.Substring(21, 7); if (strTmp == "Success") { strPayKey = strSplited[4]; strPayKey = strPayKey.Substring(7, 20); int j = 0; string strTransactionIds = ""; string strStatus = ""; for (int i = 0; i < strSplited.Length; i++) { if (strSplited[i].Contains("paymentInfoList.paymentInfo(" + j.ToString() + ").senderTransactionId=")) { if (string.IsNullOrEmpty(strTransactionIds)) strTransactionIds = strSplited[i].Split('=')[1].ToString(); else strTransactionIds += "," + strSplited[i].Split('=')[1].ToString(); j++; } if (strSplited[i].Contains("status=")) strStatus = strSplited[i].Split('=')[1].ToString(); } if (strStatus == "CREATED") { Response.Redirect(ConfigurationManager.AppSettings["PayPalSuccessReturnUrl"] + strmaxAmount + "&strTransactionIds=" + strTransactionIds + "&strStatus=" + strStatus); } var paymentInfo = this.PaymentInfo; paymentInfo = new BusinessLogic.Payment.PaymentInfo(); paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; paymentInfo.PaymentMethodId = 43; int orderId = 0; string result = this.OrderService.PlaceOrder(paymentInfo, NopContext.Current.User, out orderId); this.PaymentInfo = null; var order = this.OrderService.GetOrderById(orderId); if (txtNoteToSeller.Value.Trim().Length > 0) { OrderService.InsertOrderNote(orderId, txtNoteToSeller.Value.Trim(), DateTime.Now); } if (!String.IsNullOrEmpty(result)) { lConfirmOrderError.Text = Server.HtmlEncode(result); return; } else { // hidPaypalURL.Value = this.PaymentService.PostProcessPayment(order); } var args2 = new CheckoutStepEventArgs() { OrderConfirmed = true }; if (hidPaypalURL.Value != String.Empty) { //redirect via javascript, directly into the frame. //Response.Redirect(hidPaypalURL.Value, false); } else { OnCheckoutStepChanged(args2); } Response.Redirect(ConfigurationManager.AppSettings["PayPalSuccessReturnUrl"] + strmaxAmount + "&strTransactionIds=" + strTransactionIds + "&strStatus=" + strStatus); } } catch (Exception ex) { Response.Redirect(ConfigurationManager.AppSettings["PayPalSuccessReturnUrl"] + strmaxAmount + "&strStatus=Failed" + "&strTransactionIds="); } }
public void BindData() { bool shoppingCartRequiresShipping = this.ShippingService.ShoppingCartRequiresShipping(Cart); if (!shoppingCartRequiresShipping) { NopContext.Current.User.LastShippingOption = null; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentmethod.aspx"); } else { string error = string.Empty; Address address = NopContext.Current.User.ShippingAddress; var shippingOptions = this.ShippingService.GetShippingOptions(Cart, NopContext.Current.User, address, ref error); if (!String.IsNullOrEmpty(error)) { this.LogService.InsertLog(LogTypeEnum.ShippingError, error, error); phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = Server.HtmlEncode(error); } else { if (shippingOptions.Count > 0) { phSelectShippingMethod.Visible = true; dlShippingOptions.DataSource = shippingOptions; dlShippingOptions.DataBind(); //select a default shipping option if (dlShippingOptions.Items.Count > 0) { if (NopContext.Current.User != null && NopContext.Current.User.LastShippingOption != null) { //already selected shipping option this.SelectedShippingOption = NopContext.Current.User.LastShippingOption; } else { //otherwise, the first shipping option var tmp1 = dlShippingOptions.Items[0]; var rdShippingOption = tmp1.FindControl("rdShippingOption") as RadioButton; if (rdShippingOption != null) { rdShippingOption.Checked = true; } } } } else { phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = GetLocaleResourceString("Checkout.ShippingIsNotAllowed"); } } } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (this.ValidateForm()) { this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutconfirm.aspx"); } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { try { var paymentInfo = this.PaymentInfo; if (paymentInfo == null) { var args1 = new CheckoutStepEventArgs() { OrderConfirmed = false }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } } if (!this.OnePageCheckout) Response.Redirect("~/checkoutcompleted.aspx"); else { if (txtNoteToSeller.Value.Trim().Length > 0) { Session["txtNoteToSeller"]= txtNoteToSeller.Value.Trim(); } if (Session["Vendor_Based_amt_List"] != null) { List<ShoppingCartItem> vendorList = (List<ShoppingCartItem>)Session["Vendor_Based_amt_List"]; decimal tempamount = 0; foreach (ShoppingCartItem item in vendorList) { tempamount += item.CustomerEnteredPrice; } if (paymentInfo == null) paymentInfo = new BusinessLogic.Payment.PaymentInfo(); paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; paymentInfo.PaymentMethodId = 43; Order result = this.OrderService.TotalAmountForPayment(paymentInfo, NopContext.Current.User); foreach (ShoppingCartItem item in vendorList) { Order result1 = this.OrderService.VendorBasedTotalAmountForPayment(paymentInfo, NopContext.Current.User, item.VendorID); if (result1 != null) item.CustomerEnteredPrice = result1.OrderTotalInCustomerCurrency; } Session["Vendor_Based_amt_List"] = vendorList; amount =result.OrderTotalInCustomerCurrency.ToString(); PreApproved(amount.ToString()); } else Response.Redirect("~/shoppingcart.aspx"); } } catch (Exception exc) { this.LogService.InsertLog(LogTypeEnum.OrderError, exc.Message, exc); lConfirmOrderError.Text = Server.HtmlEncode(exc.ToString()); } } else { foreach (System.Web.UI.IValidator poo in Page.Validators) { if (!poo.IsValid) { if (lConfirmOrderError.Text == String.Empty) { lConfirmOrderError.Text = poo.ErrorMessage; } else { lConfirmOrderError.Text += poo.ErrorMessage; } } } } }
public void BindData() { bool shoppingCartRequiresShipping = ShippingManager.ShoppingCartRequiresShipping(Cart); if (!shoppingCartRequiresShipping) { NopContext.Current.User.LastShippingOption = null; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) Response.Redirect("~/checkoutpaymentmethod.aspx"); } else { string error = string.Empty; Address address = NopContext.Current.User.ShippingAddress; var shippingOptions = ShippingManager.GetShippingOptions(Cart, NopContext.Current.User, address, ref error); if (!String.IsNullOrEmpty(error)) { LogManager.InsertLog(LogTypeEnum.ShippingError, error, error); phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = Server.HtmlEncode(error); } else { if (shippingOptions.Count > 0) { phSelectShippingMethod.Visible = true; dlShippingOptions.DataSource = shippingOptions; dlShippingOptions.DataBind(); } else { phSelectShippingMethod.Visible = false; lShippingMethodsError.Text = GetLocaleResourceString("Checkout.ShippingIsNotAllowed"); } } } }
//触发 支付方式, 并显示具体支付信息 protected void BillingMethod_CheckedChanged(object sender, EventArgs e) { SunTestSign = 1; rewardPointShowHide2.Visible = true; //判读是否需要运送方式 bool shoppingCartRequiresShipping = ShippingService.ShoppingCartRequiresShipping(Cart); //如果是匿名访问 隐藏已有地址显示特效 if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { AnonymousCheckoutAllowedSign = true; //如果是匿名访问 不存在显示和隐藏 那两个的按钮 if (!shoppingCartRequiresShipping) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(5,0,0);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(3,0,0);", true); } else { if (!shoppingCartRequiresShipping) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(6,0,0);", true); } checkoutDataMessage.Visible = true; //reward points ApplyRewardPoints(); //payment methods int paymentMethodId = this.SelectedPaymentMethodId; var paymentMethod = PaymentService.GetPaymentMethodById(paymentMethodId); /* if (paymentMethod != null && paymentMethod.IsActive) { NopContext.Current.User = CustomerService.SetLastPaymentMethodId(NopContext.Current.User.CustomerId, paymentMethodId); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); billingMethodSign = 1; } */ if (paymentMethod != null && paymentMethod.IsActive) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = paymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); billingMethodSign = 1; } LoadPaymentControl(); //刷新 OrderSummaryControl.BindData(); }
public void BindData() { //Check whether payment workflow is required bool isPaymentWorkflowRequired = IsPaymentWorkflowRequired(); if (!isPaymentWorkflowRequired) { //save selected payment methods NopContext.Current.User.LastPaymentMethodId = 0; this.CustomerService.UpdateCustomer(NopContext.Current.User); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); if (!this.OnePageCheckout) { Response.Redirect("~/checkoutpaymentinfo.aspx"); } } //reward points if (this.OrderService.RewardPointsEnabled && !this.Cart.IsRecurring) { int rewardPointsBalance = NopContext.Current.User.RewardPointsBalance; decimal rewardPointsAmountBase = this.OrderService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = this.CurrencyService.ConvertCurrency(rewardPointsAmountBase, this.CurrencyService.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); if (rewardPointsAmount > decimal.Zero) { string rewardPointsAmountStr = PriceHelper.FormatPrice(rewardPointsAmount, true, false); cbUseRewardPoints.Text = GetLocaleResourceString("Checkout.UseRewardPoints", rewardPointsBalance, rewardPointsAmountStr); pnlRewardPoints.Visible = true; } else { pnlRewardPoints.Visible = false; } } else { pnlRewardPoints.Visible = false; } //payment methods int?filterByCountryId = null; if (NopContext.Current.User.BillingAddress != null && NopContext.Current.User.BillingAddress.Country != null) { filterByCountryId = NopContext.Current.User.BillingAddress.CountryId; } bool hasButtonMethods = false; var boundPaymentMethods = new List <PaymentMethod>(); var paymentMethods = this.PaymentService.GetAllPaymentMethods(filterByCountryId); foreach (var pm in paymentMethods) { switch (pm.PaymentMethodType) { case PaymentMethodTypeEnum.Unknown: case PaymentMethodTypeEnum.Standard: { if (!Cart.IsRecurring || this.PaymentService.SupportRecurringPayments(pm.PaymentMethodId) != RecurringPaymentTypeEnum.NotSupported) { boundPaymentMethods.Add(pm); } } break; case PaymentMethodTypeEnum.Button: { //PayPal Express is placed here as button if (pm.SystemKeyword == "PayPalExpress") { } } break; default: break; } } //bind PayPal Express button btnPaypalExpressButton.BindData(); if (btnPaypalExpressButton.Visible) { hasButtonMethods = true; } if (boundPaymentMethods.Count == 0) { if (hasButtonMethods) { phSelectPaymentMethod.Visible = false; pnlPaymentMethodsError.Visible = false; //no reward points in this case pnlRewardPoints.Visible = false; } else { phSelectPaymentMethod.Visible = false; pnlPaymentMethodsError.Visible = true; lPaymentMethodsError.Text = GetLocaleResourceString("Checkout.NoPaymentMethods"); //no reward points in this case pnlRewardPoints.Visible = false; } } else if (boundPaymentMethods.Count == 1) { phSelectPaymentMethod.Visible = true; pnlPaymentMethodsError.Visible = false; dlPaymentMethod.DataSource = boundPaymentMethods; dlPaymentMethod.DataBind(); //select a default payment method if (dlPaymentMethod.Items.Count > 0) { var tmp1 = dlPaymentMethod.Items[0]; var rdPaymentMethod = tmp1.FindControl("rdPaymentMethod") as RadioButton; if (rdPaymentMethod != null) { rdPaymentMethod.Checked = true; } //or you can select it and go to the next step of checkout //but it this case a customer will not be able apply a reward point a select a "button" payment metho } } else { phSelectPaymentMethod.Visible = true; pnlPaymentMethodsError.Visible = false; dlPaymentMethod.DataSource = boundPaymentMethods; dlPaymentMethod.DataBind(); //select a default payment method if (dlPaymentMethod.Items.Count > 0) { if (NopContext.Current.User != null && NopContext.Current.User.LastPaymentMethod != null) { //already selected payment method this.SelectedPaymentMethodId = NopContext.Current.User.LastPaymentMethod.PaymentMethodId; } else { //otherwise, the first payment method var tmp1 = dlPaymentMethod.Items[0]; var rdPaymentMethod = tmp1.FindControl("rdPaymentMethod") as RadioButton; if (rdPaymentMethod != null) { rdPaymentMethod.Checked = true; } } } } }
//To confirm payment protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { agreeSign = 0; //Determine whether to agree to the terms if (SettingManager.GetSettingValueBoolean("Checkout.TermsOfServiceEnabled")) { if (cbTermsOfService.Checked) agreeSign = 1; else agreeSign = 0; } //Interpretation of the shipping method bool shoppingCartRequiresShipping = ShippingService.ShoppingCartRequiresShipping(Cart); if (agreeSign == 0 && SettingManager.GetSettingValueBoolean("Checkout.TermsOfServiceEnabled")) { if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(1,1,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(1,1,0);", true); } else { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(1,0,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(1,0,0);", true); } } else if (shippingMethodSign == 1 && billingMethodSign == 1) { //If the selected payer address and the address of the consignee or read their address if (ShowBilling.Checked == true) { //Address of customer var shippingAddress = this.ShippingAddress; SelectshippingAddress(shippingAddress); //Billing Address var billingAddress = this.ShippingAddress; SelectbillingAddress(billingAddress); } else { //Customer Address var shippingAddress = this.ShippingAddress; SelectshippingAddress(shippingAddress); //Billing Address var billingAddress = this.BillingAddress; SelectbillingAddress(billingAddress); } //详细付款方式 // LoadPaymentControl();//在重新载入 获取具体的支付值 if (this.ValidateForm()) { this.PaymentInfo = this.GetPaymentInfo(); var args1 = new CheckoutStepEventArgs() { PaymentInfoEntered = true }; OnCheckoutStepChanged(args1); } //确认 try { var paymentInfo = this.PaymentInfoConfirm; //paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.BillingAddress = CustomerService.GetAddressById(BillingAddressId); paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; int orderId = 0; string result = OrderService.PlaceOrder(paymentInfo, NopContext.Current.User, out orderId); this.PaymentInfo = null; var order = OrderService.GetOrderById(orderId); if (!String.IsNullOrEmpty(result)) { return; } else { PaymentService.PostProcessPayment(order); } var args2 = new CheckoutStepEventArgs() { OrderConfirmed = true }; OnCheckoutStepChanged(args2); } catch (Exception exc) { LogService.InsertLog(LogTypeEnum.OrderError, exc.Message, exc); } //一切无误后 跳转到完成页面 Response.Redirect("~/checkoutcompleted.aspx"); } else { if (shippingMethodSign == 0 && billingMethodSign == 0) { if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(2,1,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(2,1,0);", true); } else { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(2,0,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(2,0,0);", true); } } else if (shippingMethodSign == 0 && billingMethodSign == 1) { if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(3,1,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(3,1,0);", true); } else { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(3,0,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(3,0,0);", true); } } else if (shippingMethodSign == 1 && billingMethodSign == 0) { if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(4,1,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(4,1,0);", true); } else { if (shoppingCartRequiresShipping == false) ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(4,0,1);", true); else ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "alertMessage(4,0,0);", true); } } } } }
//触发 运送方式,并刷新购物车显示 protected void ShippingMethod_CheckedChanged(object sender, EventArgs e) { //如果是匿名访问 隐藏已有地址显示特效 if ((NopContext.Current.User == null || NopContext.Current.User.IsGuest) && CustomerService.AnonymousCheckoutAllowed) { AnonymousCheckoutAllowedSign = true; ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "UpdateSucceed", "showHideCheckoutAddress(3,0,0);", true); } var shippingOption = this.SelectedShippingOption; if (shippingOption != null) { NopContext.Current.User.LastShippingOption = shippingOption; var args1 = new CheckoutStepEventArgs() { ShippingMethodSelected = true }; OnCheckoutStepChanged(args1); shippingMethodSign = 1; } //刷新 OrderSummaryControl.BindData(); //如果先点击的 返点支付 并且已有的返点总额大于 商品总额 隐藏支付方式 int rewardPointsBalance = NopContext.Current.User.RewardPointsBalance; decimal rewardPointsAmountBase = OrderService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = CurrencyService.ConvertCurrency(rewardPointsAmountBase, CurrencyService.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); string totalPrice = OrderSummaryControl.getTotalPriceSummary; decimal allTotalPrice = decimal.Parse(totalPrice); if (cbUseRewardPoints.Checked == true) { if (rewardPointsAmount >= allTotalPrice) { rewardPointShowHide1.Visible = false; rewardPointShowHide2.Visible = false; billingMethodSign = 1; //payment methods 如果选择的是返点支付 并且返点的价格大于商品的价格 就默认为 store支付 store ID为25 int paymentMethodId = 25; var paymentMethod = PaymentService.GetPaymentMethodById(paymentMethodId); if (paymentMethod != null && paymentMethod.IsActive) { NopContext.Current.User.LastPaymentMethodId = paymentMethodId; this.CustomerService.UpdateCustomer(NopContext.Current.User); //NopContext.Current.User = CustomerService.SetLastPaymentMethodId(NopContext.Current.User.CustomerId, paymentMethodId); var args1 = new CheckoutStepEventArgs() { PaymentMethodSelected = true }; OnCheckoutStepChanged(args1); billingMethodSign = 1; } } else { rewardPointShowHide1.Visible = true; rewardPointShowHide2.Visible = true; } } }