コード例 #1
0
        protected void SubscriptionGrid_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            GridViewRow row = SubscriptionGrid.Rows[e.RowIndex];

            int          subscriptionId = (int)SubscriptionGrid.DataKeys[e.RowIndex].Value;
            Subscription subscription   = SubscriptionDataSource.Load(subscriptionId);

            if (subscription != null)
            {
                DropDownList AutoDeliveryInterval = row.FindControl("AutoDeliveryInterval") as DropDownList;
                if (AutoDeliveryInterval != null && !string.IsNullOrEmpty(AutoDeliveryInterval.SelectedValue))
                {
                    subscription.PaymentFrequency = AlwaysConvert.ToInt16(AutoDeliveryInterval.SelectedValue);
                    subscription.RecalculateNextOrderDueDate();
                    subscription.RecalculateExpiration();

                    try
                    {
                        EmailProcessor.NotifySubscriptionUpdated(subscription);
                    }
                    catch (Exception ex)
                    {
                        Logger.Error("Error sending subscription updated email.", ex);
                    }

                    subscription.Save();
                }
            }

            SubscriptionGrid.EditIndex = -1;
            e.Cancel = true;
        }
コード例 #2
0
        private void SaveShippingAddress()
        {
            _subscription.ShipToFirstName   = FirstName.Text;
            _subscription.ShipToLastName    = LastName.Text;
            _subscription.ShipToCompany     = Company.Text;
            _subscription.ShipToAddress1    = Address1.Text;
            _subscription.ShipToAddress2    = Address2.Text;
            _subscription.ShipToCity        = City.Text;
            _subscription.ShipToProvince    = Province.Text;
            _subscription.ShipToPostalCode  = PostalCode.Text;
            _subscription.ShipToCountryCode = CountryCode.Items[CountryCode.SelectedIndex].Value;
            _subscription.ShipToPhone       = Phone.Text;
            _subscription.ShipToFax         = Fax.Text;
            _subscription.ShipToResidence   = (Residence.SelectedIndex == 0);

            try
            {
                EmailProcessor.NotifySubscriptionUpdated(_subscription);
            }
            catch (Exception ex)
            {
                Logger.Error("Error sending subscription updated email.", ex);
            }

            _subscription.Save();
        }
コード例 #3
0
        private void Save()
        {
            _Subscription.Name = SubscriptionName.Text;
            int selectedGroupId = AlwaysConvert.ToInt(SubscriptionGroup.SelectedValue);

            _Subscription.GroupId  = selectedGroupId;
            _Subscription.IsActive = Active.Checked;
            short frequency = AlwaysConvert.ToInt16(Frequency.Text);

            // IF PAYMENT FREQUENCY IS CHANGED BY MERCHANT
            if (trFrequency.Visible && frequency > 0 && _Subscription.PaymentFrequency != frequency)
            {
                _Subscription.PaymentFrequency = frequency;

                // RECALCULATE NEXT ORDER DATE ACCORDING TO NEW FREQUENCY VALUE
                _Subscription.RecalculateNextOrderDueDate();

                // RECALCULATE EXPIRATION ACCORDING TO NEW FREQUENCY VALUE
                _Subscription.RecalculateExpiration();
            }

            short numberOfPayments = AlwaysConvert.ToInt16(NumberOfPayments.Text);

            if (numberOfPayments != _Subscription.NumberOfPayments)
            {
                _Subscription.NumberOfPayments = numberOfPayments;
                _Subscription.RecalculateExpiration();
            }

            try
            {
                EmailProcessor.NotifySubscriptionUpdated(_Subscription);
            }
            catch (Exception ex)
            {
                Logger.Error("Error sending subscription updated email.", ex);
            }

            _Subscription.Save();
            InitFormValues();
        }
コード例 #4
0
        protected void UpdateCardButton_Click(object sender, EventArgs e)
        {
            int profileId = AlwaysConvert.ToInt(PreferedCreditCard.SelectedValue);

            if (profileId > 0)
            {
                _Subscription.PaymentProfile = GatewayPaymentProfileDataSource.Load(profileId);
                IList <PaymentMethod> methods          = AbleCommerce.Code.StoreDataHelper.GetPaymentMethods(AbleContext.Current.UserId);
                PaymentMethod         newPaymentMethod = null;
                if (string.IsNullOrEmpty(_Subscription.PaymentProfile.PaymentMethodName))
                {
                    newPaymentMethod = methods.Where(m => m.PaymentInstrumentType == _Subscription.PaymentProfile.InstrumentType).FirstOrDefault();
                }
                else
                {
                    newPaymentMethod = methods.Where(m => m.Name == _Subscription.PaymentProfile.PaymentMethodName).SingleOrDefault();
                }

                if (newPaymentMethod != null)
                {
                    _Subscription.PaymentMethod = newPaymentMethod;
                }

                try
                {
                    EmailProcessor.NotifySubscriptionUpdated(_Subscription);
                }
                catch (Exception ex)
                {
                    Logger.Error("Error sending subscription updated email.", ex);
                }

                _Subscription.Save();
                BindPayments(profileId);
                CreditCardMessagePH.Visible = true;
            }
        }
コード例 #5
0
        protected void SaveAddressButton_Click(object sender, EventArgs e)
        {
            Subscription subscription      = SubscriptionDataSource.Load(AlwaysConvert.ToInt(HiddenSubscriptionId.Value));
            bool         isShippingAddress = AlwaysConvert.ToBool(HiddenIsShipping.Value, false);

            if (Page.IsValid && subscription != null)
            {
                string buttonId = ((Button)sender).ID;
                string formattedProvinceName;
                if (ValidateProvince(Country, Province, Province2, out formattedProvinceName))
                {
                    string address1   = StringHelper.StripHtml(Address1.Text);
                    string address2   = StringHelper.StripHtml(Address2.Text);
                    string city       = StringHelper.StripHtml(City.Text);
                    string postalCode = StringHelper.StripHtml(PostalCode.Text);

                    if (isShippingAddress)
                    {
                        subscription.ShipToFirstName   = StringHelper.StripHtml(FirstName.Text);
                        subscription.ShipToLastName    = StringHelper.StripHtml(LastName.Text);
                        subscription.ShipToAddress1    = address1;
                        subscription.ShipToAddress2    = address2;
                        subscription.ShipToCompany     = StringHelper.StripHtml(Company.Text);
                        subscription.ShipToCity        = city;
                        subscription.ShipToProvince    = formattedProvinceName;
                        subscription.ShipToPostalCode  = postalCode;
                        subscription.ShipToCountryCode = Country.SelectedValue;
                        subscription.ShipToPhone       = StringHelper.StripHtml(Phone.Text);
                        subscription.ShipToFax         = StringHelper.StripHtml(Fax.Text);
                        subscription.ShipToResidence   = !IsBusiness.Checked;

                        try
                        {
                            EmailProcessor.NotifySubscriptionUpdated(subscription);
                        }
                        catch (Exception ex)
                        {
                            Logger.Error("Error sending subscription updated email.", ex);
                        }

                        subscription.Save();
                    }
                    else
                    {
                        subscription.BillToFirstName   = StringHelper.StripHtml(FirstName.Text);
                        subscription.BillToLastName    = StringHelper.StripHtml(LastName.Text);
                        subscription.BillToAddress1    = address1;
                        subscription.BillToAddress2    = address2;
                        subscription.BillToCompany     = StringHelper.StripHtml(Company.Text);
                        subscription.BillToCity        = city;
                        subscription.BillToProvince    = formattedProvinceName;
                        subscription.BillToPostalCode  = postalCode;
                        subscription.BillToCountryCode = Country.SelectedValue;
                        subscription.BillToPhone       = StringHelper.StripHtml(Phone.Text);
                        subscription.BillToFax         = StringHelper.StripHtml(Fax.Text);
                        subscription.BillToResidence   = !IsBusiness.Checked;

                        try
                        {
                            EmailProcessor.NotifySubscriptionUpdated(subscription);
                        }
                        catch (Exception ex)
                        {
                            Logger.Error("Error sending subscription updated email.", ex);
                        }

                        subscription.Save();
                    }

                    //REBUILD ADDRESS BOOK
                    InitAddressForm(null);
                    EditAddressPopup.Hide();
                }
                else
                {
                    Province2Required.IsValid = false;
                    CountryChanged(null, null);
                }
            }
        }