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 app.Data;
 | |
| using app.Model;
 | |
| 
 | |
| namespace app
 | |
| {
 | |
|     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);
 | |
|         }
 | |
|     }
 | |
| }
 |