コード例 #1
0
        protected void Order_Form_OnCommand(object sender, CommandEventArgs e)
        {
            Message.Text = "";
            if (e.CommandName == "Place Order")
            {
                if (Page.IsValid && Validate_Order())
                {
                    MySqlConnection dbconn = new MySqlConnection(CommonClass.connectionstring);
                    dbconn.Open();
                    string lDeliveryMethod = "3"; // To be couriered
                    if (Delivery_Method.SelectedValue != "")
                    {
                        lDeliveryMethod = Delivery_Method.SelectedValue;
                    }
                    string[] lRecords = CommonClass.ExecuteQuery("ADD_ORDER1",
                                                                 new string[]
                    {
                        "P_USER_ID",
                        "P_EXTERNAL_USER_ID",
                        "P_ORDER_TOTAL",
                        "P_SHIPPING_CHARGE",
                        "P_DISCOUNTS",
                        "P_ADDRESS_ID",
                        "P_PROMOTION_ID",
                        "P_PAYMENT_TYPE",
                        "P_STATUS",
                        "P_DELIVERY_METHOD"
                    },
                                                                 new string[]
                    {
                        USER_ID.Value,
                        ClaimsPrincipal.Current.FindFirst("user_id").Value,
                        Grand_Total.Text,
                        Shipping_Charges.Text,
                        Discounts.Text,
                        AddressBook1.GetDeliveryAddressId,
                        Promotion_Id.Value,
                        PAYMENT_TYPE_ID.Value,
                        ORDER_STATUS.Value,
                        lDeliveryMethod
                    },
                                                                 new string[]
                    {
                        "P_ORDER_ID"
                    },
                                                                 dbconn);
                    foreach (ListViewItem item in Product_ListView.Items)
                    {
                        ListView lv = (ListView)item.FindControl("Product_Order_ListView");
                        foreach (ListViewItem item1 in lv.Items)
                        {
                            Label lSubtotalLabel = item1.FindControl("Subtotal") as Label;
                            if (lSubtotalLabel.Text != "0" && lSubtotalLabel.Text != "0.0")
                            {
                                CommonClass.ExecuteQuery("ADD_ORDER_DETAILS",
                                                         new string[]
                                {
                                    "P_ORDER_ID",
                                    "P_PRODUCT_ID",
                                    "P_MEASUREMENT_UNIT",
                                    "P_QUANTITY",
                                    "P_PRICE"
                                },
                                                         new string[]
                                {
                                    lRecords[0],
                                    lv.DataKeys[item1.DataItemIndex].Values[0].ToString(),
                                    lv.DataKeys[item1.DataItemIndex].Values[1].ToString(),
                                    (item1.FindControl("Quantity_DropDown") as DropDownList).SelectedValue.ToString(),
                                    lv.DataKeys[item1.DataItemIndex].Values[2].ToString()
                                },
                                                         dbconn
                                                         );
                            }
                        }
                    }
                    ORDER_ID.Value = lRecords[0];
                    if (PAYMENT_TYPE_ID.Value == "Cash")
                    {
                        PaymentClass.Create_Cash_Payment(dbconn,
                                                         Grand_Total.Text,
                                                         USER_ID.Value);
                    }


                    //string lPaymentType = "";
                    //if (PAYMENT_TYPE_ID.Value != "" && PAYMENT_TYPE_ID.Value != null)
                    //{
                    //    MySqlCommand dbcomm = new MySqlCommand("SELECT GET_ATTRIBUTE_VALUE(GET_PAYMENT_TYPE_MASTER_TYPE(), " + PAYMENT_TYPE_ID.Value + ")", dbconn);
                    //   MySqlDataReader reader = dbcomm.ExecuteReader();

                    //                        while (reader.Read())
                    //                      {
                    //                        lPaymentType = reader[0].ToString();
                    //                  }
                    //                reader.Close();
                    //          }

                    if (PAYMENT_TYPE_ID.Value == WalletPaymentType)
                    {
                        UserModel lUserModel = CommonClass.Get_External_User_Profile(dbconn);

                        PaymentClass.Initiate_PayTm_Order(ORDER_ID.Value,
                                                          Grand_Total.Text,
                                                          lUserModel.Email_Address,
                                                          lUserModel.Mobile_Number);
                        dbconn.Close();
                    }
                    else if (PAYMENT_TYPE_ID.Value == OthersPaymentType)
                    {
                        UserModel lUserModel = CommonClass.Get_External_User_Profile(dbconn);

                        PaymentClass.Initiate_CCAvenue_Order(ORDER_ID.Value,
                                                             Grand_Total.Text,
                                                             lUserModel.Email_Address,
                                                             lUserModel.Mobile_Number,
                                                             AddressBook1.GetDeliveryAddressId,
                                                             dbconn);
                        dbconn.Close();
                    }
                    else
                    {
                        OrderClass.Confirm_Order(dbconn, ORDER_ID.Value);
                        dbconn.Close();

                        if (SuccessOrder != null)
                        {
                            SuccessOrder(this, EventArgs.Empty);
                        }
                    }
                }
            }
        }