77 lines
2.4 KiB
C#
77 lines
2.4 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Security.Cryptography;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using gswi.Data;
|
|
using gswi.Model;
|
|
|
|
namespace gswi
|
|
{
|
|
public class DataSeeder
|
|
{
|
|
private readonly DatabaseContext _databaseContext;
|
|
|
|
public DataSeeder(DatabaseContext databaseContext)
|
|
{
|
|
_databaseContext = databaseContext;
|
|
}
|
|
|
|
public void SeedData()
|
|
{
|
|
_databaseContext.Database.EnsureCreated();
|
|
|
|
if (!_databaseContext.AuthUsers.Any())
|
|
{
|
|
|
|
var admin = new AuthUser()
|
|
{
|
|
FirstName = "Admin",
|
|
LastName = "Administator",
|
|
EMail = "admin@localhost",
|
|
Password = ComputeHash("Administator", new SHA256CryptoServiceProvider()),
|
|
AuthRole = AuthRoles.Admin
|
|
};
|
|
|
|
var authUser = new AuthUser()
|
|
{
|
|
FirstName = "Max",
|
|
LastName = "Mustermann",
|
|
EMail = "max.mustermann@gmail.com",
|
|
Password = ComputeHash("test1234", new SHA256CryptoServiceProvider()),
|
|
};
|
|
|
|
var authUser1 = new AuthUser()
|
|
{
|
|
FirstName = "Max",
|
|
LastName = "Tester",
|
|
EMail = "max.mustermann@mustermail.com",
|
|
Password = ComputeHash("test1234", new SHA256CryptoServiceProvider()),
|
|
};
|
|
|
|
var authUser2 = new AuthUser()
|
|
{
|
|
FirstName = "Max",
|
|
LastName = "Muster",
|
|
EMail = "max.mustermann@yahoo.com",
|
|
Password = ComputeHash("test1234", new SHA256CryptoServiceProvider()),
|
|
};
|
|
|
|
_databaseContext.AuthUsers.Add(admin);
|
|
_databaseContext.AuthUsers.Add(authUser);
|
|
_databaseContext.AuthUsers.Add(authUser1);
|
|
_databaseContext.AuthUsers.Add(authUser2);
|
|
}
|
|
_databaseContext.SaveChanges();
|
|
}
|
|
|
|
public string ComputeHash(string input, HashAlgorithm algorithm)
|
|
{
|
|
Byte[] inputBytes = Encoding.UTF8.GetBytes(input);
|
|
Byte[] hashedBytes = algorithm.ComputeHash(inputBytes);
|
|
return BitConverter.ToString(hashedBytes);
|
|
}
|
|
}
|
|
}
|