98 lines
2.6 KiB
C#
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;";
|
|
}
|
|
}
|