private void SaveNodesData(Tabs tab, int roleId) { using (var rep = UnitOfWork.TabsRepository) { //Save using (var rtRep = UnitOfWork.RoleTabsRepository) { var isExists = rtRep.Where(r => r.RoleID == roleId && r.TabID == tab.TabId).Any(); if (!isExists) { var roleTab = new RoleTabs { RoleID = roleId, TabID = tab.TabId, ID = 0 }; rtRep.Create(roleTab); } } //Check for the Current tab's Parent Tab if (tab.ParentTabId > 0) { var parentTab = rep.Where(rp => rp.TabId == tab.ParentTabId).FirstOrDefault(); if (parentTab != null) { SaveNodesData(parentTab, roleId); } } } }
/// <summary> /// Adds to role tab. /// </summary> /// <param name="tabId">The tab identifier.</param> /// <returns></returns> public int?AddToRoleTab(int tabId) { using (var rep = UnitOfWork.RoleTabsRepository) { var newRoleTab = new RoleTabs { RoleID = Convert.ToInt32(DefaultRoleIDs.SysAdminRole), TabID = tabId }; var newId = rep.Create(newRoleTab); return(newId); } }