src/RumahScarlett/RumahScarlett.Presentation/Helper/RoleManager.cs
/// <summary>
/// Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail
/// </summary>
/// <param name="listRoleDetail">Data RoleDetail</param>
/// <param name="roleKode">Role kode</param>
/// <param name="menuParent">Menu (parent/header) terpilih</param>
/// <param name="nodes">TreeNodeCollection TreeView</param>
Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail
Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail
private void InsertItemChecked(List<RoleDetailModel> listRoleDetail, string roleKode
         , string menuParent, TreeNodeCollection nodes)
      {
         foreach (TreeNode node in nodes)
         {
            if (node.Checked)
            {
               var nodeTag = (NodeTag)node.Tag;
               var roleDetail = new RoleDetailModel();
               roleDetail.role_kode = roleKode;
               roleDetail.tag = nodeTag.Tag; 
               roleDetail.menu_parent = menuParent; 
               switch (roleDetail.tag)
               {
                  case "menu":
                     roleDetail.menu_name = node.Text; 
                     roleDetail.form_action = null;
                     break;
                  case "menuForm":
                     roleDetail.menu_name = nodeTag.FormAction; 
                     roleDetail.form_action = null;
                     break;
                  case "action":
                     roleDetail.menu_name = node.Text; 
                     roleDetail.form_action = nodeTag.FormAction; 
                     break;
               }
               listRoleDetail.Add(roleDetail);
            }
            InsertItemChecked(listRoleDetail, roleKode, menuParent, node.Nodes); 
         }
      }
private void InsertItemChecked ( List < RoleDetailModel > listRoleDetail , string roleKode , string menuParent , TreeNodeCollection nodes ) { foreach ( TreeNode node in nodes ) { if ( node . Checked ) { var nodeTag = ( NodeTag ) node . Tag ; var roleDetail = new RoleDetailModel ( ) ; roleDetail . role_kode = roleKode ; roleDetail . tag = nodeTag . Tag ; roleDetail . menu_parent = menuParent ; switch ( roleDetail . tag ) { case " " : roleDetail . menu_name = node . Text ; roleDetail . form_action = null ; break ; case " " : roleDetail . menu_name = nodeTag . FormAction ; roleDetail . form_action = null ; break ; case " " : roleDetail . menu_name = node . Text ; roleDetail . form_action = nodeTag . FormAction ; break ; } listRoleDetail . Add ( roleDetail ) ; } InsertItemChecked ( listRoleDetail , roleKode , menuParent , node . Nodes ) ; } }
Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail
Method yang digunakan untuk menyimpan node yang tercentang ke tabel role_detail
// Looping node di TreeView // Hanya menyimpan node yang tercentang // Buat instance object NodeTag dari Tag pada node // menu / menuForm / action // Menu header (parent) di MenuStrip // Menu tag // Form name // Button Tag/Text // Form name // Tambahkan object RoleDetail ke list // Recursive method
listRoleDetail
List<RoleDetailModel>
None
roleKode
string
None
menuParent
string
Menu (parent/header) terpilih
Menu ( parent / header ) terpilih
nodes
TreeNodeCollection
None