src/RumahScarlett/RumahScarlett.Presentation/Helper/RoleManager.cs
/// <summary>
/// Method yang digunakan untuk mencetang node sesuai data yang ada pada tabel role_detail
/// </summary>
/// <param name="listRoleDetail">Data RoleDetail</param>
/// <param name="nodes">TreeNodeCollection TreeView</param>
Method yang digunakan untuk mencetang node sesuai data yang ada pada tabel role_detail
Method yang digunakan untuk mencetang node sesuai data yang ada pada tabel role_detail
private void PopulateItemChecked(List<IRoleDetailModel> listRoleDetail, TreeNodeCollection nodes)
      {
         foreach (TreeNode node in nodes)
         {
            var nodeTag = (NodeTag)node.Tag; 
            bool status = false; 
            switch (nodeTag.Tag)
            {
               case "menu":
                  status = listRoleDetail.Any(rd => rd.menu_name.Equals(node.Text));
                  break;
               case "menuForm":
                  status = listRoleDetail.Any(rd => rd.menu_name.Equals(nodeTag.FormAction));
                  break;
               case "action":
                   dan form_action
                  status = listRoleDetail.Any(rd => rd.menu_name.Equals(node.Text) && rd.form_action.Equals(nodeTag.FormAction));
                  break;
            }
            node.Checked = status; 
            PopulateItemChecked(listRoleDetail, node.Nodes); 
         }
      }
private void PopulateItemChecked ( List < IRoleDetailModel > listRoleDetail , TreeNodeCollection nodes ) { foreach ( TreeNode node in nodes ) { var nodeTag = ( NodeTag ) node . Tag ; bool status = false ; switch ( nodeTag . Tag ) { case " " : status = listRoleDetail . Any ( rd => rd . menu_name . Equals ( node . Text ) ) ; break ; case " " : status = listRoleDetail . Any ( rd => rd . menu_name . Equals ( nodeTag . FormAction ) ) ; break ; case " " : status = listRoleDetail . Any ( rd => rd . menu_name . Equals ( node . Text ) && rd . form_action . Equals ( nodeTag . FormAction ) ) ; break ; } node . Checked = status ; PopulateItemChecked ( listRoleDetail , node . Nodes ) ; } }
Method yang digunakan untuk mencetang node sesuai data yang ada pada tabel role_detail
Method yang digunakan untuk mencetang node sesuai data yang ada pada tabel role_detail
// Looping semua node pada TreeNodeCollection TreeView // Buat object NodeTag dari Tag pada node // Status checked // Cari berdasarkan menu_name // Cari berdasarkan form_action // Cari berdasarkan menu_name dan form_action // True jika ditemukan pada list role detail // Recursive method
listRoleDetail
List<IRoleDetailModel>
None
nodes
TreeNodeCollection
None