diff --git a/SeniorAssistant/Controllers/AccountController.cs b/SeniorAssistant/Controllers/AccountController.cs index a10c4ce..be9e024 100644 --- a/SeniorAssistant/Controllers/AccountController.cs +++ b/SeniorAssistant/Controllers/AccountController.cs @@ -205,7 +205,7 @@ namespace IdentityDemo.Controllers Username = username }); - var a = _notification(doctor, InsertAsDoct + username); + var a = _notification(doctor, InsertAsDoct + username, "/user/" + username); return Json(OkJson); }); } diff --git a/SeniorAssistant/Controllers/HomeController.cs b/SeniorAssistant/Controllers/HomeController.cs index e90d269..60c2bbf 100644 --- a/SeniorAssistant/Controllers/HomeController.cs +++ b/SeniorAssistant/Controllers/HomeController.cs @@ -44,6 +44,23 @@ namespace SeniorAssistant.Controllers [Route("User/{User}")] public IActionResult SingleUser(string user) { + try + { + string rm = HttpContext.Request.Query["removePatient"]; + string usr = HttpContext.Session.GetString(Username); + + var pt = Db.Patients + .Where(p => p.Username.Equals(rm) && p.Doctor.Equals(usr)) + .FirstOrDefault(); + var mp = Db.MenuPatients + .Where(m => m.PatientUsername.Equals(rm) && m.Username.Equals(usr)) + .FirstOrDefault(); + + Db.Delete(pt); + Db.Delete(mp); + } + catch { } + return CheckAuthorized("User", GetUser(user)); } diff --git a/SeniorAssistant/Data/SeniorDataContext.cs b/SeniorAssistant/Data/SeniorDataContext.cs index 5128ded..cc2af5d 100644 --- a/SeniorAssistant/Data/SeniorDataContext.cs +++ b/SeniorAssistant/Data/SeniorDataContext.cs @@ -1,5 +1,4 @@ -using System; -using System.Linq; +using System.Linq; using LinqToDB; using LinqToDB.Data; using LinqToDB.DataProvider; @@ -24,6 +23,7 @@ namespace SeniorAssistant.Data public ITable Notifications => GetTable(); public ITable Messages => GetTable(); public ITable Forgot => GetTable(); + public ITable MenuPatients => GetTable(); public T[] GetLastMessages(ITable table, string receiver, ref int numNotSeen, int max = 10) where T : IHasMessage diff --git a/SeniorAssistant/Models/Users/MenuPatient.cs b/SeniorAssistant/Models/Users/MenuPatient.cs new file mode 100644 index 0000000..e502825 --- /dev/null +++ b/SeniorAssistant/Models/Users/MenuPatient.cs @@ -0,0 +1,18 @@ +using LinqToDB.Mapping; +using Newtonsoft.Json; + +namespace SeniorAssistant.Models.Users +{ + public class MenuPatient : IHasUsername + { + [Column(IsPrimaryKey = true, CanBeNull = false)] + public string Username { get; set; } + + [Column(IsPrimaryKey = true, CanBeNull = false)] + public string PatientUsername { get; set; } + + [JsonIgnore] + [Association(ThisKey = nameof(PatientUsername), OtherKey = nameof(User.Username), CanBeNull = false)] + public User Usr { get; set; } + } +} diff --git a/SeniorAssistant/Startup.cs b/SeniorAssistant/Startup.cs index 8e712ae..2e5be03 100644 --- a/SeniorAssistant/Startup.cs +++ b/SeniorAssistant/Startup.cs @@ -134,6 +134,7 @@ namespace SeniorAssistant db.CreateTableIfNotExists(); db.CreateTableIfNotExists(); db.CreateTableIfNotExists(); + db.CreateTableIfNotExists(); } } diff --git a/SeniorAssistant/Views/Home/User.cshtml b/SeniorAssistant/Views/Home/User.cshtml index 4829542..1c841d1 100644 --- a/SeniorAssistant/Views/Home/User.cshtml +++ b/SeniorAssistant/Views/Home/User.cshtml @@ -35,6 +35,9 @@ else @if (isDoc) { +
+ +
@@ -125,8 +128,7 @@ else $("#chart-data").html("Nessun dato"); else { $("#chart-data").html(""); - console.log(heartbeat[0].time); - console.log("min = " +new Date(heartbeat[0].time).getTime()); + var minDate = Math.min( new Date(heartbeat[0].time).getTime(), new Date(steps[0].time).getTime(), diff --git a/SeniorAssistant/Views/Shared/SidebarMenu.cshtml b/SeniorAssistant/Views/Shared/SidebarMenu.cshtml index f25b387..f8de612 100644 --- a/SeniorAssistant/Views/Shared/SidebarMenu.cshtml +++ b/SeniorAssistant/Views/Shared/SidebarMenu.cshtml @@ -3,66 +3,74 @@ @{ var session = HttpContextAccessor.HttpContext.Session; - string search = HttpContextAccessor.HttpContext.Request.Query["q"]; + string add = HttpContextAccessor.HttpContext.Request.Query["add"]; + string remove = HttpContextAccessor.HttpContext.Request.Query["remove"]; string username = session.GetString("username"); - + var db = dbFactory.Create(); + if (username != null) { var isDoc = session.GetString("role").Equals("doctor"); - var MaxPatients = 30; 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(); - 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() }; - 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)); - } - } - @if (search != null) - { - - } } } \ No newline at end of file diff --git a/SeniorAssistant/Views/_ViewImports.cshtml b/SeniorAssistant/Views/_ViewImports.cshtml index 3fb8932..28d189b 100644 --- a/SeniorAssistant/Views/_ViewImports.cshtml +++ b/SeniorAssistant/Views/_ViewImports.cshtml @@ -4,4 +4,5 @@ @using SeniorAssistant.Data; @using Microsoft.AspNetCore.Mvc; @using Microsoft.AspNetCore.Http; -@using System.Linq; \ No newline at end of file +@using System.Linq; +@using LinqToDB; \ No newline at end of file