using System; using System.Data; using System.Collections; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using CMS.Controls.Configuration; using CMS.Ecommerce; using CMS.FormEngine; using CMS.GlobalHelper; using CMS.SettingsProvider; using CMS.SiteProvider; using CMS.UIControls; [Tabs("CMS.Ecommerce", "Customers", "CustomerContent")] [Title("Objects/Ecommerce_Customer/object.png", "com.customer.edit", "general_tab14")] public partial class CMSModules_Ecommerce_Pages_Tools_Customers_Customer_Edit_Header : CMSCustomersPage { private bool hideBreadcrumbs = false; private CustomerInfo customerInfoObj = null; protected void Page_Load(object sender, EventArgs e) { string currentCustomer = ""; int customerId = QueryHelper.GetInteger("customerid", 0); if (customerId > 0) { customerInfoObj = CustomerInfoProvider.GetCustomerInfo(customerId); // Prepare customer name string if (customerInfoObj != null) { if (ValidationHelper.GetString(customerInfoObj.CustomerCompany, "") != "") { currentCustomer = customerInfoObj.CustomerCompany; } else { currentCustomer = customerInfoObj.CustomerLastName + " " + customerInfoObj.CustomerFirstName; } } } // Initialize breadcrumbs when visible if (!hideBreadcrumbs) { InitializeBreadcrumbs(currentCustomer); } // Ensure page with changes saved message is loaded initially if required if (QueryHelper.GetInteger("saved", 0) == 1) { CurrentMaster.Tabs.StartPageURL = "Customer_Edit_General.aspx" + URLHelper.Url.Query; } InitializeMasterPage(); AddMenuButtonSelectScript("Customers", ""); } /// /// Initializes master page elements. /// private void InitializeMasterPage() { CMSMasterPage master = (CMSMasterPage)CurrentMaster; master.Tabs.OnTabCreated += Tabs_OnTabCreated; master.Tabs.OpenTabContentAfterLoad = !QueryHelper.GetBoolean("onlyRefresh", false); } protected TabItem Tabs_OnTabCreated(UIElementInfo element, TabItem tab, int tabIndex) { switch (element.ElementName.ToLowerCSafe()) { case "customers.customfields": // Check if customer has any custom fields FormInfo formInfo = FormHelper.GetFormInfo("ecommerce.customer", false); if (!formInfo.GetFormElements(true, false, true).Any()) { return null; } break; case "customers.newsletters": if (!ModuleEntry.IsModuleLoaded(ModuleEntry.NEWSLETTER)) { return null; } break; case "customers.credit": // Hide Credit tab for anonymous customer if ((customerInfoObj == null) || !customerInfoObj.CustomerIsRegistered) { return null; } break; } return tab; } /// /// Initializes the breadcrumb mastre page element. /// private void InitializeBreadcrumbs(string currentCustomer) { // initializes page title control string[,] pageTitleTabs = new string[2, 3]; pageTitleTabs[0, 0] = GetString("Customer_Edit.ItemListLink"); pageTitleTabs[0, 1] = "~/CMSModules/Ecommerce/Pages/Tools/Customers/Customer_List.aspx"; pageTitleTabs[0, 2] = "ecommerceContent"; pageTitleTabs[1, 0] = currentCustomer; pageTitleTabs[1, 1] = ""; pageTitleTabs[1, 2] = ""; CurrentMaster.Title.Breadcrumbs = pageTitleTabs; } }