using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CMS.CMSHelper;
using CMS.Ecommerce;
using CMS.EcommerceProvider;
using CMS.GlobalHelper;
using CMS.UIControls;
[Security(Resource = "CMS.Ecommerce", UIElements = "Orders.Items")]
public partial class CMSModules_Ecommerce_Pages_Tools_Orders_Order_Edit_OrderItems : CMSOrdersPage
{
protected int orderId = 0;
private string mSessionKey = "CMSDeskOrderItemsShoppingCart";
///
/// Shopping cart to use.
///
private ShoppingCartInfo ShoppingCart
{
get
{
if (SessionHelper.GetValue(mSessionKey) == null)
{
SessionHelper.SetValue(mSessionKey, ShoppingCartInfoProvider.GetShoppingCartInfoFromOrder(orderId));
}
return (ShoppingCartInfo)SessionHelper.GetValue(mSessionKey);
}
set
{
SessionHelper.SetValue(mSessionKey, value);
}
}
protected override void OnPreInit(EventArgs e)
{
CustomerID = QueryHelper.GetInteger("customerid", 0);
base.OnPreInit(e);
}
///
/// Page load.
///
protected void Page_Load(object sender, EventArgs e)
{
// Get order id
orderId = QueryHelper.GetInteger("orderid", 0);
if (!RequestHelper.IsPostBack())
{
if (!QueryHelper.GetBoolean("cartexist", false))
{
ShoppingCart = ShoppingCartInfoProvider.GetShoppingCartInfoFromOrder(orderId);
}
}
if (orderId > 0)
{
if ((ShoppingCart != null) && (ShoppingCart.Order != null))
{
// Check order site ID
CheckOrderSiteID(ShoppingCart.Order.OrderSiteID);
}
Cart.LocalShoppingCart = ShoppingCart;
Cart.EnableProductPriceDetail = true;
Cart.ShoppingCartInfoObj.IsCreatedFromOrder = true;
Cart.CheckoutProcessType = CheckoutProcessEnum.CMSDeskOrderItems;
Cart.OnPaymentCompleted += new EventHandler(Cart_OnPaymentCompleted);
Cart.OnPaymentSkipped += new EventHandler(Cart_OnPaymentSkipped);
Cart.OnCheckPermissions += new CMSAdminControl.CheckPermissionsEventHandler(Cart_OnCheckPermissions);
Cart.RequiredFieldsMark = CMS.EcommerceProvider.ShoppingCart.DEFAULT_REQUIRED_FIELDS_MARK;
}
if (!RequestHelper.IsPostBack())
{
// Display 'Changes saved' message
if (QueryHelper.GetBoolean("saved", false))
{
// Show message
ShowChangesSaved();
}
// Display 'Payment completed' message
else if (QueryHelper.GetBoolean("paymentcompleted", false))
{
ShowInformation(GetString("PaymentGateway.CMSDeskOrderItems.PaymentCompleted"));
}
}
}
private void Cart_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
// check 'EcommerceModify' permission
if (!ECommerceContext.IsUserAuthorizedForPermission(permissionType))
{
RedirectToAccessDenied("CMS.Ecommerce", permissionType);
}
}
private void Cart_OnPaymentCompleted(object sender, EventArgs e)
{
Cart.CleanUpShoppingCart();
URLHelper.Redirect("~/CMSModules/Ecommerce/Pages/Tools/Orders/Order_Edit_OrderItems.aspx?orderID=" + ShoppingCart.OrderId.ToString() + "&paymentcompleted=1");
}
private void Cart_OnPaymentSkipped(object sender, EventArgs e)
{
string saved = "";
// Payment skipped because of no payment gateway was specified
if (Cart.PaymentGatewayProvider != null)
{
// Do nothing
}
// Payment skipped from shopping cart step with payment - Button 'Skip payment' was pressed
else
{
// Display 'Changes saved' message after page redirect
saved = "&saved=1";
}
Cart.CleanUpShoppingCart();
URLHelper.Redirect("~/CMSModules/Ecommerce/Pages/Tools/Orders/Order_Edit_OrderItems.aspx?orderID=" + ShoppingCart.OrderId.ToString() + saved);
}
///
/// On prerender.
///
protected override void OnPreRender(EventArgs e)
{
ShoppingCart = Cart.LocalShoppingCart;
base.OnPreRender(e);
}
}