From 4294f48fd89373bf5cbbccb0fdecac6d487e9dd3 Mon Sep 17 00:00:00 2001 From: DawitG96 <20013954@studenti.uniupo.it> Date: Fri, 18 Jan 2019 23:24:50 +0100 Subject: [PATCH 1/9] Profile avatar --- .../Controllers/AccountController.cs | 55 +++++++++++++++++- SeniorAssistant/Models/Users/User.cs | 2 + SeniorAssistant/SeniorAssistant.csproj | 2 +- SeniorAssistant/Views/Shared/Logout.cshtml | 27 ++++++++- SeniorAssistant/Views/Shared/Profile.cshtml | 23 +++++--- SeniorAssistant/Views/Shared/Register.cshtml | 20 ++++--- SeniorAssistant/libman.json | 5 ++ SeniorAssistant/senior.db | Bin 0 -> 143360 bytes 8 files changed, 113 insertions(+), 21 deletions(-) create mode 100644 SeniorAssistant/libman.json create mode 100644 SeniorAssistant/senior.db diff --git a/SeniorAssistant/Controllers/AccountController.cs b/SeniorAssistant/Controllers/AccountController.cs index 6a999d4..2c6dce0 100644 --- a/SeniorAssistant/Controllers/AccountController.cs +++ b/SeniorAssistant/Controllers/AccountController.cs @@ -6,6 +6,8 @@ using LinqToDB; using System.Linq; using System; using SeniorAssistant.Models.Users; +using System.Web; +using System.IO; namespace IdentityDemo.Controllers { @@ -61,13 +63,20 @@ namespace IdentityDemo.Controllers } [HttpPost] - public ActionResult _register(User user) + public ActionResult _register(User user, string code = "") { return Action(() => { try { Db.Insert(user); + if(code != null && code.Equals("444442220")) + { + Db.Insert(new Doctor + { + Username = user.Username + }); + }; return _login(user.Username, user.Password); } catch @@ -181,5 +190,49 @@ namespace IdentityDemo.Controllers return Json(OkJson); }); } + + + [HttpPost] + public async System.Threading.Tasks.Task Save(IFormFile file) + { + return LoggedAction(() => + { + var loggedUser = HttpContext.Session.GetString(Username); + if (file.Length > 0) + { + var name = loggedUser + ".jpg"; + var path = Path.Combine(("~/uploads/"), name); + var stream = new FileStream(path, FileMode.Create); + file.CopyTo(stream); + var user = (from u in Db.Users + where u.Username.Equals(loggedUser) + select u).FirstOrDefault(); + user.Avatar = path; + + Db.Update(User); + } + + return Json(OkJson); + }); + + /* + var loggedUser = HttpContext.Session.GetString(Username); + + long size = file.Length; + + // full path to file in temp location + var filePathPart = Path.GetDirectoryName("~/AdminLTE-2.4.3/dist/img/"); + var fileName = Path.GetFileName(loggedUser + ".jpg"); + var filePath = Path.Combine(filePathPart,fileName); + if (size > 0) + { + using (var stream = new FileStream(filePath, FileMode.Create)) + { + await file.CopyToAsync(stream); + } + } + return Json(new JsonResponse()); + */ + } } } \ No newline at end of file diff --git a/SeniorAssistant/Models/Users/User.cs b/SeniorAssistant/Models/Users/User.cs index 98f56ba..54cf019 100644 --- a/SeniorAssistant/Models/Users/User.cs +++ b/SeniorAssistant/Models/Users/User.cs @@ -18,5 +18,7 @@ namespace SeniorAssistant.Models public string Name { get; set; } public string LastName { get; set; } + + public string Avatar { get; set; } } } diff --git a/SeniorAssistant/SeniorAssistant.csproj b/SeniorAssistant/SeniorAssistant.csproj index 3fb5c1f..816b670 100644 --- a/SeniorAssistant/SeniorAssistant.csproj +++ b/SeniorAssistant/SeniorAssistant.csproj @@ -7,7 +7,7 @@ - + diff --git a/SeniorAssistant/Views/Shared/Logout.cshtml b/SeniorAssistant/Views/Shared/Logout.cshtml index f65e781..6de1a21 100644 --- a/SeniorAssistant/Views/Shared/Logout.cshtml +++ b/SeniorAssistant/Views/Shared/Logout.cshtml @@ -14,7 +14,19 @@ + + } } diff --git a/SeniorAssistant/Views/Shared/Register.cshtml b/SeniorAssistant/Views/Shared/Register.cshtml index bbe41f9..069e3f7 100644 --- a/SeniorAssistant/Views/Shared/Register.cshtml +++ b/SeniorAssistant/Views/Shared/Register.cshtml @@ -5,7 +5,7 @@ - +
@@ -20,17 +20,19 @@ var lastname = $("#regLastname").val(); var password = $("#regPassword").val(); var email = $("#regEmail").val(); - var role = $("#regDoctor").is(":checked")? "Doctor":"User"; + var code = $("#regDoctor").val(); $.ajax({ url: "/Account/_register", data: { - Username: username, - Name: name, - Lastname: lastname, - Password: password, - Email: email, - Role: role + Code: code, + User: { + Username: username, + Name: name, + Lastname: lastname, + Password: password, + Email: email + } }, dataType: "json", type: "POST", @@ -43,7 +45,7 @@ } }, error: function (xhr, status, error) { - alert(xhr.responseText) + alert(error) } }) }); diff --git a/SeniorAssistant/libman.json b/SeniorAssistant/libman.json new file mode 100644 index 0000000..ceee271 --- /dev/null +++ b/SeniorAssistant/libman.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "defaultProvider": "cdnjs", + "libraries": [] +} \ No newline at end of file diff --git a/SeniorAssistant/senior.db b/SeniorAssistant/senior.db new file mode 100644 index 0000000000000000000000000000000000000000..32e616b26bfbc19c46d6854df1b54112d9c79481 GIT binary patch literal 143360 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 Sf@gHN4?7sX&mfrCpZ_04uSG=w literal 0 HcmV?d00001 From 9b31c9334185edc10104e89849de09e556ebf727 Mon Sep 17 00:00:00 2001 From: Giacomo Bertolazzi <20015159@studenti.uniupo.it> Date: Mon, 21 Jan 2019 17:47:42 +0100 Subject: [PATCH 2/9] + Avatar + Range Data Scheme --- .../Controllers/AccountController.cs | 104 +++++++++++++----- SeniorAssistant/SeniorAssistant.csproj | 4 - SeniorAssistant/Views/Home/User.cshtml | 30 ++++- SeniorAssistant/Views/Shared/Login.cshtml | 7 +- SeniorAssistant/Views/Shared/Logout.cshtml | 10 +- SeniorAssistant/senior.db | Bin 114688 -> 180224 bytes SeniorAssistant/wwwroot/uploads/default.jpg | Bin 0 -> 10716 bytes SeniorAssistant/wwwroot/uploads/vecchio0.jpg | Bin 0 -> 418141 bytes 8 files changed, 112 insertions(+), 43 deletions(-) create mode 100644 SeniorAssistant/wwwroot/uploads/default.jpg create mode 100644 SeniorAssistant/wwwroot/uploads/vecchio0.jpg diff --git a/SeniorAssistant/Controllers/AccountController.cs b/SeniorAssistant/Controllers/AccountController.cs index 37e7d1f..3f5ac16 100644 --- a/SeniorAssistant/Controllers/AccountController.cs +++ b/SeniorAssistant/Controllers/AccountController.cs @@ -6,10 +6,10 @@ using LinqToDB; using System.Linq; using System; using SeniorAssistant.Models.Users; -using SeniorAssistant.Data; using System.Threading.Tasks; -using System.Web; using System.IO; +using System.Collections.Generic; +using System.Net.Http.Headers; namespace IdentityDemo.Controllers { @@ -25,35 +25,48 @@ namespace IdentityDemo.Controllers private static readonly string AlreadyPatie = "Sei gia' un paziente"; private static readonly string DocNotExists = "Il dottore selezionato non esiste"; private static readonly string InsertAsDoct = "Ti ha inserito come il suo dottore: "; + private static readonly string DefaultImage = "/uploads/default.jpg"; + private static readonly string UploadsDirec = "/uploads/"; [HttpPost] public async Task _login(string username, string password) { - var result = await (from u in Db.Users - where u.Username.Equals(username) - && u.Password.Equals(password) - select u).ToListAsync(); - - if (result.Count == 1) + try { - User user = result.First(); - HttpContext.Session.SetString(Username, username); - HttpContext.Session.SetString("email", user.Email); - HttpContext.Session.SetString("name", user.Name); - HttpContext.Session.SetString("lastname", user.LastName); - - var isDoc = (from d in Db.Doctors - where d.Username.Equals(username) - select d).ToArray().FirstOrDefault() != null; - HttpContext.Session.SetString("role", isDoc? "doctor":"patient"); + var user = await (from u in Db.Users + where u.Username.Equals(username) + && u.Password.Equals(password) + select u).FirstOrDefaultAsync(); - return Json(OkJson); + if (user != null) + { + HttpContext.Session.SetString(Username, username); + HttpContext.Session.SetString("email", user.Email); + HttpContext.Session.SetString("name", user.Name); + HttpContext.Session.SetString("lastname", user.LastName); + HttpContext.Session.SetString("avatar", user.Avatar ?? DefaultImage); + + var isDoc = (from d in Db.Doctors + where d.Username.Equals(username) + select d).ToArray().FirstOrDefault() != null; + HttpContext.Session.SetString("role", isDoc ? "doctor" : "patient"); + + return Json(OkJson); + } + return Json(new JsonResponse() + { + Success = false, + Message = InvalidLogIn + }); } - return Json(new JsonResponse() + catch (Exception e) { - Success = false, - Message = InvalidLogIn - }); + return Json(new JsonResponse() + { + Success = false, + Message = e.Message + " " +e.Source + "
"+ e.StackTrace + }); + } } [HttpPost] @@ -68,6 +81,7 @@ namespace IdentityDemo.Controllers { try { + user.Avatar = DefaultImage; Db.Insert(user); if (code != null && code.Equals("444442220")) { @@ -218,18 +232,51 @@ namespace IdentityDemo.Controllers return Json(OkJson); }); } - [HttpPost] - public async Task _save(IFormFile file) + public async Task _save(IEnumerable files) { - return LoggedAction(() => + return await LoggedAction(() => { - var loggedUser = HttpContext.Session.GetString(Username); + if (files != null) + { + var loggedUser = HttpContext.Session.GetString(Username); + foreach (var file in files) + { + var fileContent = ContentDispositionHeaderValue.Parse(file.ContentDisposition); + + // We are only interested in the file name. + var fileName = loggedUser + Path.GetExtension(fileContent.FileName.ToString().Trim('"')); + + var physicalPath = "wwwroot" + UploadsDirec; + Directory.CreateDirectory(physicalPath); + + physicalPath = Path.Combine(physicalPath, fileName); + var externalPath = Path.Combine(UploadsDirec, fileName); + + using (var fileStream = new FileStream(physicalPath, FileMode.Create)) + { + file.CopyTo(fileStream); + } + + var user = (from u in Db.Users + where u.Username.Equals(loggedUser) + select u).FirstOrDefault(); + user.Avatar = externalPath; + HttpContext.Session.SetString("avatar", externalPath); + Db.Update(user); + } + } + + return Json(OkJson); + /* + if (file.Length > 0) { + var fileContent = ContentDispositionHeaderValue.Parse(file.ContentDisposition); + var name = loggedUser + ".jpg"; - var path = Path.Combine(("~/uploads/"), name); + var path = Path.Combine(("/uploads/"), name); var stream = new FileStream(path, FileMode.Create); file.CopyTo(stream); var user = (from u in Db.Users @@ -261,6 +308,7 @@ namespace IdentityDemo.Controllers } return Json(new JsonResponse()); */ + }); } } } \ No newline at end of file diff --git a/SeniorAssistant/SeniorAssistant.csproj b/SeniorAssistant/SeniorAssistant.csproj index 413dddb..89297d0 100644 --- a/SeniorAssistant/SeniorAssistant.csproj +++ b/SeniorAssistant/SeniorAssistant.csproj @@ -7,10 +7,6 @@ 7.1 - - - - diff --git a/SeniorAssistant/Views/Home/User.cshtml b/SeniorAssistant/Views/Home/User.cshtml index 5eeac2a..51e5d1b 100644 --- a/SeniorAssistant/Views/Home/User.cshtml +++ b/SeniorAssistant/Views/Home/User.cshtml @@ -6,6 +6,7 @@ ViewBag.Title = "Hello Razor"; var session = HttpContextAccessor.HttpContext.Session; var username = session.GetString("username"); + bool filter = HttpContextAccessor.HttpContext.Request.Query["from"] != (String)null; bool auth = username.Equals(Model.Username); bool isDoc = session.GetString("role").Equals("doctor"); @@ -29,6 +30,14 @@ else
+ + + + + + + +
@if (isDoc && patient != null) @@ -89,9 +98,20 @@ else }); $("#refresh-hours").on("click", function () { var hours = $("#hours-data").val(); - var base_url = "@Url.Content("~/api/")"; var end_url = "/@Model.Username/last/" + hours; + kendoUpdate(end_url); + }); + $("#refresh-date").on("click", function () { + var from = $("#date-from").val(); + var to = $("#date-to").val(); + var end_url = "/@Model.Username/"+from+"/"+to; + kendoUpdate(end_url); + }); + var toRefresh = "@if (filter) { @Html.Raw("#refresh-date") } else { @Html.Raw("#refresh-hours") }"; + $(toRefresh).click(); + + function kendoUpdate(end_url, base_url = "@Url.Content("~/api/")") { $.getJSON(base_url + "heartbeat" + end_url, function (heartbeat) { $.getJSON(base_url + "step" + end_url, function (steps) { $.getJSON(base_url + "sleep" + end_url, function (sleep) { @@ -110,7 +130,9 @@ else && Object.keys(steps).length == 0 && Object.keys(sleep).length == 0) $("#chart-data").html("Nessun dato"); - else + else { + /* se checked #show-table allora crea dati come data.cshtml */ + /**/ $("#chart-data").kendoChart({ title: { text: "Visualizzazione attivita' di @Model.Name @Model.LastName" }, legend: { position: "bottom" }, @@ -175,10 +197,10 @@ else min: 0 }] }); /* Kendo */ + } /* else */ }); /* sleep */ }); /* steps */ }); /* heart */ - }); /* click */ - $("#refresh-hours").click(); + } } \ No newline at end of file diff --git a/SeniorAssistant/Views/Shared/Login.cshtml b/SeniorAssistant/Views/Shared/Login.cshtml index ec8c4d0..c23a2fc 100644 --- a/SeniorAssistant/Views/Shared/Login.cshtml +++ b/SeniorAssistant/Views/Shared/Login.cshtml @@ -11,11 +11,11 @@ diff --git a/SeniorAssistant/Views/Home/Login.cshtml b/SeniorAssistant/Views/Home/Login.cshtml new file mode 100644 index 0000000..81a47c9 --- /dev/null +++ b/SeniorAssistant/Views/Home/Login.cshtml @@ -0,0 +1,56 @@ +@model string + +
+ @if (Model != null) + { +

Per poter accedere alla pagina [@Model] e' necessario essere loggati

+ } +
    +
  • + + +
    + +
    + +
  • +
+ + + + @Html.ActionLink("Oppure registrati", "Register") +
+ + diff --git a/SeniorAssistant/Views/Shared/Profile.cshtml b/SeniorAssistant/Views/Home/Profile.cshtml similarity index 100% rename from SeniorAssistant/Views/Shared/Profile.cshtml rename to SeniorAssistant/Views/Home/Profile.cshtml diff --git a/SeniorAssistant/Views/Shared/Profile.cshtml.cs b/SeniorAssistant/Views/Home/Profile.cshtml.cs similarity index 100% rename from SeniorAssistant/Views/Shared/Profile.cshtml.cs rename to SeniorAssistant/Views/Home/Profile.cshtml.cs diff --git a/SeniorAssistant/Views/Shared/Register.cshtml b/SeniorAssistant/Views/Home/Register.cshtml similarity index 80% rename from SeniorAssistant/Views/Shared/Register.cshtml rename to SeniorAssistant/Views/Home/Register.cshtml index 069e3f7..c5e6548 100644 --- a/SeniorAssistant/Views/Shared/Register.cshtml +++ b/SeniorAssistant/Views/Home/Register.cshtml @@ -6,6 +6,8 @@ + +
@@ -13,6 +15,8 @@ +@Html.ActionLink("Oppure fai il login", "Login") + diff --git a/SeniorAssistant/Views/Shared/SidebarMenu.cshtml b/SeniorAssistant/Views/Shared/SidebarMenu.cshtml index 94ac780..f25b387 100644 --- a/SeniorAssistant/Views/Shared/SidebarMenu.cshtml +++ b/SeniorAssistant/Views/Shared/SidebarMenu.cshtml @@ -5,10 +5,12 @@ 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(); Menu.Add(new MenuItem("Profilo", "/")); Menu.Add(new MenuItem("Dati personali", "/user/" + username)); @@ -19,7 +21,18 @@ 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() }; + + 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)); @@ -32,7 +45,10 @@ 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 (patient != null) + { + Menu.Add(new MenuItem("Invia un messaggio al dottore", "/Message/" + patient.Doctor)); + } }