src/RumahScarlett/RumahScarlett.Presentation/Helper/RoleManager.cs
/// <summary>
/// Method yang digunakan untuk Enable/Disable Menu pada MenuStrip
/// </summary>
/// <param name="listRoleDetail">Data RoleDetail</param>
/// <param name="items">ToolStripItemCollection MenuStrip</param>
Method yang digunakan untuk Enable/Disable Menu pada MenuStrip
Method yang digunakan untuk Enable / Disable Menu pada MenuStrip
private void EnableMenuStripItem(List<IRoleDetailModel> listRoleDetail, ToolStripItemCollection items)
      {
         foreach (var menu in items)
         {
            if (!(menu is ToolStripMenuItem)) continue;
            var menuItem = (ToolStripMenuItem)menu;
            if (menuItem.TagIgnore()) continue;
            var status = listRoleDetail.Any(rd => rd.menu_name.Equals(menuItem.Tag.ToString()) && 
                         rd.menu_parent.Equals(menuItem.AccessibleDescription));
            menuItem.Enabled = status; 
            EnableMenuStripItem(listRoleDetail, menuItem.DropDownItems); 
         }
      }
private void EnableMenuStripItem ( List < IRoleDetailModel > listRoleDetail , ToolStripItemCollection items ) { foreach ( var menu in items ) { if ( ! ( menu is ToolStripMenuItem ) ) continue ; var menuItem = ( ToolStripMenuItem ) menu ; if ( menuItem . TagIgnore ( ) ) continue ; var status = listRoleDetail . Any ( rd => rd . menu_name . Equals ( menuItem . Tag . ToString ( ) ) && rd . menu_parent . Equals ( menuItem . AccessibleDescription ) ) ; menuItem . Enabled = status ; EnableMenuStripItem ( listRoleDetail , menuItem . DropDownItems ) ; } }
Method yang digunakan untuk Enable/Disable Menu pada MenuStrip
Method yang digunakan untuk Enable / Disable Menu pada MenuStrip
// Lewati jika bukan MenuItem // Lewati jika Menu mempunyai Tag ignore // Cek jika Menu terdapat pada list RoleDetail // True jika ditemukan pada list role detail // Recursive method
listRoleDetail
List<IRoleDetailModel>
None
items
ToolStripItemCollection
None