示例#1
0
    protected void CheckoutButton_Click(object sender, EventArgs e)
    {
        TermsAndConditionsValidator.Validate();

        //Start processing only if, "Agree to terms and conditions" checkbox is checked.
        if (chkAgree.Checked)
        {
            // get the credit card...
            CreditCardInfo card = GetCreditCard();

            bool testMode = Page.User.IsInRole("Admin");

            try
            {
                Monaco.Classroom.Ordering.Product product = Monaco.Classroom.Ordering.ProductController.GetProduct(this.Sku);

                //OrderItem item = new OrderItem(this.Sku, (Guid)Membership.GetUser().ProviderUserKey, card.Id, testMode, Globals.Settings.LandingPages.LandingPageID, Session.SessionID, product.TypeId);
                Monaco.Billing.Entities.OrderItem item = new Monaco.Billing.Entities.OrderItem(this.Sku, (Guid)Membership.GetUser().ProviderUserKey, card.Id, MembershipSettings.ConfigSettings.Website.Debug, Session.SessionID);

                Monaco.Classroom.Ordering.ProductProcessor processor = new Monaco.Classroom.Ordering.ProductProcessor(item);

                processor.OrderFailure += new Monaco.Classroom.Ordering.OrderFailureEventHandler(processor_OrderFailure);
                processor.OrderSuccess += new Monaco.Classroom.Ordering.OrderSuccessEventHandler(processor_OrderSuccess);

                processor.Process();

                // this needs to be replaced by some sort of concrete implementation
                // this would only work given that status=4 would compromise a successful completion of the order
                if (item.Status == 4)
                    processor.OnOrderSuccess(new Monaco.Classroom.Ordering.OrderSuccessEventArgs(item));
                else
                    processor.OnOrderFailure(new Monaco.Classroom.Ordering.OrderFailureEventArgs("unable to complete transaction"));
            }
            //catch (OrderSaveException ex)
            catch (Exception ex)
            {
                // raise a critical event...
                if (ex.InnerException != null)
                    this.ErrorMessage.Text = ex.InnerException.Message;
            }
        }
    }
示例#2
0
 protected void BindOrder()
 {
     _order = Monaco.Billing.Entities.OrderItem.GetOrder(this.OrderId);
 }
 protected void BindOrder()
 {
     _order = Monaco.Billing.Entities.OrderItem.GetOrder(SelectedTransaction.OrderId);
 }
    protected void CreateEnrollmentDialog_OkButtonClicked(object sender, EventArgs e)
    {
        EnrollmentValidator.Validate();
        Guid cardId;
        Guid userId;
        string sku;

        if (base.Page.IsValid)
        {
            if (!string.IsNullOrEmpty(CreditCardDropdown.SelectedValue.ToString()))
                cardId = new Guid(CreditCardDropdown.SelectedValue.ToString());
            else
                cardId = new Guid();

            //userId = (Guid)Membership.GetUser().ProviderUserKey;
            userId = (Guid)Membership.GetUser(UserName).ProviderUserKey;
            sku = SKUDropDownList.SelectedValue.ToString();

            if (!chkFree.Checked)
            {
                try
                {
                    //OrderItem item = new OrderItem(sku, userId, cardId, chkFree.Checked, Session.SessionID);
                    Monaco.Billing.Entities.OrderItem item = new Monaco.Billing.Entities.OrderItem(); 
                    Monaco.Classroom.Ordering.ProductProcessor processor = new Monaco.Classroom.Ordering.ProductProcessor(item);
                    processor.Process();
                }
                catch (Exception ex)
                {
                    // Create the event
                    CriticalTransactionEvent transactionException = new CriticalTransactionEvent(
                                  "Error in the Transaction!!",
                                  this,
                                  System.Web.Management.WebEventCodes.WebExtendedBase + 1230251,
                                  ex);

                    // Raise the event
                    transactionException.Raise();
                }
            }
            else
            {
                ClassroomController.InsertEnrollment(userId, sku);
            }
            OnEnrollmentCreated(e);
            CreateEnrollmentDialog.Reset();
            BindDialog();
            DataBind();
        }
        else
        {

            ValidationHelper.SetFocusToFirstError(this.Page, "create_enrollment");
        }
    }