/// <summary> /// 按照国家或地区的名称筛选服务器,同时更新程序中按国家或地区筛选的菜单 /// </summary> /// <param name="serverInfoCollection"></param> /// <returns></returns> private ServerInfo[] FilterByCountryAndUpdateCountryList(ServerInfo[] servers) { MenuItemCollection menuItems = FilterByCountryMenuItems.MenuItems; menuItems.Clear(); IEnumerable <string> countries = servers.Select(server => server.Country); IEnumerable <string> candidates = countries.Concat(new[] { "", Settings.Default.ChosenServerCountry }); CountryIpTable countryIpTable = CountryIpTable.Instance(); foreach (string country in candidates.OrderBy(x => x).Distinct()) { string countryName = country == "" ? Resources.AnyCountry : countryIpTable.GetCountryName(country); menuItems.Add(new MenuItem(countryName, delegate { if (Settings.Default.ChosenServerCountry == country) { return; } Settings.Default.ChosenServerCountry = country; DoUpdate(true); }) { Checked = country == Settings.Default.ChosenServerCountry, RadioCheck = true, }); } if ((Settings.Default.ChosenServerCountry ?? "") == "") { return(servers); } return(servers.Where(server => server.Country == Settings.Default.ChosenServerCountry).ToArray()); }
private void SortedAdd(MenuItemCollection items, Command cmd) { items.Add(cmd); var ordered = items.OrderBy(ButtonMenuItemComparer.Prepare).ToArray(); items.Clear(); items.AddRange(ordered); }
private static void ClearMenuItems(MenuItemCollection menuItemCollection) { if (menuItemCollection == null || menuItemCollection.Count == 0) return; // it's possible that menuItem.Dispose() removes menuItem from MenuItem, therefore // we better work with a copy. var menuItems = new MenuItem[menuItemCollection.Count]; menuItemCollection.CopyTo(menuItems, 0); foreach (var menuItem in menuItems) menuItem.Dispose(); menuItemCollection.Clear(); }
private static void ClearMenuItems(MenuItemCollection menuItemCollection) { if (menuItemCollection == null || menuItemCollection.Count == 0) { return; } // it's possible that menuItem.Dispose() removes menuItem from MenuItem, therefore // we better work with a copy. var menuItems = new MenuItem[menuItemCollection.Count]; menuItemCollection.CopyTo(menuItems, 0); foreach (var menuItem in menuItems) { menuItem.Dispose(); } menuItemCollection.Clear(); }
public void Clear() { _menuItemCollection.Clear(); }
public static void Menu_Start() { menuItems = new MenuItemCollection(); // First LI Main Page menuItems.Add(new MenuItem() { NavigateUrl = "../Views/Default.aspx", Text = "الشاشه الرئيسيه", Value = "1001" }); // 2nd LI is Ul الادخلات int counter = 1; menuItems.Add(new MenuItem() { Text = "الأدخــلات", Value = "100" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/LookUpsViews", Text = "مــلــحـقات الـمـدخلات", Value = "1" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/ChartOfAccountsView", Text = "دليل الحسابات", Value = "2" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddDriver", Text = "أضافه سائق", Value = "3" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddCars", Text = "أضافه سيارة", Value = "4" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddCarMaintenance", Text = "مـتابعة الـصـيـانـة", Value = "5" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddProduct", Text = "أضافة صنف", Value = "6" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddClient", Text = "أضافة عميل", Value = "7" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddSupplier", Text = "أضافة مورد", Value = "8" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/Region", Text = "أضافة منطقه", Value = "9" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Entries/AddListPrice", Text = "قائمه اسعار", Value = "10" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "أضافه مصروفات نثريه", Value = "11" }); // 3th LI is Ul الحركة اليوميه counter++; menuItems.Add(new MenuItem() { Text = "الحركة اليوميه", Value = "101" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/DailyMovements/MonyIn", Text = "سند قبض:نقدي/شيك", Value = "12" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/DailyMovements/MonyOut", Text = "سند صرف:نقدي/شيك", Value = "13" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/DailyMovements/AddTransportCommand", Text = "أمر نقل", Value = "14" }); // 4th LI is Ul الـــصـيـانـة counter++; menuItems.Add(new MenuItem() { Text = "الـــصـيـانـة", Value = "102" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Maintenance/ListingPurchaseInvoice", Text = "أذن اسـتـلام بــضـاعـة", Value = "15" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Maintenance/ListingSalesInvoice", Text = "أذن صــرف بــضـاعـة", Value = "16" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "حــركـة الـصـيـانـة", Value = "17" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Maintenance/AddCarChangeRateOnDis", Text = "معدل التغيير والمسافة المقطوعه", Value = "41" }); // 5th LI is Ul لوحه التحكم counter++; menuItems.Add(new MenuItem() { Text = "لوحه التحكم", Value = "103" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/DashBoard/AddUser", Text = "أضافة مستخدم", Value = "18" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/DashBoard/AddRolePrivilege", Text = "الصلاحيات", Value = "19" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "مراقبه المستخدم", Value = "20" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "ترحيل سنوي", Value = "21" }); // 6th LI is Ul حسابات عامة counter++; menuItems.Add(new MenuItem() { Text = "حسابات عامة", Value = "104" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/IncomsEntry", Text = "قيد مقبوضات", Value = "22" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/OutcomsEntry", Text = "قيد مدفوعات", Value = "23" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/PurshasesEntry", Text = "قيد المشتريات", Value = "24" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/DiaryEntryView", Text = "قيد يوميه", Value = "25" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/OstazAccount", Text = "حساب استاذ", Value = "26" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/AssistantOstazAccount", Text = "حساب استاذ مساعد", Value = "27" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/GeneralAccounts/BalanceReview", Text = "ميزان مراجعه", Value = "28" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "حساب مركز مالي", Value = "29" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "حساب دخل", Value = "30" }); // 7th LI is Ul حسابات عامة counter++; menuItems.Add(new MenuItem() { Text = "تقارير", Value = "105" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/ItemsCard", Text = "كارتة صنف", Value = "31" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/ClientOperationsView", Text = "كشف حساب عميل", Value = "32" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/SupplierOperationsView", Text = "كشف حساب مورد", Value = "33" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "ارصده عملاء", Value = "34" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "ارصده موردين", Value = "35" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/TrasnportOrderReport", Text = "تقارير بأوامر النقل", Value = "36" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/CarMaintenanceCost", Text = "تقارير صيانه السيارت", Value = "37" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "حسابات يوميه", Value = "38" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "#", Text = "تقارير صيانه سيارة مفصل", Value = "39" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/TreasuryReportView", Text = "تقرير خزينه", Value = "40" }); menuItems[counter].ChildItems.Add(new MenuItem() { NavigateUrl = "../../Views/Reports/SolarOrPanzenReport", Text = "تقرير اسـتـعـاضـة السولار", Value = "42" }); Rol_PrivFT RolePriv = new Rol_PrivFT(); List <Rol_PrivFT> Role_PrivList = new List <Rol_PrivFT>(); ///////////////////// get Current user name and its Role and all related Role privilege var LoginUsername = HttpContext.Current.User.Identity.Name; var LogUserRoleID = db.AspUser.Where(user => user.Username == LoginUsername).FirstOrDefault().RoleID; Role_PrivList = db.Rol_PrivFT.Where(item => item.Rol_id == LogUserRoleID).ToList(); /////////////////////////////////////////////////////////////////////////// for (int i = 0; i < menuItems.Count; i++) { try { RolePriv = new Rol_PrivFT(); RolePriv = Role_PrivList.Where(o => o.Priv_id == int.Parse(menuItems[i].Value)).FirstOrDefault(); if (RolePriv != null) { if (RolePriv.AddFlag == true || RolePriv.EditFlag == true || RolePriv.DeleteFlag == true || RolePriv.SearchFlag == true || RolePriv.AllFlag == true) { for (int j = 0; j < menuItems[i].ChildItems.Count; j++) { RolePriv = new Rol_PrivFT(); RolePriv = Role_PrivList.Where(o => o.Priv_id == int.Parse(menuItems[i].ChildItems[j].Value)).FirstOrDefault(); if (RolePriv == null) { menuItems[i].ChildItems.Remove(menuItems[i].ChildItems[j]); j = -1; } else if (RolePriv.AddFlag != true && RolePriv.EditFlag != true && RolePriv.DeleteFlag != true && RolePriv.SearchFlag != true && RolePriv.AllFlag != true) { menuItems[i].ChildItems.Remove(menuItems[i].ChildItems[j]); j = -1; } } } else { menuItems.Remove(menuItems[i]); i = -1; } } else { menuItems.Clear(); } } catch (Exception ex) { continue; } } AddRolePrivilege.UpdateMenu = false; }