public IEnumerable <dynamic> DynamicJoin(IEnumerable <M> listLeft, IEnumerable <M> listRight, params Tuple <string, string>[] keys) { var outerKeySelector = CreateFunc <M>(keys.Select(k => k.Item1).ToArray()); var innerKeySelector = CreateFunc <M>(keys.Select(k => k.Item2).ToArray()); ObjectArrayComparer comparer = new ObjectArrayComparer(); // Build comparer based on the keys //loop through the properties and their values return(listLeft.Join(listRight, outerKeySelector, innerKeySelector, (c, d) => comparer)); //new { // //MyId = c.Id, // //YourId = d.Id, // //MyAmtUSD = c.MyAmountUSD, // //MyAmtGBP = c.MyAmountGBP, // //YourAmtUSD = d.YourAmountUSD, // //YourAmtGBP = d.YourAmountGBP //}, new ObjectArrayComparer()); //var query = fMyTranList.DynamicJoin(fYourTranList, // Tuple.Create("MyAmountGBP", "YourAmountGBP")); //var query = fMyTranList.DynamicJoin(fYourTranList, // Tuple.Create("MyAmountGBP", "YourAmountGBP"), // Tuple.Create("AnotherMyTranProperty", "AnotherYourTranProperty")); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); // Hardcoded modules object[] row; this.guide.InitEmptyParameters(); if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE)) { row = new object[5]; row[0] = GetImageUrl("CMSModules/CMS_Ecommerce/module.png"); row[1] = GetString("Administration-LeftMenu.Ecommerce"); row[2] = ResolveUrl("~/CMSModules/Ecommerce/Pages/SiteManager/Configuration_Frameset.aspx?siteId=0"); row[3] = GetString("cms.ecommerce.description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); } if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING)) { row = new object[5]; row[0] = GetImageUrl("Objects/OM_ContactManagement/object.png"); row[1] = GetString("om.contactmanagement"); row[2] = ResolveUrl("~/CMSModules/ContactManagement/Pages/Tools/Frameset.aspx?isSiteManager=1"); row[3] = GetString("om.contactmanagement.description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); } // Sort the collection ObjectArrayComparer comparer = new ObjectArrayComparer(); this.guide.GuideParameters.Sort(comparer); }
protected void Page_Load(object sender, EventArgs e) { ScriptHelper.RegisterJQuery(this.Page); // Initialize TreeView this.treeElem.ImageSet = TreeViewImageSet.Custom; this.treeElem.ExpandImageToolTip = GetString("General.Expand"); this.treeElem.CollapseImageToolTip = GetString("General.Collapse"); if (CultureHelper.IsUICultureRTL()) { this.treeElem.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false); } else { this.treeElem.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false); } this.treeElem.Nodes.Clear(); // Create root TreeNode rootNode = new TreeNode(); rootNode.Text = "<span class=\"ContentTreeSelectedItem\" name=\"treeNode\" onclick=\"ShowDesktopContent('tools.aspx', this);\"><img src=\"" + GetImageUrl("General/DefaultRoot.png") + "\" style=\"border:none;height:10px;width:1px;\" /><span class=\"Name\">" + GetString("Administration-LeftMenu.Tools") + "</span></span>"; rootNode.Expanded = true; rootNode.NavigateUrl = "#"; this.treeElem.Nodes.Add(rootNode); ArrayList items = new ArrayList(); // Add permanent modules if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE)) { AddToCollection( GetString("Administration-LeftMenu.Ecommerce"), "~/CMSModules/Ecommerce/Pages/SiteManager/Configuration_Frameset.aspx?siteId=0", "CMSModules/CMS_Ecommerce/list.png", items); } // Add permanent modules if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING)) { AddToCollection( GetString("om.contactmanagement"), "~/CMSModules/ContactManagement/Pages/Tools/Frameset.aspx?isSiteManager=1", "Objects/OM_ContactManagement/list.png", items); } // Sort the collection ObjectArrayComparer comparer = new ObjectArrayComparer(); items.Sort(comparer); // Build the tree foreach (object node in items) { object[] nodeArray = (object[])node; AddNodeToTree(Convert.ToString(nodeArray[1]), Convert.ToString(nodeArray[0]), Convert.ToString(nodeArray[2]), rootNode); } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); // Hardcoded modules object[] row; row = new object[5]; row[0] = GetImageUrl("Objects/CMS_Avatar/object.png"); row[1] = GetString("Administration-LeftMenu.Avatars"); row[2] = ResolveUrl("~/CMSModules/Avatars/Avatar_List.aspx"); row[3] = GetString("cms.avatar.description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); row = new object[5]; row[0] = GetImageUrl("Objects/CMS_Badge/object.png"); row[1] = GetString("Administration-LeftMenu.Badges"); row[2] = ResolveUrl("~/CMSModules/Badges/Badges_List.aspx"); row[3] = GetString("badges.description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); row = new object[5]; row[0] = GetImageUrl("Objects/Badwords_Word/object.png"); row[1] = GetString("Administration-LeftMenu.BadWords"); row[2] = ResolveUrl("~/CMSModules/BadWords/BadWords_List.aspx"); row[3] = GetString("cms.badwords.Description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); row = new object[5]; row[0] = GetImageUrl("CMSModules/CMS_EmailQueue/module.png"); row[1] = GetString("Administration-LeftMenu.EmailQueue"); row[2] = ResolveUrl("~/CMSModules/EmailQueue/EmailQueue_Frameset.aspx"); row[3] = GetString("emailqueue.description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); row = new object[5]; row[0] = GetImageUrl("CMSModules/CMS_RecycleBin/module.png"); row[1] = GetString("Administration-LeftMenu.RecycleBin"); row[2] = ResolveUrl("~/CMSModules/RecycleBin/Pages/default.aspx"); row[3] = GetString("Administration-LeftMenu.RecycleBinDescription"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); row = new object[5]; row[0] = GetImageUrl("Objects/CMS_SearchIndex/object.png"); row[1] = GetString("srch.index.title"); row[2] = ResolveUrl("~/CMSModules/SmartSearch/SearchIndex_List.aspx"); row[3] = GetString("Administration-LeftMenu.SmartSearchDescription"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); guide.GuideParameters.Add(new object[] { GetImageUrl("Objects/CMS_SMTPServer/object.png"), GetString("Administration-LeftMenu.SMTPServers"), ResolveUrl("~/CMSModules/SMTPServers/Pages/Administration/List.aspx"), GetString("Administration-LeftMenu.SMTPServersDescription"), ValidationHelper.GetCodeName(GetString("Administration-LeftMenu.SMTPServers")) }); row = new object[5]; row[0] = GetImageUrl("CMSModules/CMS_System/module.png"); row[1] = GetString("Administration-LeftMenu.System"); row[2] = ResolveUrl("~/CMSModules/System/System_Frameset.aspx"); row[3] = GetString("Administration-LeftMenu.SystemDescription"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm)) { row = new object[5]; row[0] = GetImageUrl("Objects/CMS_WebFarmServer/object.png"); row[1] = GetString("Administration-LeftMenu.WebFarm"); row[2] = ResolveUrl("~/CMSModules/WebFarm/Pages/WebFarm_Frameset.aspx"); row[3] = GetString("Administration-LeftMenu.WebFarmDescription"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); } if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus)) { row = new object[5]; row[0] = GetImageUrl("CMSModules/CMS_Integration/module.png"); row[1] = GetString("integration.integration"); row[2] = ResolveUrl("~/CMSModules/Integration/Pages/Administration/Frameset.aspx"); row[3] = GetString("integration.description"); row[4] = ValidationHelper.GetCodeName(row[1]); this.guide.GuideParameters.Add(row); } // Sort the collection ObjectArrayComparer comparer = new ObjectArrayComparer(); this.guide.GuideParameters.Sort(comparer); }
protected void Page_Load(object sender, EventArgs e) { ScriptHelper.RegisterJQuery(this.Page); // Initialize TreeView this.treeElem.ImageSet = TreeViewImageSet.Custom; this.treeElem.ExpandImageToolTip = GetString("General.Expand"); this.treeElem.CollapseImageToolTip = GetString("General.Collapse"); if (CultureHelper.IsUICultureRTL()) { this.treeElem.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false); } else { this.treeElem.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false); } this.treeElem.Nodes.Clear(); // Create root TreeNode rootNode = new TreeNode(); rootNode.Text = "<span class=\"ContentTreeSelectedItem\" name=\"treeNode\" onclick=\"ShowDesktopContent('administration.aspx', this);\"><img src=\"" + GetImageUrl("General/DefaultRoot.png") + "\" style=\"border:none;height:10px;width:1px;\" /><span class=\"Name\">" + GetString("Administration-LeftMenu.Administration") + "</span></span>"; rootNode.Expanded = true; rootNode.NavigateUrl = "#"; this.treeElem.Nodes.Add(rootNode); ArrayList items = new ArrayList(); // Get the UIElements DataSet ds = UIElementInfoProvider.GetUIMenuElements("CMS.Administration"); if (!DataHelper.DataSourceIsEmpty(ds)) { foreach (DataRow dr in ds.Tables[0].Rows) { UIElementInfo element = new UIElementInfo(dr); bool add = CMSAdministrationPage.IsAdministrationUIElementAvailable(element); if (add) { object[] itemProperties = new object[3]; // Ensure target URL string targetUrl = URLHelper.ResolveUrl(element.ElementTargetURL); targetUrl = URLHelper.RemoveParameterFromUrl(targetUrl, "siteid"); // Ensure icon URL string iconUrl = element.ElementIconPath; if (!String.IsNullOrEmpty(iconUrl)) { if (!ValidationHelper.IsURL(iconUrl)) { iconUrl = UIHelper.GetImagePath(this.Page, iconUrl, false, false); // Try to get default icon if requested icon not found if (!FileHelper.FileExists(iconUrl)) { iconUrl = GetImageUrl("CMSModules/list.png"); } } } else { iconUrl = GetImageUrl("CMSModules/list.png"); } // Initialize and add element to collection itemProperties[0] = targetUrl; itemProperties[1] = ResHelper.LocalizeString(element.ElementCaption); itemProperties[2] = URLHelper.ResolveUrl(iconUrl); items.Add(itemProperties); } } } // Add permanent modules AddToCollection( GetString("Administration-LeftMenu.Avatars"), "~/CMSModules/Avatars/Avatar_list.aspx", "Objects/CMS_Avatar/list.png", items); AddToCollection( GetString("Administration-LeftMenu.Badges"), "~/CMSModules/Badges/Badges_List.aspx", "Objects/CMS_Badge/list.png", items); AddToCollection( GetString("Administration-LeftMenu.BadWords"), "~/CMSModules/BadWords/BadWords_List.aspx", "Objects/Badwords_Word/list.png", items); AddToCollection( GetString("Administration-LeftMenu.EmailQueue"), "~/CMSModules/EmailQueue/EmailQueue_Frameset.aspx", "CMSModules/CMS_EmailQueue/list.png", items); AddToCollection( GetString("Administration-LeftMenu.RecycleBin"), "~/CMSModules/RecycleBin/Pages/default.aspx", "CMSModules/CMS_RecycleBin/list.png", items); AddToCollection( GetString("srch.index.title"), "~/CMSModules/SmartSearch/SearchIndex_List.aspx", "Objects/CMS_SearchIndex/list.png", items); AddToCollection( GetString("Administration-LeftMenu.SMTPServers"), "~/CMSModules/SMTPServers/Pages/Administration/List.aspx", "Objects/CMS_SMTPServer/list.png", items); AddToCollection( GetString("Administration-LeftMenu.System"), "~/CMSModules/System/System_Frameset.aspx", "CMSModules/CMS_System/list.png", items); if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus)) { AddToCollection( GetString("integration.integration"), "~/CMSModules/Integration/Pages/Administration/Frameset.aspx", "CMSModules/CMS_Integration/list.png", items); } if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm)) { AddToCollection( GetString("Administration-LeftMenu.WebFarm"), "~/CMSModules/WebFarm/Pages/WebFarm_Frameset.aspx", "Objects/CMS_WebFarmServer/list.png", items); } // Sort the collection ObjectArrayComparer comparer = new ObjectArrayComparer(); items.Sort(comparer); // Build the tree foreach (object node in items) { object[] nodeArray = (object[])node; AddNodeToTree(Convert.ToString(nodeArray[1]), Convert.ToString(nodeArray[0]), Convert.ToString(nodeArray[2]), rootNode); } }