FlexitimeTracker/FlexitimeUI/DBTest/Program.cs
2023-04-11 20:17:20 +01:00

98 lines
2.6 KiB
C#

using System;
using System.Linq;
using Flexitime.DataAccess;
using Flexitime.DataAccess.EF;
using Flexitime.DataAccess.Objects;
using Flexitime.Interfaces;
namespace DBTest
{
class Program
{
static void Main(string[] args)
{
var dbconnprovider = new TestDbConnProvider();
var db = new Database(dbconnprovider);
//var users = db.Users;
//var userDb = new FlexitimeDbContext(dbconnprovider);
//userDb.Database.EnsureCreated();
//var users = userDb.Users.ToList();
//AddUser(userDb);
//AddIdentifier( userDb);
//AddTimeLog(userDb);
//users = userDb.Users.ToList();
//var tlogs = userDb.TimeLogs.ToList();
//var idents = userDb.Identifiers.ToList();
}
private static void AddIdentifier(FlexitimeDbContext flexitimeDb)
{
var ident = new IdentifierDb
{
UniqueId = Guid.NewGuid(),
LastUsed = DateTime.UtcNow,
IsAssociatedToUser = true
};
var createdEntry = flexitimeDb.Add(ident).Entity;
var user = flexitimeDb.Users.First();
user.AssociatedIdentifiers.Add(createdEntry);
flexitimeDb.Update(user);
flexitimeDb.SaveChanges();
flexitimeDb.SaveChanges();
}
private static void AddUser(FlexitimeDbContext flexitimeDb)
{
var user = new UserDb
{
FirstName = "admin",
LastName = "admin",
UserName = "admin",
Password = "P@ssw0rd!",
IsContractor = false,
HoursPerWeek = 37.0
};
flexitimeDb.Add(user);
flexitimeDb.SaveChanges();
}
private static void AddTimeLog(FlexitimeDbContext flexitimeDbContext)
{
var timelog = new TimeLogDb
{
LogTime = DateTimeOffset.UtcNow
};
var ident = flexitimeDbContext.Identifiers.First();
timelog.Identifier = ident;
timelog.IdentifierId = ident.Id;
flexitimeDbContext.Add(timelog);
flexitimeDbContext.SaveChanges();
}
}
class TestDbConnProvider : IConnectionStringProvider
{
public string ConnectionString =>
"Data Source=.\\SQLSERVER2019;Initial Catalog=FlexitimeData;Integrated Security=SSPI;";
}
}