Sky.Net/API/Extensions/UserManagerExtensions.cs
2022-05-19 16:51:00 -07:00

23 lines
856 B
C#

using System.Security.Claims;
using Core.Entities.Identity;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
namespace API.Extensions
{
public static class UserManagerExtensions
{
public static async Task<AppUser> FindUserByClaimsPrincipleWithAddressAsync(this UserManager<AppUser> input, ClaimsPrincipal user)
{
var email = user.FindFirstValue(ClaimTypes.Email);
return await input.Users.Include(x => x.Address).SingleOrDefaultAsync(x => x.Email == email);
}
public static async Task<AppUser> FindByEmailFromClaimsPrinciple(this UserManager<AppUser> input, ClaimsPrincipal user)
{
var email = user.FindFirstValue(ClaimTypes.Email);
return await input.Users.SingleOrDefaultAsync(x => x.Email == email);
}
}
}