コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="HelpDeskControllerBase"/> class using the specified parameters.
        /// </summary>
        /// <param name="dbContext">The database context used.</param>
        /// <param name="httpContextAccessor">An object used to access the current user's claims principal.</param>
        protected HelpDeskControllerBase(ApplicationDbContext dbContext, IOptions <IdentityInitializerSettings> identitySettings, IHttpContextAccessor httpContextAccessor, ISysEventLogger sysLogger)
        {
            Db               = dbContext;
            EventLogger      = sysLogger;
            IdentitySettings = identitySettings.Value;
            _caller          = httpContextAccessor.HttpContext.User;

            CurrentThread.CurrentCulture   = FrenchCulture;
            CurrentThread.CurrentUICulture = FrenchCulture;

            Db.SysEvent        += Db_SysEvent;
            EventLogger.Logged += AfterEventLoggedAsync;
        }
コード例 #2
0
            async Task CreateOrUpdateUsersAsync(UserManager <AppUser> userManager, ApplicationDbContext context, IdentityInitializerSettings settings)
            {
                var userName = settings.AdminUserName;
                var appUser  = context.Users.SingleOrDefault(u => u.UserName == userName);
                var userId   = !string.IsNullOrWhiteSpace(settings.AdminId) ? settings.AdminId : System.Guid.NewGuid().ToString().ToLower();

                if (appUser == null)
                {
                    appUser = new AppUser
                    {
                        Id              = userId,
                        Email           = userName,
                        IsAdministrator = true,
                        UserName        = userName,
                    };

                    var result = await userManager.CreateAsync(appUser, settings.AdminPassword);

                    if (result.Succeeded)
                    {
                        await context.Employees.AddAsync(new Employee { UserId = appUser.Id });

                        await context.SaveChangesAsync();
                    }
                }
            }
コード例 #3
0
 internal IdentityInitializer(UserManager <AppUser> userManager, ApplicationDbContext context, IdentityInitializerSettings settings)
 {
     if (!context.Users.Any())
     {
         CreateOrUpdateUsersAsync(userManager, context, settings).Wait();
     }
     if (!context.Categories.Any())
     {
         context.GetOrCreateCategoriesAsync().Wait();
     }
     if (!context.Statuses.Any())
     {
         context.GetOrCreateStatusesAsync().Wait();
     }
     if (!context.Sections.Any())
     {
         context.GetOrCreateSectionsAsync().Wait();
     }
 }