public void PostOrderToDataPak(int orderId) { string req = new DataPak().GetRequest(orderId, false, false); // Posting order to OMX string res = CommonHelper.HttpPost(config.Attributes["transactionUrl"].Value, req); Dictionary <string, AttributeValue> orderAttributes = new Dictionary <string, AttributeValue>(); orderAttributes.Add("Request", new CSBusiness.Attributes.AttributeValue(CSCore.Utils.CommonHelper.Encrypt(req))); orderAttributes.Add("Response", new CSBusiness.Attributes.AttributeValue(res)); XmlDocument doc = new XmlDocument(); doc.LoadXml(res); XmlNode xnResult = doc.SelectSingleNode("/DatapakServices/Order/Result/Code"); if (xnResult.InnerText.ToLower().Equals("001")) { //CSResolve.Resolve<IOrderService>().SaveOrderInfo(orderId, 2, req.ToLower().Replace("utf-8", "utf-16"), res.ToLower().Replace("utf-8", "utf-16")); CSResolve.Resolve <IOrderService>().UpdateOrderAttributes(orderId, orderAttributes, 2); OrderHelper.SendOrderCompletedEmail(orderId); } else { //CSResolve.Resolve<IOrderService>().SaveOrderInfo(orderId, 5, req.ToLower().Replace("utf-8", "utf-16"), res.ToLower().Replace("utf-8", "utf-16")); CSResolve.Resolve <IOrderService>().UpdateOrderAttributes(orderId, orderAttributes, 5); //sending email to admins OrderHelper.SendEmailToAdmins(orderId); } UserSessions.InsertSessionEntry(HttpContext.Current, true, 0, 0, orderId); }
protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!Page.IsPostBack) { if (Session["PId"] != null) { skuId = Convert.ToInt32(Session["PId"]); } if (Request.Params["CId"] != null) { cId = Convert.ToInt32(Request.Params["CId"]); } if (Request.Params["DId"] != null) { dId = Convert.ToInt32(Request.Params["DId"]); } if (Request.Params["QId"] != null) { qId = Convert.ToInt32(Request.Params["QId"]); } if (skuId > 0) { if (cId == (int)ShoppingCartType.SingleCheckout) { clientData = (ClientCartContext)Session["ClientOrderData"]; cartObject = new Cart(); cartObject.AddItem(skuId, qId, true, false); if (dId > 0) { bool settingVal = Convert.ToBoolean(ConfigHelper.ReadAppSetting("DisCountCardDisplay", "false")); cartObject.AddItem(dId, qId, settingVal, false); } cartObject.ShippingAddress = clientData.CustomerInfo.BillingAddress; cartObject.Compute(); cartObject.ShowQuantity = false; clientData.CartInfo = cartObject; if (CSFactory.OrderProcessCheck() == (int)OrderProcessTypeEnum.InstantOrderProcess) { int orderId = CSResolve.Resolve <IOrderService>().SaveOrder(clientData); UserSessions.InsertSessionEntry(Context, true, clientData.CartInfo.Total, clientData.CustomerInfo.CustomerId, orderId); clientData.OrderId = orderId; clientData.ResetData(); Session["ClientOrderData"] = clientData; } Response.Redirect("PostSale.aspx"); } else if (cId == (int)ShoppingCartType.ShippingCreditCheckout) { clientData = (ClientCartContext)Session["ClientOrderData"]; cartObject = new Cart(); cartObject.AddItem(skuId, qId, true, false); if (dId > 0) { bool settingVal = Convert.ToBoolean(ConfigHelper.ReadAppSetting("DisCountCardDisplay", "false")); cartObject.AddItem(dId, qId, settingVal, false); } cartObject.ShippingAddress = clientData.CustomerInfo.BillingAddress; cartObject.Compute(); cartObject.ShowQuantity = false; clientData.CartInfo = cartObject; Session["ClientOrderData"] = clientData; Response.Redirect("cart.aspx"); } else { //we may set this object in index page to capture request information if (Session["ClientOrderData"] == null) { clientData = new ClientCartContext(); clientData.CartInfo = new Cart(); } else { clientData = (ClientCartContext)Session["ClientOrderData"]; if (clientData.CartInfo == null) { clientData.CartInfo = new Cart(); } } clientData.CartInfo.AddItem(skuId, qId, true, false); if (dId > 0) { bool settingVal = Convert.ToBoolean(ConfigHelper.ReadAppSetting("DisCountCardDisplay", "false")); cartObject.AddItem(dId, qId, settingVal, false); } clientData.CartInfo.Compute(); clientData.CartInfo.ShowQuantity = false; Session["ClientOrderData"] = clientData; Response.Redirect("Cart.aspx"); } } } }
public void SaveData() { ClientCartContext clientData = ClientOrderData; if (Page.IsValid) { Customer CustData = new Customer(); //Set Customer Information Address shippingAddress = new Address(); shippingAddress.FirstName = CommonHelper.fixquotesAccents(txtShippingFirstName.Text); shippingAddress.LastName = CommonHelper.fixquotesAccents(txtShippingLastName.Text); shippingAddress.Address1 = CommonHelper.fixquotesAccents(txtShippingAddress1.Text); shippingAddress.Address2 = CommonHelper.fixquotesAccents(txtShippingAddress2.Text); shippingAddress.City = CommonHelper.fixquotesAccents(txtShippingCity.Text); shippingAddress.StateProvinceId = Convert.ToInt32(ddlShippingState.SelectedValue); shippingAddress.CountryId = CountryManager.CountryId("United States"); shippingAddress.ZipPostalCode = CommonHelper.fixquotesAccents(txtShippingZipCode.Text); CustData.ShippingAddress = shippingAddress; CustData.FirstName = CommonHelper.fixquotesAccents(txtShippingFirstName.Text); CustData.LastName = CommonHelper.fixquotesAccents(txtShippingFirstName.Text); CustData.PhoneNumber = txtPhoneNumber1.Text;// +txtPhoneNumber2.Text + txtPhoneNumber3.Text; CustData.Email = CommonHelper.fixquotesAccents(txtEmail.Text); CustData.Username = CommonHelper.fixquotesAccents(txtEmail.Text); //CustData.ShippingAddress = billingAddress; if (!pnlShippingAddress.Visible) { CustData.BillingAddress = shippingAddress; } else { Address billingAddress = new Address(); billingAddress.FirstName = CommonHelper.fixquotesAccents(txtFirstName.Text); billingAddress.LastName = CommonHelper.fixquotesAccents(txtLastName.Text); billingAddress.Address1 = CommonHelper.fixquotesAccents(txtAddress1.Text); billingAddress.Address2 = CommonHelper.fixquotesAccents(txtAddress2.Text); billingAddress.City = CommonHelper.fixquotesAccents(txtCity.Text); billingAddress.StateProvinceId = Convert.ToInt32(ddlState.SelectedValue); billingAddress.CountryId = CountryManager.CountryId("United States"); billingAddress.ZipPostalCode = CommonHelper.fixquotesAccents(txtZipCode.Text); CustData.BillingAddress = billingAddress; } PaymentInformation paymentDataInfo = new PaymentInformation(); string CardNumber = ucTokenex.ReceivedToken; paymentDataInfo.CreditCardNumber = CommonHelper.Encrypt(CardNumber); paymentDataInfo.CreditCardType = Convert.ToInt32(ddlCCType.SelectedValue); paymentDataInfo.CreditCardName = ddlCCType.SelectedItem.Text; paymentDataInfo.CreditCardExpired = new DateTime(int.Parse(ddlExpYear.SelectedValue), int.Parse(ddlExpMonth.SelectedValue), 1); paymentDataInfo.CreditCardCSC = CommonHelper.Encrypt(txtCvv.Text); clientData.PaymentInfo = paymentDataInfo; // add rush shipping level to cart object if (!string.IsNullOrEmpty(ddlAdditionShippingCharge.SelectedValue)) { clientData.CartInfo.ShippingChargeKey = ddlAdditionShippingCharge.SelectedValue; } //Save opt-in value in order clientData.OrderAttributeValues.AddOrUpdateAttributeValue("SpecialOffersOptIn", new CSBusiness.Attributes.AttributeValue(chkOptIn.Checked)); ClientOrderData = clientData; //Set the Client Order objects ClientCartContext contextData = (ClientCartContext)Session["ClientOrderData"]; contextData.CustomerInfo = CustData; ////////contextData.CartAbandonmentId = CSResolve.Resolve<ICustomerService>().InsertCartAbandonment(CustData, contextData); Session["ClientOrderData"] = contextData; //Save Order information before upsale process int orderId = 0; //if (rId == 1) contextData.CartAbandonmentId = CSResolve.Resolve <ICustomerService>().InsertCartAbandonment(CustData, contextData); orderId = CSResolve.Resolve <IOrderService>().SaveOrder(clientData); UserSessions.InsertSessionEntry(Context, true, clientData.CartInfo.Total, clientData.CustomerInfo.CustomerId, orderId); //else //{ // //update order with modified customer shipping and billing and credit card information // orderId = clientData.OrderId; // CSResolve.Resolve<IOrderService>().UpdateOrder(orderId, clientData); //} if (orderId > 1) { clientData.OrderId = orderId; Session["ClientOrderData"] = clientData; //if (rId == 1) // Response.Redirect("PostSale.aspx"); //else //Response.Redirect("Postsale.aspx"); } } }
protected void Page_Load(object sender, EventArgs e) { string[] parts = Request.Url.AbsolutePath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (Session["oid"] != null) { orderId = Convert.ToInt32(Session["oid"].ToString()); } else if (CartContext.OrderId > 0) { orderId = CartContext.OrderId; } else { Response.Redirect("index.aspx"); } Order orderData = CSResolve.Resolve <IOrderService>().GetOrderDetails(orderId, true); if (orderData.OrderStatusId == 2) { // this means that customer clicked back, so should be directed to receipt page. Response.Redirect("receipt.aspx"); } if (Session["oid"] == null && OrderHelper.IsCustomerOrderFlowCompleted(CartContext.OrderId)) { Response.Redirect("receipt.aspx"); } if (!IsPostBack) { //Calculate and save tax new CSWeb.FulfillmentHouse.DataPakTax().PostOrderToDataPak(orderId); string[] testCreditCards; testCreditCards = ResourceHelper.GetResoureValue("TestCreditCard").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);; foreach (string word in testCreditCards) { if (orderData.CreditInfo.CreditCardNumber.Equals(word)) { CSResolve.Resolve <IOrderService>().UpdateOrderStatus(orderData.OrderId, 7); UserSessions.InsertSessionEntry(Context, false, 0, 0, orderId); // This will avoid order from getting posted to OMX for test orders Session["OrderStatus"] = "Receipt"; Response.Redirect("receipt.aspx"); } } bool authSuccess = false; // Check if payment gateway service is enabled or not. if (CSFactory.GetCacheSitePref().PaymentGatewayService) { try { authSuccess = orderData.OrderStatusId == 4 || orderData.OrderStatusId == 5 || // fulfillment failure (fulfillment was attempted after payment success), so don't charge again. OrderHelper.AuthorizeOrder(orderId); ////if (!authSuccess) //// OrderHelper.SendOrderDeclinedEmail(orderId); } catch (Exception ex) { CSCore.CSLogger.Instance.LogException("AuthorizeOrder - auth error - orderid: " + Convert.ToString(orderId), ex); throw; } } else { authSuccess = true; } if (authSuccess) { // Check if fulfillment gateway service is enabled or not. if (CSFactory.GetCacheSitePref().FulfillmentHouseService) { try { new CSWeb.FulfillmentHouse.DataPak().PostOrderToDataPak(orderId); } catch (Exception ex) { CSCore.CSLogger.Instance.LogException("AuthorizeOrder - fulfillment post error - orderid: " + Convert.ToString(orderId), ex); } Session["OrderStatus"] = "Receipt"; if (Request.QueryString != null) { Response.Redirect("receipt.aspx?" + Request.QueryString); } else { Response.Redirect("receipt.aspx"); } } } else { Response.Redirect(string.Format("carddecline.aspx?returnUrl={0}", string.Concat("/", string.Join("/", parts, 0, parts.Length - 1), "/receipt.aspx")), true); } } Session["OrderStatus"] = "Receipt"; Response.Redirect("receipt.aspx"); }
protected void imgPhone_Click(object sender, ImageClickEventArgs e) { UserSessions.InsertSessionEntry(Context, true, false); Response.Redirect("tel:18006732909"); }
public static void ProcessOrder(int orderId) { Order orderData = CSResolve.Resolve <IOrderService>().GetOrderDetails(orderId, true); if (orderData.OrderStatusId == 2) { return; } //Calculate and save tax new CSWeb.FulfillmentHouse.DataPakTax().PostOrderToDataPak(orderId); string[] testCreditCards; testCreditCards = ResourceHelper.GetResoureValue("TestCreditCard").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);; foreach (string word in testCreditCards) { if (orderData.CreditInfo.CreditCardNumber.Equals(word)) { CSResolve.Resolve <IOrderService>().UpdateOrderStatus(orderData.OrderId, 7); UserSessions.InsertSessionEntry(HttpContext.Current, false, 0, 0, orderId); return; } } bool authSuccess = false; // Check if payment gateway service is enabled or not. if (CSFactory.GetCacheSitePref().PaymentGatewayService) { try { authSuccess = orderData.OrderStatusId == 4 || orderData.OrderStatusId == 5 || // fulfillment failure (fulfillment was attempted after payment success), so don't charge again. OrderHelper.AuthorizeOrder(orderId); if (!authSuccess) { OrderHelper.SendOrderDeclinedEmail(orderId); } } catch (Exception ex) { CSCore.CSLogger.Instance.LogException("AuthorizeOrder - auth error - orderid: " + Convert.ToString(orderId), ex); } } else { authSuccess = true; } if (authSuccess) { // Check if fulfillment gateway service is enabled or not. if (CSFactory.GetCacheSitePref().FulfillmentHouseService) { try { new CSWeb.FulfillmentHouse.DataPak().PostOrderToDataPak(orderId); } catch (Exception ex) { CSCore.CSLogger.Instance.LogException("Fullfilment Error - orderid: " + Convert.ToString(orderId), ex); OrderHelper.SendEmailToAdmins(orderId); } } } }