Files
upo-senior-assistant/SeniorAssistant/Views/Shared/SidebarMenu.cshtml
Giacomo Bertolazzi 20015159 1246116804 Besciamello (#1)
* Fixed login & auth
* Added dynamic breadcrumb
* Added DOC
* Added Patient
* Added Notifications
* Added Messages
* Refactoring api
* Re-writed menu
* Removed unused things
* Created README
2019-01-15 21:35:00 +01:00

60 lines
2.1 KiB
Plaintext

@inject IList<IMenuItem> Menu
@inject IHttpContextAccessor HttpContextAccessor
@inject IDataContextFactory<SeniorDataContext> dbFactory
@{
var session = HttpContextAccessor.HttpContext.Session;
string username = session.GetString("username");
if (username != null)
{
Menu = new List<IMenuItem>(Menu);
Menu.RemoveAt(1);
Menu.Insert(1, new MenuItem("Dati personali", "/user/" + username));
if (session.GetString("role").Equals("doctor"))
{
var db = dbFactory.Create();
var patients = (from p in db.Patients
where p.Doctor.Equals(username)
join u in db.Users on p.Username equals u.Username
select new { Username = p.Username, Name = u.Name + " " + u.LastName }).ToArray();
var sub = new SubMenu() { Text = "Pazienti", Items = new List<MenuItem>() };
foreach (var p in patients)
{
sub.Items.Add(new MenuItem(p.Name, "/user/" + p.Username));
}
Menu.Add(sub);
}
}
}
<ul class="sidebar-menu" data-widget="tree">
@foreach (var menuItem in Menu)
{
switch (menuItem)
{
case MenuItem single:
<li>
<a href="@single.HRef">@single.Text</a>
</li>
break;
case SubMenu multi:
<li class="treeview">
<a href="#">
<i class="fa fa-link"></i><span>@multi.Text</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
@foreach (MenuItem item in multi.Items)
{
<li>
<a href="@item.HRef">@item.Text</a>
</li>
}
</ul>
</li>
break;
}
}
</ul>