Beispiel #1
0
        public int AddBillingAddress(OrderDetailsCollection OrderData, SqlTransaction tran, int addressID)
        {
            try
            {
                List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();

                ParaMeter.Add(new KeyValuePair<string, object>("@AddressID", addressID));
                ParaMeter.Add(new KeyValuePair<string, object>("@IsDefault",
                                                               OrderData.objBillingAddressInfo.IsDefaultBilling));

                ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                ParaMeter.Add(new KeyValuePair<string, object>("@CultureName", OrderData.objCommonInfo.CultureName));
                ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));

                SQLHandler sqlH = new SQLHandler();

                int billingAddressID = sqlH.ExecuteNonQuery(tran, CommandType.StoredProcedure,
                                                            "USP_ASPX_UserBillingAddress", ParaMeter,
                                                            "@UserBillingAddressID");

                return addressID;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        public int AddAddress(OrderDetailsCollection OrderData, SqlTransaction tran)
        {
            try
            {
                List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();

                ParaMeter.Add(new KeyValuePair<string, object>("@FirstName", OrderData.objBillingAddressInfo.FirstName));
                ParaMeter.Add(new KeyValuePair<string, object>("@LastName", OrderData.objBillingAddressInfo.LastName));
                ParaMeter.Add(new KeyValuePair<string, object>("@CustomerID", OrderData.objOrderDetails.CustomerID));
                ParaMeter.Add(new KeyValuePair<string, object>("@SessionCode", OrderData.objOrderDetails.SessionCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@Email", OrderData.objBillingAddressInfo.EmailAddress));
                ParaMeter.Add(new KeyValuePair<string, object>("@Company", OrderData.objBillingAddressInfo.CompanyName));
                ParaMeter.Add(new KeyValuePair<string, object>("@Address1", OrderData.objBillingAddressInfo.Address));
                ParaMeter.Add(new KeyValuePair<string, object>("@Address2", OrderData.objBillingAddressInfo.Address2));
                ParaMeter.Add(new KeyValuePair<string, object>("@City", OrderData.objBillingAddressInfo.City));
                ParaMeter.Add(new KeyValuePair<string, object>("@State", OrderData.objBillingAddressInfo.State));
                ParaMeter.Add(new KeyValuePair<string, object>("@Country", OrderData.objBillingAddressInfo.Country));
                ParaMeter.Add(new KeyValuePair<string, object>("@Zip", OrderData.objBillingAddressInfo.Zip));
                ParaMeter.Add(new KeyValuePair<string, object>("@Phone", OrderData.objBillingAddressInfo.Phone));
                ParaMeter.Add(new KeyValuePair<string, object>("@Mobile", OrderData.objBillingAddressInfo.Mobile));
                ParaMeter.Add(new KeyValuePair<string, object>("@Fax", OrderData.objBillingAddressInfo.Fax));
                ParaMeter.Add(new KeyValuePair<string, object>("@UserName", OrderData.objBillingAddressInfo.EmailAddress));
                ParaMeter.Add(new KeyValuePair<string, object>("@WebSite", OrderData.objBillingAddressInfo.WebSite));
                ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                ParaMeter.Add(new KeyValuePair<string, object>("@CultureName", OrderData.objCommonInfo.CultureName));
                ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));

                SQLHandler sqlH = new SQLHandler();

                int addressID = sqlH.ExecuteNonQuery(tran, CommandType.StoredProcedure,
                                                            "USP_ASPX_UserAddress", ParaMeter,
                                                            "@AddressID");

                return addressID;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #3
0
        //single
        public void AddOrderItems(OrderDetailsCollection OrderData, SqlTransaction tran,int orderID,int shippingAddressID)
        {
            try
            {
                foreach (OrderItemInfo objItems in OrderData.lstOrderItemsInfo)
                {
                    List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();

                    ParaMeter.Add(new KeyValuePair<string, object>("@OrderID", orderID));
                    ParaMeter.Add(new KeyValuePair<string, object>("@UserShippingAddressID", shippingAddressID));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ShippingMethodID", objItems.ShippingMethodID));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ItemID", objItems.ItemID));
                    ParaMeter.Add(new KeyValuePair<string, object>("@Price", objItems.Price));
                    ParaMeter.Add(new KeyValuePair<string, object>("@Quantity", objItems.Quantity));
                    ParaMeter.Add(new KeyValuePair<string, object>("@Weight", objItems.Weight));
                    ParaMeter.Add(new KeyValuePair<string, object>("@Remarks", objItems.Remarks));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ShippingRate", objItems.ShippingRate));

                    ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                    ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CultureName", OrderData.objCommonInfo.CultureName));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CostVariants", objItems.Variants));                 
                  
                    SQLHandler sqlH = new SQLHandler();
                    sqlH.ExecuteNonQuery(tran, CommandType.StoredProcedure, "[USP_ASPX_ORDERITEM]", ParaMeter);
                   
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #4
0
        public void UpdateItemQuantity(OrderDetailsCollection OrderData)
        {
            try
            {
                if (OrderData.objOrderDetails.CouponCode.Trim() != null && System.Web.HttpContext.Current.Session["CouponApplied"] != null)
                {
                    ReduceCouponUsed(OrderData.objOrderDetails.CouponCode.Trim(), OrderData.objCommonInfo.StoreID, OrderData.objCommonInfo.PortalID, OrderData.objCommonInfo.AddedBy);
                }

                foreach (OrderItemInfo objItems in OrderData.lstOrderItemsInfo)
                {
                    if (objItems.IsDownloadable != true)
                    {
                        List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();
                        ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                        ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                        ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));
                        ParaMeter.Add(new KeyValuePair<string, object>("@ItemID", objItems.ItemID));
                        ParaMeter.Add(new KeyValuePair<string, object>("@Quantity", objItems.Quantity));
                        SQLHandler sqlH = new SQLHandler();
                        sqlH.ExecuteNonQuery("[dbo].[usp_ASPX_UpdateItemQuantitybyOrder]", ParaMeter);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }
Beispiel #5
0
        public void UpdateOrderDetails(OrderDetailsCollection OrderData)
        {
            try
            {
                List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();

              //  ParaMeter.Add(new KeyValuePair<string, object>("@InvoiceNumber", DateTime.Now.ToString("yyyyMMddhhmmss"))); 
                ParaMeter.Add(new KeyValuePair<string, object>("@TransactionID", OrderData.objOrderDetails.TransactionID));               
                ParaMeter.Add(new KeyValuePair<string, object>("@OrderStatusID", OrderData.objOrderDetails.OrderStatusID));         
                ParaMeter.Add(new KeyValuePair<string, object>("@ResponseCode", OrderData.objOrderDetails.ResponseCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@ResponseReasonCode", OrderData.objOrderDetails.ResponseReasonCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@ResponseReasonText", OrderData.objOrderDetails.ResponseReasonText));
                ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));
                ParaMeter.Add(new KeyValuePair<string, object>("@OrderID", OrderData.objOrderDetails.OrderID));
                SQLHandler sqlH = new SQLHandler();
                sqlH.ExecuteNonQuery("[dbo].[usp_ASPX_UpdateOrderDetails]", ParaMeter);
               
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #6
0
        public int AddPaymentInfo(OrderDetailsCollection OrderData, SqlTransaction tran)
        {
            try
            {
                List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();

                ParaMeter.Add(new KeyValuePair<string, object>("@PaymentMethodName",
                                                               OrderData.objPaymentInfo.PaymentMethodName));
                ParaMeter.Add(new KeyValuePair<string, object>("@PaymentMethodCode",
                                                               OrderData.objPaymentInfo.PaymentMethodCode));
                if (OrderData.objPaymentInfo.PaymentMethodCode == "CC")
                {
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardNumber", OrderData.objPaymentInfo.CardNumber));
                    ParaMeter.Add(new KeyValuePair<string, object>("@TransactionType",
                                                                   OrderData.objPaymentInfo.TransactionType));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardType", OrderData.objPaymentInfo.CardType));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardCode", OrderData.objPaymentInfo.CardCode));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ExpireDate", OrderData.objPaymentInfo.ExpireDate));

                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountNumber",
                                                                   ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@RoutingNumber",
                                                                   ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@BankName", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountHolderName",
                                                                   ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ChequeType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ChequeNumber",
                                                                   ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@RecurringBillingStatus",
                                                                   false));
                }
                else if (OrderData.objPaymentInfo.PaymentMethodCode == "ECHECK")
                {
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardNumber", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@TransactionType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardCode", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ExpireDate", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountNumber", OrderData.objPaymentInfo.AccountNumber));
                    ParaMeter.Add(new KeyValuePair<string, object>("@RoutingNumber", OrderData.objPaymentInfo.RoutingNumber));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountType", OrderData.objPaymentInfo.AccountType));
                    ParaMeter.Add(new KeyValuePair<string, object>("@BankName", OrderData.objPaymentInfo.BankName));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountHolderName", OrderData.objPaymentInfo.AccountHolderName));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ChequeType", OrderData.objPaymentInfo.ChequeType));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ChequeNumber", OrderData.objPaymentInfo.ChequeNumber));
                    ParaMeter.Add(new KeyValuePair<string, object>("@RecurringBillingStatus", OrderData.objPaymentInfo.RecurringBillingStatus));
                }
                else
                {
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardNumber", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@TransactionType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CardCode", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ExpireDate", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountNumber", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@RoutingNumber", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@BankName", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@AccountHolderName", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ChequeType", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@ChequeNumber", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@RecurringBillingStatus", OrderData.objPaymentInfo.RecurringBillingStatus));

                }

                ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                ParaMeter.Add(new KeyValuePair<string, object>("@CultureName", OrderData.objCommonInfo.CultureName));
                ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));
                SQLHandler sqlH = new SQLHandler();
                int paymentMethodID = sqlH.ExecuteNonQuery(tran, CommandType.StoredProcedure, "[USP_ASPX_PaymentInfo]",
                                                           ParaMeter, "@PaymentMethodID");
                return paymentMethodID;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #7
0
        public int AddOrder(OrderDetailsCollection OrderData, SqlTransaction tran,int billingAddressID,int paymentMethodId)
        {
            try
            {
                List<KeyValuePair<string, object>> ParaMeter = new List<KeyValuePair<string, object>>();

                ParaMeter.Add(new KeyValuePair<string, object>("@InvoiceNumber", OrderData.objOrderDetails.InvoiceNumber));
                if (OrderData.objOrderDetails.CustomerID == 0)
                {
                    ParaMeter.Add(new KeyValuePair<string, object>("@SessionCode", OrderData.objOrderDetails.SessionCode));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CustomerID", 0));
                }
                else
                {
                    ParaMeter.Add(new KeyValuePair<string, object>("@SessionCode", ""));
                    ParaMeter.Add(new KeyValuePair<string, object>("@CustomerID", OrderData.objOrderDetails.CustomerID));
                }
                ParaMeter.Add(new KeyValuePair<string, object>("@TransactionID", OrderData.objOrderDetails.TransactionID));
                ParaMeter.Add(new KeyValuePair<string, object>("@GrandTotal", OrderData.objOrderDetails.GrandTotal));
                ParaMeter.Add(new KeyValuePair<string, object>("@DiscountAmount",
                                                               OrderData.objOrderDetails.DiscountAmount));
                ParaMeter.Add(new KeyValuePair<string, object>("@CouponCode", OrderData.objOrderDetails.CouponCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@PurchaseOrderNumber",
                                                               OrderData.objOrderDetails.PurchaseOrderNumber));
                ParaMeter.Add(new KeyValuePair<string, object>("@PaymentGateTypeID",
                                                               OrderData.objOrderDetails.PaymentGatewayTypeID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PaymentGateSubTypeID",
                                                               OrderData.objOrderDetails.PaymentGatewaySubTypeID));
                ParaMeter.Add(new KeyValuePair<string, object>("@ClientIPAddress",
                                                               OrderData.objOrderDetails.ClientIPAddress));
                ParaMeter.Add(new KeyValuePair<string, object>("@UserBillingAddressID",
                                                               billingAddressID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PaymentMethodID",
                                                               paymentMethodId));
                ParaMeter.Add(new KeyValuePair<string, object>("@OrderStatusID", OrderData.objOrderDetails.OrderStatusID));
                ParaMeter.Add(new KeyValuePair<string, object>("@IsGuestUser", OrderData.objOrderDetails.IsGuestUser));
                ParaMeter.Add(new KeyValuePair<string, object>("@TaxTotal", OrderData.objOrderDetails.TaxTotal));
                ParaMeter.Add(new KeyValuePair<string, object>("@CurrencyCode", OrderData.objOrderDetails.CurrencyCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@ResponseCode", OrderData.objOrderDetails.ResponseCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@ResponseReasonCode",
                                                               OrderData.objOrderDetails.ResponseReasonCode));
                ParaMeter.Add(new KeyValuePair<string, object>("@ResponseReasonText",
                                                               OrderData.objOrderDetails.ResponseReasonText));
                ParaMeter.Add(new KeyValuePair<string, object>("@Remarks", OrderData.objOrderDetails.Remarks));
                ParaMeter.Add(new KeyValuePair<string, object>("@StoreID", OrderData.objCommonInfo.StoreID));
                ParaMeter.Add(new KeyValuePair<string, object>("@PortalID", OrderData.objCommonInfo.PortalID));
                ParaMeter.Add(new KeyValuePair<string, object>("@CultureName", OrderData.objCommonInfo.CultureName));
                ParaMeter.Add(new KeyValuePair<string, object>("@AddedBy", OrderData.objCommonInfo.AddedBy));

                SQLHandler sqlH = new SQLHandler();
                int orderID = sqlH.ExecuteNonQuery(tran, CommandType.StoredProcedure, "[USP_ASPX_OrderDetails]",
                                                   ParaMeter, "@OrderID");
                return orderID;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    public void AddOrderDetails(OrderDetailsCollection OrderData)
    {
        SQLHandler sqlH = new SQLHandler();
        SqlTransaction tran;
        tran = (SqlTransaction)sqlH.GetTransaction();
        //ASPXCommerceSession sn = new ASPXCommerceSession();
        OrderData.objOrderDetails.InvoiceNumber = DateTime.Now.ToString("yyyyMMddhhmmss");
        try
        {
            ASPXOrderDetails objOrderDetails = new ASPXOrderDetails();

            int billingAddressID = 0;
            int shippingAddressId = 0;
            int orderID = 0;
            if (OrderData.objOrderDetails.IsMultipleCheckOut == false)
            {
                if (OrderData.objBillingAddressInfo.IsBillingAsShipping == true)
                {
                    if (int.Parse(OrderData.objBillingAddressInfo.AddressID) == 0 &&
                        int.Parse(OrderData.objShippingAddressInfo.AddressID) == 0)
                    {
                        int addressID = objOrderDetails.AddAddress(OrderData, tran);
                        billingAddressID = objOrderDetails.AddBillingAddress(OrderData, tran, addressID);
                        shippingAddressId = objOrderDetails.AddShippingAddress(OrderData, tran, addressID);
                    }
                }
                else
                {
                    if (int.Parse(OrderData.objBillingAddressInfo.AddressID) == 0)
                        billingAddressID = objOrderDetails.AddBillingAddress(OrderData, tran);
                  
                    if (int.Parse(OrderData.objShippingAddressInfo.AddressID) == 0)
                    {
                        if (!OrderData.objOrderDetails.IsDownloadable)
                        {
                            shippingAddressId = objOrderDetails.AddShippingAddress(OrderData, tran);
                        }

                    }
                }
            }
            int paymentMethodID = objOrderDetails.AddPaymentInfo(OrderData, tran);

            if (billingAddressID > 0)
            {
                orderID = objOrderDetails.AddOrder(OrderData, tran, billingAddressID, paymentMethodID);
                //sn.SetSessionVariable("OrderID", orderID);
                SetSessionVariable("OrderID", orderID);
                SetSessionVariable("OrderCollection", OrderData);
            }
            else
            {
                orderID = objOrderDetails.AddOrderWithMultipleCheckOut(OrderData, tran, paymentMethodID);

                //sn.SetSessionVariable("OrderID", orderID);
                SetSessionVariable("OrderID", orderID);
                SetSessionVariable("OrderCollection", OrderData);
            }

            if (shippingAddressId > 0)
                objOrderDetails.AddOrderItems(OrderData, tran, orderID, shippingAddressId);
            else
                objOrderDetails.AddOrderItemsList(OrderData, tran, orderID);

            tran.Commit();
        }
        catch (SqlException sqlEX)
        {

            throw new ArgumentException(sqlEX.Message);
        }
        catch (Exception ex)
        {
            tran.Rollback();
            throw ex;
        }
    }
    public void SaveOrderDetails(OrderDetailsCollection OrderDetail)
    {
        try
        {
            OrderDetail.objOrderDetails.OrderStatusID = 7;
            AddOrderDetails(OrderDetail);
        }
        catch (Exception ex)
        {

            throw ex;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            try
            {
                SageFrameConfig sfConfig = new SageFrameConfig();
                IsUseFriendlyUrls = sfConfig.GetSettingBollByKey(SageFrameSettingKeys.UseFriendlyUrls);
                string sageRedirectPath = string.Empty;
                if (IsUseFriendlyUrls)
                {
                    if (GetPortalID > 1)
                    {
                        sageRedirectPath = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx");
                    }
                    else
                    {
                        sageRedirectPath = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx");
                    }
                }
                else
                {
                    sageRedirectPath = ResolveUrl("{~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage));
                }

                Image imgProgress = (Image)UpdateProgress1.FindControl("imgPrgress");
                if (imgProgress != null)
                {
                    imgProgress.ImageUrl = GetTemplateImageUrl("ajax-loader.gif", true);
                }
                hlnkHomePage.NavigateUrl = sageRedirectPath;

                if (Session["OrderID"] != null)
                {
                    int storeID = int.Parse(GetStoreID.ToString());
                    int portalID = int.Parse(GetPortalID.ToString());
                    string userName = GetUsername.ToString();
                    int customerID = int.Parse(GetCustomerID.ToString());
                    OrderDetailsCollection orderdata = new OrderDetailsCollection();
                    List<PayPalSettingInfo> setting;
                    if (HttpContext.Current.Session["OrderCollection"] != null)
                    {

                        orderdata = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"];
                        invoice = orderdata.objOrderDetails.InvoiceNumber.ToString();
                        PayPalWCFService pw = new PayPalWCFService();
                        int i = int.Parse(orderdata.objOrderDetails.PaymentGatewayTypeID.ToString());
                        setting = pw.GetAllPayPalSetting(i, storeID, portalID);
                        authToken = setting[0].AuthToken.ToString();
                    }

                    // authToken = "QMtOC54_YHYUkoggkMZ81ivNWSxPXduIqS5oMynafeUGRL1Rv5OTtUd4rvq";

                    //read in txn token from querystring
                    txToken = Request.QueryString.Get("tx");
                    query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, authToken);
                    // Create the request back
                    // string url = "https://www.sandbox.paypal.com/cgi-bin/webscr";
                    string strSandbox = "https://www.sandbox.paypal.com/cgi-bin/webscr";
                    string strLive = "https://www.paypal.com/cgi-bin/webscr";
                    string test = string.Empty;
                    if (Session["IsTestPayPal"] != null)
                    {

                        if (bool.Parse(Session["IsTestPayPal"].ToString()))
                        {
                            test = strSandbox;
                        }
                        else
                        {
                            test = strLive;
                        }
                    }
                    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(test);

                    // Set values for the request back
                    req.Method = "POST";
                    req.ContentType = "application/x-www-form-urlencoded";
                    req.ContentLength = query.Length;

                    // Write the request back IPN strings
                    StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
                    stOut.Write(query);
                    stOut.Close();

                    // Do the request to PayPal and get the response
                    StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
                    strResponse = stIn.ReadToEnd();
                    stIn.Close();

                    // If response was SUCCESS, parse response string and output details
                    if (strResponse.StartsWith("SUCCESS"))
                    {
                        string sessionCode = HttpContext.Current.Session.SessionID.ToString();
                        //for localhost
                       // PayPalHandler pdt = PayPalHandler.Parse(strResponse, storeID, portalID, userName, customerID, sessionCode);
                        //for live site
                        try
                        {
                            PayPalHandler pdtt = PayPalHandler.ParseAfterIPN(strResponse, storeID, portalID, userName, customerID, sessionCode);

                        }
                        catch (Exception)
                        {
                            lblerror.Text = "Some Error Ocuured. Please view your order wheather order processed or pending";
                           
                        } 
                        ASPXCommerceWebService clSes = new ASPXCommerceWebService();

                        String sKey, sValue;
                        String[] StringArray = strResponse.Split('\n');
                        int i;
                        string status = string.Empty;
                        for (i = 1; i < StringArray.Length - 1; i++)
                        {
                            String[] StringArray1 = StringArray[i].Split('=');

                            sKey = StringArray1[0];
                            sValue = HttpUtility.UrlDecode(StringArray1[1]);

                            // set string vars to hold variable names using a switch
                            switch (sKey)
                            {
                                case "txn_id":
                                    transID = Convert.ToString(sValue);
                                    break;
                                case "payment_status":
                                    status = Convert.ToString(sValue);
                                    break;  

                            }
                        }

                        lblTransaction.Text = transID;
                        lblInvoice.Text = invoice;
                        lblPaymentMethod.Text = "Paypal";
                        lblDateTime.Text = DateTime.Now.ToString("dddd, dd MMMM yyyy ");
                        if (status.ToLower().Trim() == "completed")
                        {
                            lblerror.Text = "Your payment has been successfully processed." +
                            " A confirmation email has been sent to you with the details of the order. Please quote the order number for all future correspondence regarding this transaction.";
                        }
                        else if (status.ToLower().Trim() == "pending")
                        {
                            lblerror.Text = "Transaction completed with status is pending. Your order status is pending and Also" +
                        " a confirmation email has been sent to you with the details of the order. Please complete your transaction in order to further process.";
                     
                        }

                        if (Session["IsFreeShipping"] != null)
                        {
                            clSes.ClearSessionVariable("IsFreeShipping");

                        }
                        if (Session["DiscountAmount"] != null)
                        {
                            clSes.ClearSessionVariable("DiscountAmount");

                        }
                        if (Session["CouponCode"] != null)
                        {
                            clSes.ClearSessionVariable("CouponCode");

                        }
                        if (Session["CouponApplied"] != null)
                        {
                            HttpContext.Current.Session.Remove("CouponApplied");
                        }
                        Session.Remove("IsTestPayPal");
                        if (Session["DiscountAll"] != null)
                        {
                            HttpContext.Current.Session.Remove("DiscountAll");
                        }
                        if (Session["TaxAll"] != null)
                        {
                            HttpContext.Current.Session.Remove("TaxAll");
                        }
                        if (Session["ShippingCostAll"] != null)
                        {
                            HttpContext.Current.Session.Remove("ShippingCostAll");
                        }
                        if (Session["GrandTotalAll"] != null)
                        {
                            HttpContext.Current.Session.Remove("GrandTotalAll");
                        }
                        if (Session["Gateway"] != null)
                        {
                            HttpContext.Current.Session.Remove("Gateway");
                        }
                    }
                    else
                    {

                        lblerror.Text = "Something goes wrong !! you may check your email or contact merchant whether transaction occured successfully or not....";
                    }
                }
                else
                {
                    Response.Redirect(sageRedirectPath, false);
                }
            }
            catch (Exception ex)
            {

                ProcessException(ex);
            }
        }
    }
    public void LoadSetting()
    {
        PayPalWCFService pw = new PayPalWCFService();
        List<PayPalSettingInfo> sf;
        OrderDetailsCollection orderdata2 = new OrderDetailsCollection();
        orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"];

        try
        {
            sf = pw.GetAllPayPalSetting(int.Parse(Session["GateWay"].ToString()), storeID, portalID);

            string sAdd;

            if (bool.Parse(sf[0].IsTestPaypal.ToString()))
            {
                PaypalForm.Action = "https://www.sandbox.paypal.com/us/cgi-bin/webscr";
                HttpContext.Current.Session["IsTestPayPal"] = true;
                // clickhere.NavigateUrl="https://www.sandbox.paypal.com/us/cgi-bin/webscr";
            }
            else
            {
                PaypalForm.Action = "https://www.paypal.com/us/cgi-bin/webscr";
                HttpContext.Current.Session["IsTestPayPal"] = false;
                // clickhere.NavigateUrl = "https://www.paypal.com/us/cgi-bin/webscr";
            }
            sAdd = "<input name=\"business\" type=\"hidden\" value=\"" + sf[0].BusinessAccount.ToString() + "\"> ";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
            sAdd = "<input name=\"cancel_return\"  type=\"hidden\" value=\"" + sf[0].CancelUrl.ToString() + "\"> ";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));

            sAdd = "<input name=\"return\" type=\"hidden\" value=\"" + sf[0].ReturnUrl.ToString() + "\"> ";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
            sAdd = "<input name=\"notify_url\"  type=\"hidden\" value=\"" + sf[0].VerificationUrl.ToString() + "\"> ";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
            sAdd = "<input type=\"hidden\" name=\"cmd\" value=\"_cart\" />";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
            sAdd = "<input type=\"hidden\" name=\"upload\" value=\"1\" />";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
            sAdd = "<input type=\"hidden\" name=\"rm\" value=\"1\" />";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
            //43#1#1#usern#44#session
            string ids = Session["OrderID"].ToString() + "#" + storeID + "#" + portalID + "#" + userName + "#" + customerID + "#" + sessionCode + "#" + Session["IsTestPayPal"].ToString();
            sAdd = "<input type=\"hidden\" name=\"custom\" value=\"" + ids + "\" />";
            plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));
         
            //string itemReduce = string.Empty;
            //string coupon = string.Empty;
            //foreach (OrderItemInfo objItems in orderdata2.lstOrderItemsInfo)
            //{
            //    itemReduce += objItems.ItemID + "," + objItems.Quantity + "," + objItems.IsDownloadable + "#";
            //}
            //sAdd = "<input type=\"hidden\" name=\"custom_1\" value=\"" + itemReduce + "\" />";
            //plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));

            //if (orderdata2.objOrderDetails.CouponCode != null && Session["CouponApplied"] != null)
            //{
            //    coupon = orderdata2.objOrderDetails.CouponCode + "#" + Session["CouponApplied"].ToString();
            //}
            //sAdd = "<input type=\"hidden\" name=\"custom_2\" value=\"" + coupon + "\" />";
            //plHej.Controls.Add(new System.Web.UI.LiteralControl(sAdd));



        }
        catch (Exception ex)
        {
            lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout";
            clickhere.Visible = false;
            ProcessException(ex);
        }

    }
    protected void SendConfrimMessage()
    {
        try
        {
            if (Session["OrderID"] != null)
            {
                string transID = string.Empty; // transaction ID from Relay Response
                int responseCode = 1; // response code, defaulted to Invalid
                string responsereasontext = string.Empty;
                responsereasontext = "Transaction occured Successfully";
                int responsereasonCode = 1;
                string purchaseorderNo = string.Empty;
                string invoice = string.Empty;
                string paymentmethod = string.Empty;
                OrderDetailsCollection orderdata2 = new OrderDetailsCollection();
                if (HttpContext.Current.Session["OrderCollection"] != null)
                {
                  
                    orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"];
                   
                }
                invoice = orderdata2.objOrderDetails.InvoiceNumber.ToString();
                Random random = new Random();
                purchaseorderNo = (random.Next(0, 1000)).ToString();
                string timeStamp = ((int)(DateTime.UtcNow - new DateTime(2011, 1, 1)).TotalSeconds).ToString();
                transID = (random.Next(99999, 111111)).ToString();
                lblTransaction.Text = transID;
                lblInvoice.Text = invoice;
                lblPaymentMethod.Text = "Cash On Delivery";
                lblDateTime.Text = DateTime.Now.ToString("dddd, dd MMMM yyyy ");
                int storeID = int.Parse(GetStoreID.ToString());
                int portalID = int.Parse(GetPortalID.ToString());
                string userName = GetUsername.ToString();
                int customerID = int.Parse(GetCustomerID.ToString());
                string sessionCode = HttpContext.Current.Session.SessionID.ToString();
                string result = CashOnDelivery.Parse(transID, invoice, purchaseorderNo, responseCode, responsereasonCode, responsereasontext, storeID, portalID, userName, customerID, sessionCode);
                lblerror.Text = result.ToString();
                lblerror.Text = "Your payment has been successfully processed." +
                       "A confirmation email has been sent to you with the details of the order. Please quote the order number for all future correspondence regarding this transaction.";


                ASPXCommerceWebService clSes = new ASPXCommerceWebService();
                if (Session["IsFreeShipping"] != null)
                {
                    HttpContext.Current.Session.Remove("IsFreeShipping");
                }
                if (Session["DiscountAmount"] != null)
                {
                    HttpContext.Current.Session.Remove("DiscountAmount");

                }
                if (Session["CouponCode"] != null)
                {
                    HttpContext.Current.Session.Remove("CouponCode");
                }
                if (Session["CouponApplied"] != null)
                {
                    HttpContext.Current.Session.Remove("CouponApplied");
                }
                if (Session["DiscountAll"] != null)
                {
                    HttpContext.Current.Session.Remove("DiscountAll");
                }
                if (Session["TaxAll"] != null)
                {
                    HttpContext.Current.Session.Remove("TaxAll");
                }
                if (Session["ShippingCostAll"] != null)
                {
                    HttpContext.Current.Session.Remove("ShippingCostAll");
                }
                if (Session["GrandTotalAll"] != null)
                {
                    HttpContext.Current.Session.Remove("GrandTotalAll");
                }
                if (Session["Gateway"] != null)
                {
                    HttpContext.Current.Session.Remove("Gateway");
                }  

                //invoice  transID

                if (Session["OrderCollection"] != null)
                {

                    //StringBuilder emailbody = new StringBuilder();
                    //emailbody.Append("<div style=\"width:600px;min-height:auto;background-color:#f2f2f2;color:#707070;font:13px/24px Verdana,Geneva,sans-serif;\"><div style=\"color:#49B8F4;  font-size:20px;margin:auto 0; font-family:Verdana,Geneva,sans-serif;\"> <label>Thank you for Order </label></div>");
                    //OrderDetailsCollection orderdata = new OrderDetailsCollection();
                    //orderdata = (OrderDetailsCollection)Session["OrderCollection"];
                    //emailbody.Append("<p> <strong>Dear </strong> " + orderdata.objBillingAddressInfo.FirstName.ToString() + "</p>");
                    ////if customer is registered
                    //if (orderdata.objCommonInfo.AddedBy.ToString().ToLower() == "anonymoususer" && orderdata.objOrderDetails.CustomerID ==0)
                    //{
                    //    emailbody.Append("<div>  You have ordered items from <strong>ASPXCommerce</strong>. <br /> Thanks for using <strong>ASPXCommerce</strong>. You can now ship any items. To see all the transaction details, log in to your <b>ASPXCommerce</b> <a href=" + Request.ServerVariables["SERVER_NAME"] + "/Register.aspx?session="+sessionCode +"" + ">account</a>.<br /> It may take a few moments for this transaction to appear in your account.<br /></div> ");
                    //}
                    //else
                    //{//if customer is guest..send session code 
                    //    emailbody.Append("<div> You have ordered items from <strong>ASPXCommerce</strong>. <br /> Thanks for using <strong>ASPXCommerce</strong>. You can now ship any items. To see all the transaction details, Please Resister and log in to your <b>ASPXCommerce</b> <a href=" + Request.ServerVariables["SERVER_NAME"] + "/Login.aspx" + ">account</a>.<br /> It may take a few moments for this transaction to appear in your account.<br /></div>");
                    //}
                    //emailbody.Append("<div > <strong>Your Order Details </strong><br />  Transaction ID: <strong >" + transID + "</strong><br />Invoice No: <strong>" + invoice + "</strong><br />Paymenet System Used: <strong>" + orderdata.objPaymentInfo.PaymentMethodName + "</strong><br /> </div> ");
                    //emailbody.Append("<div > If you having Issuses with transaction or any further inquiry then you can mail [email protected].</div><div> Please do not reply to this email. This mail is automatic generated after you have ordered .</div><div>Thank You, <br /><a href=\"" + Request.ServerVariables["SERVER_NAME"] + "\"><img src=\"" + "http://www.aspxcommerce.com" + "/Templates/ASPXCommerce/Templates/'"+ TemplateName +"'/images/aspxcommerce.png\" alt=\"ASPXCommerce Team\"/></a></div></div>");
                    //string body = emailbody.ToString();
                    //SageFrameConfig pagebase = new SageFrameConfig();
                    //string emailSuperAdmin = pagebase.GetSettingsByKey(SageFrameSettingKeys.SuperUserEmail);//"*****@*****.**";
                    //string emailSiteAdmin = pagebase.GetSettingsByKey(SageFrameSettingKeys.SiteAdminEmailAddress);
                    //MailHelper.SendMailNoAttachment("*****@*****.**", orderdata.objBillingAddressInfo.EmailAddress.ToString(), "Your Order Details", body, emailSuperAdmin, emailSiteAdmin);
                    //clSes.ClearSessionVariable("OrderCollection");




                    if (sendOrderNotice.ToLower() == "true")
                    {
                        StringBuilder emailbody = new StringBuilder();
                        OrderDetailsCollection orderdata = new OrderDetailsCollection();
                        orderdata = (OrderDetailsCollection)Session["OrderCollection"];
                        emailbody.Append("<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"5\" bgcolor=\"#e0e0e0\" style=\"font: 12px Arial,Helvetica,sans-serif;\"> <tr><td align=\"center\" valign=\"top\"><table width=\"680\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr> <td><img src=\"" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/blank.gif\" width=\"1\" height=\"10\" alt=\" \" /></td></tr><tr><td><table width=\"680\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr> <td width=\"300\">");
                        emailbody.Append("<a href=\"http://www.aspxcommerce.com\" target=\"_blank\" style=\"outline: none; border: none;\"> <img src=\"http://www.aspxcommerce.com/Templates/'" + TemplateName + "'/images/aspxcommerce.png\" width=\"143\" height=\"62\" alt=\"Aspxcommerce\" title=\"Aspxcommerce\" /></a></td><td width=\"191\" align=\"left\" valign=\"middle\">");
                        emailbody.Append("&nbsp;</td><td width=\"189\" align=\"right\" valign=\"middle\"><b style=\"padding: 0 20px 0 0; text-shadow: 1px 1px 0 #fff;\">" + DateTime.Now.ToString("dd MMMM yyyy ") + "</b>");
                        emailbody.Append("</td> </tr></table> </td> </tr> <tr>  <td bgcolor=\"#fff\"><div style=\"border:1px solid #c7c7c7; background:#fff; padding:20px\">  <img src=\"" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/blank.gif\" width=\"1\" height=\"10\" alt=\" \" /><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#FFFFFF\">  <tr> <td> <p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 16px;color: #278ee6; margin: 0; padding: 0 0 5px 0; font-weight: bold;\"> ");
                        emailbody.Append(" Dear " + orderdata.objBillingAddressInfo.FirstName.ToString() + "</p> <p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; color: #393939; margin: 0; padding: 0 0 10px 0; font-weight: bold;\">  Thank you for Order</p>");
                        emailbody.Append("<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; color: #393939; margin: 0; padding: 8px 0 15px 0; font-weight: normal;\">You have ordered items from <span style=\"font-weight: bold; font-size: 11px;\">AspxCommerce</span>.<br />");
                        emailbody.Append("Thanks for using <span style=\"font-weight: bold; font-size: 11px;\">AspxCommerce</span>. You can now ship any items. To see all the transaction details,");
                        // emailbody.Append("  Please Register and log in to your <span style=\"font-weight: bold; font-size: 11px;\">ASPXCommerce</span>");
                        string account = "";
                        if (orderdata.objCommonInfo.AddedBy.ToString().ToLower() == "anonymoususer" && orderdata.objOrderDetails.CustomerID == 0)
                        {   // future login process for annoymoususr 
                            emailbody.Append("Please Register and log in to your <span style=\"font-weight: bold; font-size: 11px;\">AspxCommerce</span>");

                            account = "<a href=" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/User-Registration.aspx" + ">account</a>";
                        }
                        else
                        {
                            emailbody.Append("  Please log in to your <span style=\"font-weight: bold; font-size: 11px;\">AspxCommerce</span>");

                            account = "<a href=" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/Login.aspx" + ">account</a>";
                        }


                        emailbody.Append(" " + account + ".<br />  It may take a few moments for this transaction to appear in your account</p>  </td></tr>  </table><div style=\"border: 1px solid #cfcfcf; background: #f1f1f1; padding: 10px\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td><h3 style=\"font-size: 15px; font-family: Arial, Helvetica, sans-serif; line-height: 20px; font-weight: bold; margin: 0; text-transform: capitalize; color: #000; text-shadow: 1px 1px 0 #fff;\">  Your Order Details</h3></td></tr><tr><td><img src=\"" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/blank.gif\" width=\"1\" height=\"10\" alt=\" \" /></td>");
                        emailbody.Append(" </tr><tr><td bgcolor=\"#fff\"><div style=\"border: 1px solid #c7c7c7; background: #fff; padding: 10px\">");
                        emailbody.Append("<div style=\"border: 1px solid #cfcfcf; background: #f1f1f1; padding: 10px\">");
                        emailbody.Append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                        emailbody.Append("<tr>  <td height=\"25\" style=\"border-bottom: 1px solid #fff;\">");
                        emailbody.Append("<h3 style=\"font-size: 15px; font-family: Arial, Helvetica, sans-serif; line-height: 20px;");
                        emailbody.Append("font-weight: bold; margin: 0; text-transform: capitalize; color: #000; text-shadow: 1px 1px 0 #fff;\">Order Information</h3>");
                        emailbody.Append("</td></tr><tr> <td> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                        emailbody.Append(" <tr><td width=\"120\" height=\"20\"><span style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;\">");
                        emailbody.Append(" Merchant:</span> </td> <td>");
                        //  merchant Name
                        emailbody.Append("ASPX Commerce");
                        emailbody.Append(" </td> <td width=\"150\" style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px;");
                        emailbody.Append(" font-weight: bold; border-left: 1px solid #fff; padding-left: 20px;\"> Customer Id:  <td>");
                        // customer ID
                        emailbody.Append("" + GetCustomerID.ToString() + "");
                        emailbody.Append(" </td> </tr>  <tr>  <td height=\"20\"> <span style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;\">");
                        emailbody.Append(" Description:</span>  </td> <td> Order Remarks</td> <td style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;");
                        emailbody.Append(" border-left: 1px solid #fff; padding-left: 20px;\"> Phone No: </td> <td>");
                        // customer Phone No
                        emailbody.Append("" + orderdata.objBillingAddressInfo.Phone.ToString() + "");                        
                        emailbody.Append("  </td> </tr> <td height=\"20\"><span style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;\">");
                        emailbody.Append(" Invoice Number:</span> </td><td>");
                        //   invoice no 
                        // emailbody.Append("" + orderdata.objOrderDetails.InvoiceNumber.ToString() + "");
                        emailbody.Append("" + invoice + "");
                        emailbody.Append(" </td> <td style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;  border-left: 1px solid #fff; padding-left: 20px;\">");
                        emailbody.Append("  &nbsp;</td><td> &nbsp;</td></tr></table>  </td> </tr> </table> </div>");
                        emailbody.Append(" <div style=\"border: 1px solid #cfcfcf; background: #f1f1f1; padding: 0; margin: 10px 0 0 0;\">");
                        emailbody.Append(" <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                        emailbody.Append(" <tr> <td width=\"300\" style=\"background: #e0e0e0;\"> <h2 style=\"margin: 0; padding: 0; font-weight: bold; font-family: Arial, Helvetica, sans-serif;");
                        emailbody.Append("  font-size: 15px; padding: 3px 0 3px 10px; text-shadow: 1px 1px 0 #fff;\">");
                        emailbody.Append("  Billing Information</h2>  </td><td style=\"background: #e0e0e0; border-left: 1px solid #fff;\">");
                        emailbody.Append("   <h2 style=\"margin: 0; padding: 0; font-weight: bold; font-family: Arial, Helvetica, sans-serif;");
                        emailbody.Append("  font-size: 15px; padding: 3px 0 3px 10px; text-shadow: 1px 1px 0 #fff;\">");
                        emailbody.Append(" Shipping Information</h2> </td></tr><tr><td valign=\"top\"> <p style=\"margin: 0; padding: 10px; font-family: Arial, Helvetica, sans-serif; font-weight: normal;");
                        emailbody.Append("  line-height: 18px; font-size: 12px;\">");
                        //Milson Munakami<br />
                        //                                                               Bd<br />
                        //                                                               sda<br />
                        //                                                               Dsad, Alberta 3232<br />
                        //                                                               Afghanistan<br />
                        //                                                               [email protected]<br />
                        //                                                               +000 000 0000<br />
                        //                                                               Fax: 2222222</p>
                        //                                                       </td>

                        string billing = orderdata.objBillingAddressInfo.FirstName.ToString() + " " +
                          orderdata.objBillingAddressInfo.LastName.ToString() + "<br />";

                        if (orderdata.objBillingAddressInfo.CompanyName != null)
                        {
                            billing += orderdata.objBillingAddressInfo.CompanyName.ToString() + "<br />";
                        }

                        billing += orderdata.objBillingAddressInfo.City.ToString() + ", " + orderdata.objBillingAddressInfo.Address.ToString() + "<br />" +
                        orderdata.objBillingAddressInfo.Country.ToString() + "<br />" +
                        orderdata.objBillingAddressInfo.EmailAddress.ToString() + "<br />" +
                        orderdata.objBillingAddressInfo.Phone.ToString() + "<br />" + "<p>";

                        emailbody.Append("" + billing + "");
                        emailbody.Append("</td><td style=\"border-left: 1px solid #fff;\" valign=\"top\"> <p style=\"margin: 0; padding: 10px; font-family: Arial, Helvetica, sans-serif; font-weight: normal;");
                        emailbody.Append("line-height: 18px; font-size: 12px;\">");
                        //Milson Munakami<br />
                        //                                                              Bd<br />
                        //                                                              sda<br />
                        //                                                              Dsad, Alberta 3232<br />
                        //                                                              Afghanistan<br />
                        //                                                              [email protected]<br />
                        //                                                              +000 000 0000<br />
                        //                                                              Fax: 2222222</p>

                        if (!orderdata.objOrderDetails.IsDownloadable)
                        {
                            if (orderdata.objOrderDetails.IsMultipleCheckOut == false)
                            {
                                string shipping = orderdata.objShippingAddressInfo.FirstName.ToString() + " " +
                                    orderdata.objShippingAddressInfo.LastName.ToString() + "<br />";
                                if (orderdata.objShippingAddressInfo.CompanyName != null)
                                {
                                    shipping += orderdata.objShippingAddressInfo.CompanyName.ToString() + "<br />";
                                }

                                shipping += orderdata.objShippingAddressInfo.City.ToString() + ", " + orderdata.objShippingAddressInfo.Address.ToString() + "<br />" +
                                      orderdata.objShippingAddressInfo.Country.ToString() + "<br />" +
                                      orderdata.objShippingAddressInfo.EmailAddress.ToString() + "<br />" +
                                      orderdata.objShippingAddressInfo.Phone.ToString() + "<br />" + "<p>";
                                emailbody.Append("" + shipping + "");
                            }
                            else
                            {
                                emailbody.Append("Multiple addresses<br />Plese log in to view.");
                            }

                        }
                        emailbody.Append("</td> </tr> </table></div><div style=\"border: 1px solid #cfcfcf; background: #f1f1f1; padding: 0; margin: 10px 0 0 0;\">");
                        emailbody.Append("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                        emailbody.Append("<tr><td style=\"background: #e0e0e0;\" colspan=\"2\"><h2 style=\"margin: 0; padding: 0; font-weight: bold; font-family: Arial, Helvetica, sans-serif;");
                        emailbody.Append("font-size: 15px; padding: 3px 0 3px 10px; text-shadow: 1px 1px 0 #fff;\">");
                        // card type Visa
                        emailbody.Append("" + orderdata.objPaymentInfo.PaymentMethodName.ToString() + "");
                        // emailbody.Append("" + orderdata.objPaymentInfo.CardType.ToString() + "");
                        emailbody.Append("</h2> </td></tr><tr><td style=\"padding: 5px 10px;\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
                        emailbody.Append("<tr><td width=\"100\" height=\"20\" style=\"width: 200\">  <p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;");
                        emailbody.Append(" margin: 0; padding: 0;\"> Date/Time:</p></td><td>");
                        //    order date
                        emailbody.Append("" + DateTime.Now.ToString("dddd, dd MMMM yyyy") + "");
                        emailbody.Append("</td></tr><tr><td height=\"20\"><p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold;");
                        emailbody.Append(" margin: 0; padding: 0;\">Transaction Id:</p> </td>  <td>");
                        //     transaction ID
                        // emailbody.Append("" + orderdata.objOrderDetails.TransactionID.ToString() + "");
                        emailbody.Append("" + transID + "");
                        emailbody.Append("</td> </tr></table> </td> </tr> </table></div></div>  </td> </tr>  </table>  </div>");
                        emailbody.Append(" <p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; color: #000;\">");
                        emailbody.Append(" if you having Issues with transaction or any further inquiry then you can mail <a");
                        emailbody.Append("href=\"mailto:[email protected]\" style=\"color: #278ee6;\">[email protected]</a></p>");
                        emailbody.Append("<p style=\"margin: 0; padding: 5px 0 0 0; font: bold 11px Arial, Helvetica, sans-serif; color: #666;\">");
                        emailbody.Append("Please do not reply to this email. This mail is automatic generated after you have ordered.</a><br />");
                        emailbody.Append("<br /> Thank You,<br />  <span style=\"font-weight: normal; font-size: 12px; font-family: Arial, Helvetica, sans-serif;\">");
                        emailbody.Append("AspxCommerce Team </span> </p> </div> </td>  </tr>");
                        emailbody.Append("  <tr> <td>   <img src=\"" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/blank.gif\" width=\"1\" height=\"20\" alt=\" \" /> </td>");
                        emailbody.Append("</tr> <tr> <td align=\"center\" valign=\"top\"> <p style=\"font-size: 11px; color: #4d4d4d\">");
                        emailbody.Append("  © " + DateTime.Now.Year.ToString() + " AspxCommerce. All Rights Reserved.</p></td>  </tr> <tr>");
                        emailbody.Append("  <td align=\"center\" valign=\"top\"> <img src=\"" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/blank.gif\" width=\"1\" height=\"10\" alt=\" \" />");
                        emailbody.Append("   </td>  </tr> </table></div>   </td> </tr> </table>");
                        string body = emailbody.ToString();
                        SageFrameConfig pagebase = new SageFrameConfig();
                        string emailSuperAdmin = pagebase.GetSettingsByKey(SageFrameSettingKeys.SuperUserEmail);//"*****@*****.**";
                        string emailSiteAdmin = pagebase.GetSettingsByKey(SageFrameSettingKeys.SiteAdminEmailAddress);
                        MailHelper.SendMailNoAttachment(sendEmailFrom, orderdata.objBillingAddressInfo.EmailAddress.ToString(), "Your Order Details", body, emailSuperAdmin, emailSiteAdmin);

                    }

                    clSes.ClearSessionVariable("OrderCollection");
                   
                }
            }
            else
            {
                Response.Redirect(sageRedirectPath, false);
            }
        }
        catch (Exception ex)
        {
            ProcessException(ex);
        }
    }