- aggiunto un po di tutto comeil progetto del prof
This commit is contained in:
2018-09-14 19:38:02 +02:00
parent 05ce84a07a
commit c807c474c4
9698 changed files with 748393 additions and 4 deletions

View File

@@ -1,20 +1,61 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Diagnostics;
using LinqToDB;
using LinqToDB.DataProvider.SQLite;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Data.Sqlite;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SeniorAssistant.Configuration;
using SeniorAssistant.Data;
using SeniorAssistant.Extensions;
using SeniorAssistant.Models;
namespace SeniorAssistant
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure<Kendo>(Configuration.GetSection("kendo"));
services.Configure<Theme>(Configuration.GetSection("theme"));
services.AddSingleton<IEnumerable<IMenuItem>>(new IMenuItem[]
{
new SubMenu
{
Text = "Link veloci",
Items = new MenuItem[]
{
new MenuItem("User", "/"),
new MenuItem("Heartbeat", "/heartbeat"),
new MenuItem("Sleep"),
new MenuItem("Step")
}
},
});
var dbFactory = new SeniorDataContextFactory(
dataProvider: SQLiteTools.GetDataProvider(),
connectionString: Configuration.GetConnectionString("SeniorDb")
);
services.AddSingleton<IDataContextFactory<SeniorDataContext>>(dbFactory);
SetupDatabase(dbFactory);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@@ -24,11 +65,62 @@ namespace SeniorAssistant
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
/*
Shortcut per:
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
*/
//app.UseMvcWithDefaultRoute();
app.UseMvc();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
await context.Response.WriteAsync("Oops, something went wrong");
});
}
void SetupDatabase(IDataContextFactory<SeniorDataContext> dataContext)
{
using (var db = dataContext.Create())
{
try
{
db.CreateTable<User>();
db.CreateTable<Heartbeat>();
const string baseUsername = "vecchio";
string[] users = { "Mario", "Giovanni", "Aldo", "Giacomo", "Marcello", "Filippo" };
int num = 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);
}
}
catch (SqliteException)
{
// Do nothing
}
}
}
}
}