protected void Page_Load(object sender, EventArgs e) { string[] parts = Request.Url.AbsolutePath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (Request["oid"] != null) { orderId = Convert.ToInt32(Request["oid"].ToString()); } else { orderId = CartContext.OrderId; } 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 (!IsPostBack) { CSWebBase.SiteBasePage.TempOrderFix(CartContext, orderData.OrderStatusId); //new CSWeb.FulfillmentHouse.DataPakTax().CalculateTax(orderId); Dictionary <string, AttributeValue> orderAttributes = new Dictionary <string, AttributeValue>(); if (orderData.CreditInfo.CreditCardNumber.Equals("4444333322221111")) { CSResolve.Resolve <IOrderService>().UpdateOrderAttributes(orderData.OrderId, orderAttributes, 7); Response.Redirect("receipt.aspx"); } else if (orderData.CreditInfo.CreditCardNumber.Equals("4111111111111111") && !orderData.CreditInfo.CreditCardCSC.Equals("999")) { CSResolve.Resolve <IOrderService>().UpdateOrderAttributes(orderData.OrderId, orderAttributes, 7); Response.Redirect(string.Format("carddecline.aspx?returnUrl={0}", string.Concat("/", string.Join("/", parts, 0, parts.Length - 1), "/receipt.aspx")), true); } if (orderData.CreditInfo.CreditCardNumber.Equals("1111222233334444")) { if (orderData.OrderStatusId == 4) { } else { string message = OrderHelper.FinalizePayPalTransaction((ClientCartContext)Session["ClientOrderData"]); if (!string.IsNullOrEmpty(message)) { lblMessage.Text = message; } else { lblMessage.Text = string.Empty; SiteBasePage.ResetPayPal(); Response.Redirect("receipt.aspx", true); } } } 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); } 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.Moulton().PostOrder(orderId); } catch (Exception ex) { CSCore.CSLogger.Instance.LogException("AuthorizeOrder - fulfillment post error - orderid: " + Convert.ToString(orderId), ex); throw; } 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); } } Response.Redirect("receipt.aspx"); }
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); } } } }
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); // 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 Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Request.Params["PId"] != null) { skuId = Convert.ToInt32(Request.Params["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 CSBusiness.ShoppingManagement.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; //Sri Comment: OverrideSetting for Database configuration if (CSFactory.OrderProcessCheck() == (int)OrderProcessTypeEnum.InstantOrderProcess) { int orderId = CSResolve.Resolve <IOrderService>().SaveOrder(clientData); if (orderId > 0) { //remove Customer Data and Payment Data in session object clientData.ResetData(); clientData.OrderId = orderId; Session["ClientOrderData"] = clientData; } if (OrderHelper.AuthorizeOrder(orderId) == true) { Response.Redirect("CheckoutThankYou.aspx?oId=" + orderId); } else { Response.Redirect("CardDecline.aspx?failedAuth=1&orderID=" + orderId); } Response.Redirect("PostSale.aspx"); } } else if (cId == (int)ShoppingCartType.ShippingCreditCheckout) { clientData = (ClientCartContext)Session["ClientOrderData"]; cartObject = new CSBusiness.ShoppingManagement.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 CSBusiness.ShoppingManagement.Cart(); } else { clientData = (ClientCartContext)Session["ClientOrderData"]; if (clientData.CartInfo == null) { clientData.CartInfo = new CSBusiness.ShoppingManagement.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"); } } } }