public static void BuildNavBarLinks(NavBarControl _navCtrl, DevExpress.Xpo.UnitOfWork _session) { var infoList = UIFormInfo.GetOrBuildFormEntityList(_session); foreach (NavBarItem link in _navCtrl.Items.Where(x => x.Tag != null)) //Tag foreach Link item must have FormEntity Enum value represent Form name { CoreLib.MyEnums.FormEntityEnum frmName = (CoreLib.MyEnums.FormEntityEnum)link.Tag; var dbRow = infoList.Where(x => x.FormEntity == (int)frmName).FirstOrDefault(); //link.Name = dbRow.FormName; link.Caption = dbRow.LinkCaption; link.LinkClicked += (s, e) => { var sender = (NavBarItem)s; var linkCode = (CoreLib.MyEnums.FormEntityEnum)sender.Tag; Args _args = new Args() { Caller = MdiParentForm }; OpenLinkToFormEntity(linkCode, _args); }; } }
private static void OpenLinkToFormEntity(CoreLib.MyEnums.FormEntityEnum _linkTag, CoreLib.Args _args) { switch (_linkTag) { case CoreLib.MyEnums.FormEntityEnum.JournalBase: MenuController.JournalBaseFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.SecurityPrincipalUser: MenuController.SecurityPrincipalUserFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.SecurityPrincipalRole: MenuController.SecurityPrincipalRoleFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.AccountGrouping: MenuController.AccountGroupingFormOpen(); break; case CoreLib.MyEnums.FormEntityEnum.TestForm: MenuController.TestFormOpen(); break; case CoreLib.MyEnums.FormEntityEnum.FieldsSetting: MenuController.FieldsSettingFormOpen(); break; case CoreLib.MyEnums.FormEntityEnum.Sequence: MenuController.SequenceFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.UILabel: MenuController.UILabelFormOpen(); break; case CoreLib.MyEnums.FormEntityEnum.TableBase: MenuController.TableBaseFormOpen(); break; case CoreLib.MyEnums.FormEntityEnum.Currency: MenuController.CurrencyFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.CurrencySetup: MenuController.CurrencySetupFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.FiscalCalender: MenuController.FiscalCalenderFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.FiscalCalenderYear: MenuController.FiscalCalenderYearFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.LedgerChartOfAccounts: MenuController.LedgerChartOfAccountsFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.MainAccountType: MenuController.MainAccountTypeFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.MainAccount: MenuController.MainAccountFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.Customer: MenuController.CustomerFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.Vendor: MenuController.VendorFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.Country: MenuController.CountryFormOpen(_args); break; case CoreLib.MyEnums.FormEntityEnum.City: MenuController.CityFormOpen(_args); break; default: break; } }