Files
upo-senior-assistant/SeniorAssistant/Views/Shared/SidebarMenu.cshtml
Giacomo Bertolazzi 746e5fe14b Fixes
- Added forgot option
- added modify user
- moved login and register
2019-01-29 19:59:12 +01:00

128 lines
5.7 KiB
Plaintext

@inject IHttpContextAccessor HttpContextAccessor
@inject IDataContextFactory<SeniorDataContext> dbFactory
@{
var session = HttpContextAccessor.HttpContext.Session;
string search = HttpContextAccessor.HttpContext.Request.Query["q"];
string username = session.GetString("username");
if (username != null)
{
var isDoc = session.GetString("role").Equals("doctor");
var MaxPatients = 30;
var Menu = new List<IMenuItem>();
Menu.Add(new MenuItem("Profilo", "/"));
Menu.Add(new MenuItem("Dati personali", "/user/" + username));
if (isDoc)
{
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();
if(search != null)
{
patients = (from p in patients
where p.Name.StartsWith(search)
select p).ToArray();
}
patients.Take(MaxPatients);
var num = patients.Count();
var sub = new SubMenu() { Text = num + " pazienti link rapido", Items = new List<MenuItem>() };
foreach (var p in patients)
{
sub.Items.Add(new MenuItem(p.Name, "/user/" + p.Username));
}
Menu.Add(sub);
}
else
{
var db = dbFactory.Create();
var patient = (from p in db.Patients
where p.Username.Equals(username)
select p).FirstOrDefault();
if (patient != null)
{
Menu.Add(new MenuItem("Invia un messaggio al dottore", "/Message/" + patient.Doctor));
}
}
<aside class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
@if (isDoc)
{
<!-- Sidebar user panel (optional) -->
<!-- search form (Optional) -->
<form action="#" method="get" class="sidebar-form">
<div class="input-group">
<input type="text" name="q" class="form-control" placeholder="Search..." , value="@search">
<span class="input-group-btn">
<button type="submit" name="search" id="search-btn" class="btn btn-flat">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
<!-- /.search form -->
<!-- Sidebar Menu -->
}
<div>
<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 @if(search != null) {<text>menu-open</text>}">
<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" @if (search != null) { <text> style="display: block;" </text> }>
@foreach (MenuItem item in multi.Items)
{
<li>
@{
var text = item.Text;
var bg = "";
if (search != null && item.Text.StartsWith(search))
{
bg = "bg-aqua";
text = item.Text.Replace(search, "<em>" + search + "</em>");
}
}
<a href="@item.HRef" class="@bg">
@Html.Raw(text)
</a>
</li>
}
</ul>
</li>
break;
}
}
</ul>
</div>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
@if (search != null)
{
<script>
$("body").removeClass("sidebar-collapse");
</script>
}
}
}