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.SettingsProvider;
using CMS.SiteProvider;
using CMS.UIControls;
public partial class CMSModules_Ecommerce_Pages_Tools_Orders_Order_New : CMSOrdersPage
{
private int customerId = 0;
///
/// Shopping cart to use.
///
private ShoppingCartInfo ShoppingCart
{
get
{
ShoppingCartInfo sci = SessionHelper.GetValue(SessionKey) as ShoppingCartInfo;
if (sci == null)
{
sci = GetNewCart();
SessionHelper.SetValue(SessionKey, sci);
}
return sci;
}
set
{
SessionHelper.SetValue(SessionKey, value);
}
}
///
/// Shopping cart session key.
///
private string SessionKey
{
get
{
if (customerId > 0)
{
return "CMSDeskNewCustomerOrderShoppingCart";
}
else
{
return "CMSDeskNewOrderShoppingCart";
}
}
}
protected ShoppingCartInfo GetNewCart()
{
ShoppingCartInfo newCart = ShoppingCartInfoProvider.CreateShoppingCartInfo(CMSContext.CurrentSite.SiteID);
if (customerId > 0)
{
CustomerInfo ci = CustomerInfoProvider.GetCustomerInfo(customerId);
if (ci != null)
{
UserInfo ui = null;
if (ci.CustomerUserID > 0)
{
ui = UserInfoProvider.GetUserInfo(ci.CustomerUserID);
newCart.User = ui;
}
//if (ui == null)
//{
// ui = CMSContext.GlobalPublicUser;
//}
//newCart.UserInfoObj = ui;
newCart.ShoppingCartCustomerID = customerId;
}
}
return newCart;
}
protected override void OnPreInit(EventArgs e)
{
customerId = QueryHelper.GetInteger("customerid", 0);
CustomerID = customerId;
base.OnPreInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!RequestHelper.IsPostBack())
{
ShoppingCart = GetNewCart();
}
Cart.LocalShoppingCart = ShoppingCart;
Cart.EnableProductPriceDetail = true;
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 (customerId > 0)
{
Cart.CheckoutProcessType = CheckoutProcessEnum.CMSDeskCustomer;
AddMenuButtonSelectScript("Customers", "");
}
else
{
Cart.CheckoutProcessType = CheckoutProcessEnum.CMSDeskOrder;
}
}
private void Cart_OnCheckPermissions(string permissionType, CMSAdminControl sender)
{
// Check ecommerce permission
if (!ECommerceContext.IsUserAuthorizedForPermission(permissionType))
{
string message = permissionType;
if (permissionType.ToLowerCSafe().StartsWithCSafe("modify"))
{
message = "EcommerceModify OR " + message;
}
RedirectToAccessDenied("CMS.Ecommerce", message);
}
}
private void Cart_OnPaymentSkipped(object sender, EventArgs e)
{
URLHelper.Redirect("~/CMSModules/Ecommerce/Pages/Tools/Orders/Order_Edit.aspx?orderID=" + ShoppingCart.OrderId.ToString() + "&customerid=" + customerId);
}
private void Cart_OnPaymentCompleted(object sender, EventArgs e)
{
URLHelper.Redirect("~/CMSModules/Ecommerce/Pages/Tools/Orders/Order_Edit.aspx?orderID=" + ShoppingCart.OrderId.ToString() + "&customerid=" + customerId);
}
protected void Page_Prerender()
{
int customerId = QueryHelper.GetInteger("customerId", 0);
// For all steps
string[,] pageTitleTabs = new string[2,3];
pageTitleTabs[0, 0] = GetString("Order_New.Orders");
pageTitleTabs[0, 1] = "~/CMSModules/Ecommerce/Pages/Tools/Orders/Order_List.aspx";
if (customerId != 0)
{
pageTitleTabs[0, 1] += "?customerId=" + customerId.ToString();
}
pageTitleTabs[0, 2] = "";
pageTitleTabs[1, 0] = GetString("Order_New.HeaderCaption");
pageTitleTabs[1, 1] = "";
pageTitleTabs[1, 2] = "";
CurrentMaster.Title.Breadcrumbs = pageTitleTabs;
CurrentMaster.Title.HelpName = "helpTopic";
CurrentMaster.Title.HelpTopicName = "order_step_1";
if (this.customerId <= 0)
{
CurrentMaster.Title.TitleText = GetString("Order_New.HeaderCaption");
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Ecommerce_Order/new.png");
}
}
}