public static Task<AppUser> GetAppUser(this UserPrincipal user, AppDbContext context) { return Task.Run(() => { AppUser appUser = context.AppUsers.FirstOrDefault(x => x.UserGuid == user.Guid.Value); return appUser; }); }
public static UserManager Create(IdentityFactoryOptions<UserManager> options, IOwinContext context) { var manager = new UserManager(); var user = context.Authentication.User.Identity; manager.CurrentPrincipal = user.GetUserPrincipal().Result; if (manager.CurrentPrincipal != null) { using (AppDbContext Context = new AppDbContext()) { manager.CurrentUser = manager.CurrentPrincipal.GetAppUser(Context).Result; if (manager.CurrentUser != null) { manager.UserRoles = Context.AppUserRoles.Where(x => x.AppUserId == manager.CurrentUser.Id).Select(x => x.AppRole.Role).ToList(); } } } return manager; }