2024-12-17 14:57:49 +01:00

52 lines
1.7 KiB
C#

using WebVentaCoche.DataBase;
using WebVentaCoche.Helpers;
using WebVentaCoche.Enums;
using WebVentaCoche.Models;
namespace WebVentaCoche.Services
{
public class SeedDb
{
private readonly ApplicationDbContext _context;
private readonly IUserHelper _userHelper;
public SeedDb(ApplicationDbContext context, IUserHelper userHelper)
{
_context = context;
_userHelper = userHelper;
}
public async Task SeedAsync()
{
await _context.Database.EnsureCreatedAsync();
await ValidateRolesAsync();
await ValidateUserAsync("Raul", "Gonzalez", "rgonsal93@gmail.com", "666765457", UserType.Administrador);
}
private async Task<User> ValidateUserAsync(string name, string surname, string email, string phone, UserType userType)
{
var user = await _userHelper.GetUserAsync(email);
if (user == null)
{
user = new User
{
Name = name,
Surname = surname,
Email = email,
UserName = email,
PhoneNumber = phone,
UserType = userType
};
await _userHelper.AddUserAsync(user, "123456");
await _userHelper.AddUserRoleAsync(user, userType.ToString());
}
return user;
}
private async Task ValidateRolesAsync()
{
await _userHelper.ValidateRoleAsync(UserType.Administrador.ToString());
await _userHelper.ValidateRoleAsync(UserType.Usuario.ToString());
}
}
}