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;"; } }