@inject IHttpContextAccessor HttpContextAccessor @inject IDataContextFactory 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 Menu = new List(); 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(); var sub = new SubMenu() { Text = "Pazienti", Items = new List() }; 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(); Menu.Add(new MenuItem("Invia un messaggio al dottore", "/Message/" + patient.Doctor)); } @if (search != null) { } } }