From a1019dd62e9b8a055dfe082f5b59e9f7e833b203 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Sun, 23 Sep 2018 18:39:59 +0200 Subject: [PATCH] Sleep and Steps - added sleep - added steps - bertter DB filling --- .gitignore | 4 +- SeniorAssistant/Controllers/HomeController.cs | 19 ++++ .../Controllers/Services/ApiControllers.cs | 21 ++++ .../{ => Services}/BaseController.cs | 0 .../Services/CrudTimeController.cs | 67 +++++++---- .../Services/HeartbeatController.cs | 9 -- .../Controllers/Services/UserController.cs | 9 -- SeniorAssistant/Models/Sleep.cs | 21 ++++ SeniorAssistant/Models/Step.cs | 21 ++++ .../Properties/launchSettings.json | 9 +- SeniorAssistant/SeniorAssistant.csproj | 1 + SeniorAssistant/Startup.cs | 105 +++++++++++++----- SeniorAssistant/Views/Home/Heartbeat.cshtml | 3 +- SeniorAssistant/Views/Home/Sleep.cshtml | 42 +++++++ SeniorAssistant/Views/Home/Step.cshtml | 42 +++++++ SeniorAssistant/Views/Home/User.cshtml | 82 ++++++++++++++ SeniorAssistant/senior.db | Bin 20480 -> 192512 bytes 17 files changed, 386 insertions(+), 69 deletions(-) create mode 100644 SeniorAssistant/Controllers/Services/ApiControllers.cs rename SeniorAssistant/Controllers/{ => Services}/BaseController.cs (100%) delete mode 100644 SeniorAssistant/Controllers/Services/HeartbeatController.cs delete mode 100644 SeniorAssistant/Controllers/Services/UserController.cs create mode 100644 SeniorAssistant/Models/Sleep.cs create mode 100644 SeniorAssistant/Models/Step.cs create mode 100644 SeniorAssistant/Views/Home/Sleep.cshtml create mode 100644 SeniorAssistant/Views/Home/Step.cshtml create mode 100644 SeniorAssistant/Views/Home/User.cshtml diff --git a/.gitignore b/.gitignore index 3c4efe2..2608a78 100644 --- a/.gitignore +++ b/.gitignore @@ -258,4 +258,6 @@ paket-files/ # Python Tools for Visual Studio (PTVS) __pycache__/ -*.pyc \ No newline at end of file +*.pyc + +SeniorAssistant/SeniorAssistant/wwwroot/* \ No newline at end of file diff --git a/SeniorAssistant/Controllers/HomeController.cs b/SeniorAssistant/Controllers/HomeController.cs index 225a94c..6c081ea 100644 --- a/SeniorAssistant/Controllers/HomeController.cs +++ b/SeniorAssistant/Controllers/HomeController.cs @@ -2,6 +2,7 @@ namespace SeniorAssistant.Controllers { + [ApiExplorerSettings(IgnoreApi = true)] public class HomeController : Controller { [Route("")] @@ -17,5 +18,23 @@ namespace SeniorAssistant.Controllers { return View(); } + + [Route("Sleep")] + public IActionResult Sleep() + { + return View(); + } + + [Route("Step")] + public IActionResult Step() + { + return View(); + } + + [Route("{User}")] + public IActionResult SingleUser(string user) + { + return View("user", user); + } } } \ No newline at end of file diff --git a/SeniorAssistant/Controllers/Services/ApiControllers.cs b/SeniorAssistant/Controllers/Services/ApiControllers.cs new file mode 100644 index 0000000..71414cf --- /dev/null +++ b/SeniorAssistant/Controllers/Services/ApiControllers.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Mvc; +using SeniorAssistant.Models; + +namespace SeniorAssistant.Controllers.Services +{ + [Route("api/[controller]")] + public class HeartbeatController : CrudTimeController + { } + + [Route("api/[controller]")] + public class SleepController : CrudTimeController + { } + + [Route("api/[controller]")] + public class StepController : CrudTimeController + { } + + [Route("api/[controller]")] + public class UserController : CrudController + { } +} diff --git a/SeniorAssistant/Controllers/BaseController.cs b/SeniorAssistant/Controllers/Services/BaseController.cs similarity index 100% rename from SeniorAssistant/Controllers/BaseController.cs rename to SeniorAssistant/Controllers/Services/BaseController.cs diff --git a/SeniorAssistant/Controllers/Services/CrudTimeController.cs b/SeniorAssistant/Controllers/Services/CrudTimeController.cs index 5db31b7..9e3d1c3 100644 --- a/SeniorAssistant/Controllers/Services/CrudTimeController.cs +++ b/SeniorAssistant/Controllers/Services/CrudTimeController.cs @@ -11,6 +11,8 @@ namespace SeniorAssistant.Controllers.Services public class CrudTimeController : BaseController where TEntity : class, IHasTime { + static readonly object Empty = new { }; + [HttpGet] public async Task> Read() => await Db.GetTable().ToListAsync(); @@ -18,31 +20,54 @@ namespace SeniorAssistant.Controllers.Services public async Task> Read(string username) => await Db.GetTable().Where(e => e.Username.Equals(username)).ToListAsync(); [HttpGet("{username}/{date:regex((today|\\d{{4}}-\\d{{2}}-\\d{{2}}))}/{hour:range(0, 23)?}")] - public async Task> Read(string username, string date, int hour = -1) - { - DateTime time = (date.Equals("today") ? DateTime.Now : DateTime.ParseExact(date, "yyyy-MM-dd", null) ); + public async Task> Read(string username, string date, int hour = -1) => await Read(username, date, date, hour); - return await Db.GetTable().Where(e => - e.Username.Equals(username) && - (time.Year == 0 || e.Time.Year == time.Year) && - (time.Month == 0 || e.Time.Month == time.Month) && - (time.Day == 0 || e.Time.Day == time.Day) && - (hour < 0 || e.Time.Hour == hour) - ).ToListAsync(); + [HttpGet("{username}/{from:regex((today|\\d{{4}}-\\d{{2}}-\\d{{2}}))}/{to:regex((today|\\d{{4}}-\\d{{2}}-\\d{{2}}))}/{hour:range(0, 23)?}")] + public async Task> Read(string username, string from, string to, int hour = -1) + { + try + { + DateTime dateFrom = (from.Equals("today") ? DateTime.Now : DateTime.ParseExact(from, "yyyy-MM-dd", null)); + DateTime dateTo = (to.Equals("today") ? DateTime.Now : DateTime.ParseExact(to, "yyyy-MM-dd", null)); + + return await Db.GetTable().Where(e => e.Username.Equals(username) && dateFrom.Date<=e.Time.Date && dateTo.Date>=e.Time.Date && (hour < 0 || e.Time.Hour == hour)).ToListAsync(); + } + catch + { + return new List(); + } + } + + [HttpGet("{username}/last/{hour:min(1)}")] + public async Task> Read(string username, int hour) + { + DateTime date = DateTime.Now.AddHours(-hour); + return await Db.GetTable().Where(e => e.Username.Equals(username) && date <= e.Time).ToListAsync(); + } + + [NonAction] + public async Task Read(string username, DateTime date) => await Db.GetTable().FirstOrDefaultAsync(e => e.Username.Equals(username) && date == e.Time); + + [HttpPost] + public async Task Create([FromBody]TEntity item) => await Db.InsertAsync(item); + + [HttpPut] + public async Task Update([FromBody]TEntity item) + { + var e = await Read(item.Username, item.Time); + if (e == null) + { + await Create(item); + } + else + { + await Db.UpdateAsync(item); + } + + return Empty; } /* - [HttpPost("{username}")] - public async Task Create([FromBody]TEntity item) => await Db.InsertAsync(item); - - [HttpPut("{username}/{date}/{time}")] - public async Task Update(string username, [FromBody]TEntity item) - { - item.Username = username; - - await Db.UpdateAsync(item); - } - [HttpDelete("{username}")] public async Task Delete(string username) => await Db.GetTable().Where(c => c.Username.Equals(username)).DeleteAsync(); */ diff --git a/SeniorAssistant/Controllers/Services/HeartbeatController.cs b/SeniorAssistant/Controllers/Services/HeartbeatController.cs deleted file mode 100644 index ef6bc73..0000000 --- a/SeniorAssistant/Controllers/Services/HeartbeatController.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using SeniorAssistant.Models; - -namespace SeniorAssistant.Controllers.Services -{ - [Route("api/[controller]")] - public class HeartbeatController : CrudTimeController - { } -} diff --git a/SeniorAssistant/Controllers/Services/UserController.cs b/SeniorAssistant/Controllers/Services/UserController.cs deleted file mode 100644 index bb98bc1..0000000 --- a/SeniorAssistant/Controllers/Services/UserController.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using SeniorAssistant.Models; - -namespace SeniorAssistant.Controllers.Services -{ - [Route("api/[controller]")] - public class UserController : CrudController - { } -} \ No newline at end of file diff --git a/SeniorAssistant/Models/Sleep.cs b/SeniorAssistant/Models/Sleep.cs new file mode 100644 index 0000000..2ca6db8 --- /dev/null +++ b/SeniorAssistant/Models/Sleep.cs @@ -0,0 +1,21 @@ +using LinqToDB.Mapping; +using System; + +namespace SeniorAssistant.Models +{ + public class Sleep : IHasTime + { + [PrimaryKey] + [NotNull] + public string Username { get; set; } + + [PrimaryKey] + [NotNull] + public DateTime Time { get; set; } + + [Association(ThisKey = nameof(Username), OtherKey = nameof(User.Username), CanBeNull = false)] + public User user { get; set; } + + public long Value { get; set; } + } +} diff --git a/SeniorAssistant/Models/Step.cs b/SeniorAssistant/Models/Step.cs new file mode 100644 index 0000000..73d5ad3 --- /dev/null +++ b/SeniorAssistant/Models/Step.cs @@ -0,0 +1,21 @@ +using LinqToDB.Mapping; +using System; + +namespace SeniorAssistant.Models +{ + public class Step : IHasTime + { + [PrimaryKey] + [NotNull] + public string Username { get; set; } + + [PrimaryKey] + [NotNull] + public DateTime Time { get; set; } + + [Association(ThisKey = nameof(Username), OtherKey = nameof(User.Username), CanBeNull = false)] + public User user { get; set; } + + public long Value { get; set; } + } +} diff --git a/SeniorAssistant/Properties/launchSettings.json b/SeniorAssistant/Properties/launchSettings.json index 76fa1f6..741e5b1 100644 --- a/SeniorAssistant/Properties/launchSettings.json +++ b/SeniorAssistant/Properties/launchSettings.json @@ -2,9 +2,13 @@ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, + "iis": { + "applicationUrl": "http://localhost/SeniorAssistant", + "sslPort": 0 + }, "iisExpress": { "applicationUrl": "http://localhost:50361", - "sslPort": 44348 + "sslPort": 44387 } }, "profiles": { @@ -27,6 +31,9 @@ "commandName": "Docker", "launchBrowser": true, "launchUrl": "{Scheme}://{ServiceHost}" + }, + "Snapshot Debugger (servizio app di Azure)": { + "commandName": "Snapshot Debugger (servizio app di Azure)" } } } \ No newline at end of file diff --git a/SeniorAssistant/SeniorAssistant.csproj b/SeniorAssistant/SeniorAssistant.csproj index a7010d0..dcde378 100644 --- a/SeniorAssistant/SeniorAssistant.csproj +++ b/SeniorAssistant/SeniorAssistant.csproj @@ -17,6 +17,7 @@ + diff --git a/SeniorAssistant/Startup.cs b/SeniorAssistant/Startup.cs index a45d662..b5aecc2 100644 --- a/SeniorAssistant/Startup.cs +++ b/SeniorAssistant/Startup.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using LinqToDB; using LinqToDB.DataProvider.SQLite; using Microsoft.AspNetCore.Builder; @@ -11,8 +10,9 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using SeniorAssistant.Configuration; using SeniorAssistant.Data; -using SeniorAssistant.Extensions; using SeniorAssistant.Models; +using SeniorAssistant.Extensions; +using Swashbuckle.AspNetCore.Swagger; namespace SeniorAssistant { @@ -31,6 +31,23 @@ namespace SeniorAssistant { services.AddMvc(); + services.AddSwaggerGen(c => + { + c.SwaggerDoc("v1", new Info + { + Version = "v1", + Title = "Senior REST APIs", + Description = "REST APIs for old people", + TermsOfService = "None" + }); + + // Se decommento ottengo un'eccezione quando ho un controller (es. CategoriesController) che estende un altro controller. + // Set the comments path for the Swagger JSON and UI. + //var basePath = AppContext.BaseDirectory; + //var xmlPath = Path.Combine(basePath, "REST.xml"); + //c.IncludeXmlComments(xmlPath); + }); + services.Configure(Configuration.GetSection("kendo")); services.Configure(Configuration.GetSection("theme")); @@ -43,8 +60,8 @@ namespace SeniorAssistant { new MenuItem("User", "/"), new MenuItem("Heartbeat", "/heartbeat"), - new MenuItem("Sleep"), - new MenuItem("Step") + new MenuItem("Sleep", "/sleep"), + new MenuItem("Step", "/step") } }, }); @@ -68,6 +85,15 @@ namespace SeniorAssistant app.UseStaticFiles(); + // Enable middleware to serve generated Swagger as a JSON endpoint. + app.UseSwagger(); + + // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), specifying the Swagger JSON endpoint. + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/api/v1.json", "V1"); + }); + /* Shortcut per: @@ -88,38 +114,65 @@ namespace SeniorAssistant { using (var db = dataContext.Create()) { + const string baseUsername = "vecchio"; + string[] users = { "Mario", "Giovanni", "Aldo", "Giacomo", "Marcello", "Filippo" }; + + db.CreateTableIfNotExists(); + db.CreateTableIfNotExists(); + db.CreateTableIfNotExists(); try { db.CreateTable(); - db.CreateTable(); - - const string baseUsername = "vecchio"; - - string[] users = { "Mario", "Giovanni", "Aldo", "Giacomo", "Marcello", "Filippo" }; - int num = 0; + int count = 0; foreach (string user in users) { - db.InsertOrReplace(new User { Name = user, Username = baseUsername+(num==0?"":""+num) }); - num++; - } - - Random rnd = new Random(); - for (int i=0; i<50; i++) - { - int random = rnd.Next(num); - string user = baseUsername + (random==0? "":""+random); - DateTime time = DateTime.Now.AddHours(rnd.Next(-24, +24)); - int beat = rnd.Next(50, 90); - - Heartbeat heart = new Heartbeat { Username = user, Time = time, Value = beat }; - db.Insert(heart); + db.InsertOrReplace(new User { Name = user, Username = baseUsername + (count == 0 ? "" : "" + count) }); + count++; } } - catch (SqliteException) + catch + { } + + Random rnd = new Random(); + DateTime now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); + now = now.AddHours(DateTime.Now.Hour).AddMinutes(30); + double totalHours = 50; + try { - // Do nothing + DateTime time = db.GetTable().MaxAsync(x => x.Time).Result; + TimeSpan span = now.Subtract(time); + totalHours = span.TotalHours; } + catch { } + + for (int i = 0; i -@{ +@{ ViewBag.Title = "Hello Razor"; } diff --git a/SeniorAssistant/Views/Home/Sleep.cshtml b/SeniorAssistant/Views/Home/Sleep.cshtml new file mode 100644 index 0000000..90454bf --- /dev/null +++ b/SeniorAssistant/Views/Home/Sleep.cshtml @@ -0,0 +1,42 @@ +@{ + ViewBag.Title = "Hello Razor"; +} + +
+ + \ No newline at end of file diff --git a/SeniorAssistant/Views/Home/Step.cshtml b/SeniorAssistant/Views/Home/Step.cshtml new file mode 100644 index 0000000..7534cf2 --- /dev/null +++ b/SeniorAssistant/Views/Home/Step.cshtml @@ -0,0 +1,42 @@ +@{ + ViewBag.Title = "Hello Razor"; +} + +
+ + \ No newline at end of file diff --git a/SeniorAssistant/Views/Home/User.cshtml b/SeniorAssistant/Views/Home/User.cshtml new file mode 100644 index 0000000..0c038bf --- /dev/null +++ b/SeniorAssistant/Views/Home/User.cshtml @@ -0,0 +1,82 @@ +@model string +@{ + ViewBag.Title = "Hello Razor"; +} + +
+ + \ No newline at end of file diff --git a/SeniorAssistant/senior.db b/SeniorAssistant/senior.db index 352f3648c3f32367b071aebd18a6df5418483d6a..adbf9bd94604f02e1dee8cefb9d053c2f3439953 100644 GIT binary patch literal 192512 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 z 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 L5(F;*$f5rW&sr*2 literal 20480 zcmeI1O>7&-8HP!bl9o#@*O8;hiOgu@*yhMTo1NL2omn@CP0R96Y)OeC{|K(3G7i(Q zkxfUDg91elae<&HdI->7TA)QP>7gi4AJRixpg<9zXfE*~K#-xLN{f0i%~8OqokO`ewg}Gpn7KFFb#tyWMeK?rq&@Z##ZrSD{!eoN$~%p>Rw- z$K^A5jL8?}*w+?K#U)=1R?X)>>Fueqn93b#8ghx%%As4Rt=wbF1f;TC3~M`Neey zsq;GG42GY#%z0d%m|2`F7P>cI>U{n6*EZ$eccXoKyVpNfwKi~CcKppl#mSlJ>Ea#U z7ZkM{J;#Q%L~s39Mwa`^q83ML+u3Y?lu>;~{WZrXX1+8%s=w&hH*oZ`BxjTn%_>Vi zC+zPQ?ECho_6PPa?04jWerN;QfHt5FXam}SHlPh?1KNN#pbcmP+Q0)dFf~zX%)ZgN ze*KkhkDcyrc5mJ4?H(^R8u5E{sl9c*v$@%uDl5=G(`{ex-RRk+Qe!#>No(_^-tIB= zoA^w(_eT5X&8}T6&CbM>tk&(BvYQF}y@LHu`!oBG_J{Uw<$-=^1KNN#pbcmP+JH8o z4QK<}fHt5FXam~7|J^{X)F>t~!2~#<;?Q;Fo`rZ0l^)J^+-LU>-y=Q&L`id1;wc1~5zpA}md%5;>ZL0cN^*7b;S6{8R zsx#)_&G*e8n77Q+=HALbD!;G%xUyY2U)g7TZrn58HNIi28ptTfLG(i#&<3;tZ9p5) z1|FaRM9PhY9;iql zNcy1XhE#-s=U-_)Rh~`91|Y#PC@3bJ`Dc&|N-{_ePSSG&fkWo=i|8mIhuTR7XHh?t z9&a8gH_~<#$sC-F?o*HWY!Mv>C5QT9@o5r|Q%cG6%|rS9-~{wS!F-QhY0l??z9WUp ze_rT@oCb{07D8Zb3>wElObRMw>-aco0ur7j7BR_bh`A?Dp@V=_jmuBG|3S*p16h+& zb`l)`q^ijruiua)8TBwHQu}^Ds+yAY61Ag9R*W28?@LV88irzRuV?m(y6zB}~?u zyYoRjn8nROcy2AJhyY@1ZPv99e)=qswVL_=EzN zQ$dJeE2uV#9L%{Ox_-!OF+YK-fP}rrOE_@l9|FNcwuH=FGMyiR>xW(_FAPtkN-mjP zw!Oe5vL+S53NipWWGU$#b6-#PW7)!RO9gdF7UKDQHFC{}ZE9Fuzy1ZIH^6ai?~#`t91k>}qYS`iJ^g zs~gtY%8%;Ln7^(awm+%AZT+zROJlvVzw$eCkNGwGt?FH)VtiD&Z?=qo*Vbx3v0kfv zvuas?s|NLHYtFuA{?&Tl_^JK#`k!t30B?A7X>C9o&<3;tZ9p6NUkt!Ksk#fo1ZO9DxOgT1gUsI4U?iqLpk?a446PH+-3(U>*((@8YsK!BC(8&oJG7$1y<@RvdDZ zNeK=@P*s#S&zX?m00dRVbfX+bcbZW~usw>M+8rfu#-&)_Q8Tfb}|9M6A*+m zCz}sA5LCORbeEdO19SOc+H{%@JPtv4j@fXak=yjnY+x@esC4g)24*3sMox97$-rYH z!AvmlXg-)MK)ExIbAde&R2tK5Um6R{ueNI%?HydktP9VKDaXos6cQ?PbLR2AgJ`nu9Ifs7+?~Dsu?LflLAaY5LV2F q0OR=}*xAP!KpBE+RRb`N07?*qLuV6!u_!oBzT;QT$fcDD0R97QGO0@d