Ejemplo n.º 1
0
        public HomeController(ILogger <LoginController> logger, UserManager <Worker> userManager,
                              EmailService emailService, IConfiguration config)
        {
            _userManager  = userManager;
            _logger       = logger;
            _emailService = emailService;
            _config       = config;
            _pu           = new PasswordUtil();
            var worker = _userManager.FindByEmailAsync(_config["admin_email"]);

            if (worker.Result == null)
            {
                PasswordUtil pu       = new PasswordUtil();
                string       password = pu.GetPassword();
                Worker       admin    = new Worker {
                    Name         = _config["admin_name"],
                    Surname      = _config["admin_surname"],
                    Email        = _config["admin_email"],
                    PasswordHash = pu.GetPasswordHash(password),
                    Role         = _config["admin_role"]
                };
                admin.UserName = admin.Email;
                var task = Task.Run(async() =>
                {
                    using (var es = _emailService.SendEmailAsync(admin.Email, "You have been registered in bank system.", $"Login: {admin.Email}\nPassword: {password}")){
                        await es;
                    }
                });
                _userManager.CreateAsync(admin, admin.PasswordHash);
            }
        }