128 lines
6.8 KiB
Plaintext
128 lines
6.8 KiB
Plaintext
@using Microsoft.EntityFrameworkCore
|
|
@using simrs.Models.simrs;
|
|
@using System.Data;
|
|
@inject simrscontext db
|
|
|
|
@{
|
|
var getUserId = User.Identity?.Name;
|
|
var getPrivilegesMenu = db.bil_privileges.Include(t => t.bil_priv_menu_kdNavigation.bil_kelompok_menu_kdNavigation).Where(t => t.bil_login_kd == getUserId && t.bil_privileges_flag == "1" && t.bil_priv_menu_kdNavigation.bil_priv_menu_sh_link == true).OrderBy(t => t.bil_priv_menu_kd);
|
|
var getParentMenu = db.bil_kelompok_menu.Include(t => t.bil_priv_menu);
|
|
List<string> listParent = new List<string>();
|
|
if (getPrivilegesMenu.Count() > 0)
|
|
{
|
|
foreach (var item in getPrivilegesMenu.GroupBy(t => t.bil_priv_menu_kdNavigation.bil_kelompok_menu_kd))
|
|
{
|
|
listParent.Add(item.Key);
|
|
}
|
|
}
|
|
string pathURL = Context.Request.Path;
|
|
string paretActive = db.bil_priv_menu.Where(t => t.bil_priv_menu_link.Trim() == pathURL.Trim()).Select(t => t.bil_kelompok_menu_kd).FirstOrDefault();
|
|
}
|
|
<aside id="sidebar" class="sidebar">
|
|
|
|
<ul class="sidebar-nav" id="sidebar-nav">
|
|
@{
|
|
if (getPrivilegesMenu.Where(t => t.bil_privileges_dashboard == "1").Count() > 0)
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link collapsed" href="@getPrivilegesMenu.Where(t => t.bil_privileges_dashboard == "1").FirstOrDefault().bil_priv_menu_kdNavigation.bil_priv_menu_link">
|
|
<i class="bi bi-grid"></i>
|
|
<span>Dashboard</span>
|
|
</a>
|
|
</li>
|
|
|
|
<!-- End Dashboard Nav -->
|
|
}
|
|
foreach (var item in listParent)
|
|
{
|
|
var ParentInfo = db.bil_kelompok_menu.Where(t => t.bil_kelompok_menu_kd == item);
|
|
if (item == paretActive)
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link collapsed" data-bs-target="#@item" data-bs-toggle="collapse" href="#">
|
|
<span> <i class="@ParentInfo.Select(t => t.bil_kelompok_menu_icon).FirstOrDefault()"></i> @ParentInfo.Select(t => t.bil_kelompok_menu_nm).FirstOrDefault()</span><i class="bi bi-chevron-down ms-auto"></i>
|
|
</a>
|
|
<ul id="@item" class="nav-content collapse show" data-bs-parent="#sidebar-nav" style="list-style-type: none;">
|
|
@{
|
|
foreach (var menu in getPrivilegesMenu.Where(t => t.bil_priv_menu_kdNavigation.bil_kelompok_menu_kd == item))
|
|
{
|
|
var classicon = "bi bi-circle";
|
|
var iconsize = "";
|
|
|
|
if (menu.bil_priv_menu_kdNavigation.bil_priv_menu_link == (pathURL))
|
|
{
|
|
if (!string.IsNullOrEmpty(menu.bil_priv_menu_kdNavigation.bil_priv_menu_icon))
|
|
{
|
|
classicon = menu.bil_priv_menu_kdNavigation.bil_priv_menu_icon;
|
|
iconsize = "1rem !important";
|
|
}
|
|
<li>
|
|
<a href="@menu.bil_priv_menu_kdNavigation.bil_priv_menu_link" class="active">
|
|
<i class="@classicon" style="font-size:@iconsize;background-color:transparent;"></i><span>@menu.bil_priv_menu_kdNavigation.bil_priv_menu_nm</span>
|
|
</a>
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(menu.bil_priv_menu_kdNavigation.bil_priv_menu_icon))
|
|
{
|
|
classicon = menu.bil_priv_menu_kdNavigation.bil_priv_menu_icon;
|
|
iconsize = "1rem !important";
|
|
}
|
|
<li>
|
|
<a href="@menu.bil_priv_menu_kdNavigation.bil_priv_menu_link">
|
|
<i class="@classicon" style="font-size:@iconsize"></i><span>@menu.bil_priv_menu_kdNavigation.bil_priv_menu_nm</span>
|
|
</a>
|
|
</li>
|
|
}
|
|
|
|
}
|
|
}
|
|
</ul>
|
|
</li>
|
|
|
|
<!-- End Icons Nav -->
|
|
}
|
|
else
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link collapsed" data-bs-target="#@item" data-bs-toggle="collapse" href="#">
|
|
<span> <i class="@ParentInfo.Select(t => t.bil_kelompok_menu_icon).FirstOrDefault()"></i> @ParentInfo.Select(t => t.bil_kelompok_menu_nm).FirstOrDefault()</span><i class="bi bi-chevron-down ms-auto"></i>
|
|
</a>
|
|
<ul id="@item" class="nav-content collapse " data-bs-parent="#sidebar-nav">
|
|
@{
|
|
foreach (var menu in getPrivilegesMenu.Where(t => t.bil_priv_menu_kdNavigation.bil_kelompok_menu_kd == item))
|
|
{
|
|
var classicon = "bi bi-circle";
|
|
var iconsize = "";
|
|
if (!string.IsNullOrEmpty(menu.bil_priv_menu_kdNavigation.bil_priv_menu_icon))
|
|
{
|
|
classicon = menu.bil_priv_menu_kdNavigation.bil_priv_menu_icon;
|
|
iconsize = "1rem !important";
|
|
}
|
|
<li>
|
|
<a href="@menu.bil_priv_menu_kdNavigation.bil_priv_menu_link">
|
|
<i class="@classicon" style="font-size:@iconsize"></i><span>@menu.bil_priv_menu_kdNavigation.bil_priv_menu_nm</span>
|
|
</a>
|
|
</li>
|
|
}
|
|
}
|
|
</ul>
|
|
</li>
|
|
|
|
<!-- End Icons Nav -->
|
|
}
|
|
|
|
}
|
|
<li class="nav-item">
|
|
<a class="nav-link collapsed" href="/home/logoff">
|
|
<i class="bi bi-power"></i>
|
|
<span>Sign Out</span>
|
|
</a>
|
|
</li>
|
|
}
|
|
|
|
</ul>
|
|
|
|
</aside>
|