using System; using CMS.CMSHelper; using CMS.Ecommerce; using CMS.ExtendedControls; using CMS.GlobalHelper; using CMS.UIControls; [Security(Resource = "CMS.Ecommerce", UIElements = "Orders.Invoice")] public partial class CMSModules_Ecommerce_Pages_Tools_Orders_Order_Edit_Invoice : CMSOrdersPage { #region "Variables" private int orderId; private OrderInfo order; #endregion #region "Page events" protected override void OnPreInit(EventArgs e) { CustomerID = QueryHelper.GetInteger("customerid", 0); base.OnPreInit(e); } protected void Page_Load(object sender, EventArgs e) { // Register the dialog script ScriptHelper.RegisterClientScriptBlock(this, typeof(string), ScriptHelper.NEWWINDOW_SCRIPT_KEY, ScriptHelper.NewWindowScript); lblInvoiceNumber.Text = GetString("order_invoice.lblInvoiceNumber"); btnGenerate.Text = GetString("order_invoice.btnGenerate"); btnPrintPreview.Text = GetString("order_invoice.btnPrintPreview"); if (QueryHelper.GetInteger("orderid", 0) != 0) { orderId = QueryHelper.GetInteger("orderid", 0); } order = OrderInfoProvider.GetOrderInfo(orderId); if (order == null) { btnGenerate.Enabled = false; btnPrintPreview.Enabled = false; return; } else { // Check order site ID CheckOrderSiteID(order.OrderSiteID); } ltlScript.Text = ScriptHelper.GetScript("function showPrintPreview() { NewWindow('Order_Edit_InvoicePrint.aspx?orderid=" + orderId + "', 'InvoicePrint', 650, 700);}"); if (!RequestHelper.IsPostBack()) { txtInvoiceNumber.Text = order.OrderInvoiceNumber; lblInvoice.Text = URLHelper.MakeLinksAbsolute(order.OrderInvoice); } } #endregion #region "Event handlers" protected void btnGenerate_Click(object sender, EventArgs e) { // check 'EcommerceModify' permission if (!ECommerceContext.IsUserAuthorizedForPermission("ModifyOrders")) { RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyOrders"); } // Save updated order invoice number order.OrderInvoiceNumber = txtInvoiceNumber.Text; OrderInfoProvider.SetOrderInfo(order); // Generate and display new invoice string invoice = OrderInfoProvider.GetInvoice(orderId); lblInvoice.Text = URLHelper.MakeLinksAbsolute(invoice); // Save new invoice order.OrderInvoice = invoice; OrderInfoProvider.SetOrderInfo(order); // Show message ShowChangesSaved(); } #endregion }