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;
            });
        }
Exemple #2
0
        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;
        }