Untitled
unknown
csharp
9 months ago
2.0 kB
7
Indexable
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using ShopApp.Services.Core.Interfaces;
namespace ShopApp.Services.Core
{
public class ApplicationUserService : IApplicationUserService
{
private readonly UserManager<IdentityUser> _userManager;
private readonly SignInManager<IdentityUser> _signInManager;
public ApplicationUserService(
UserManager<IdentityUser> userManager,
SignInManager<IdentityUser> signInManager)
{
_userManager = userManager;
_signInManager = signInManager;
}
public async Task<IEnumerable<IdentityUser>> GetAllApplicationUsersAsync()
{
return await _userManager.Users.ToListAsync();
}
public async Task<IdentityUser> GetApplicationUserByIdAsync(string id)
{
var user = await _userManager.FindByIdAsync(id);
if (user == null)
{
throw new InvalidOperationException("User not found.");
}
return user;
}
public async Task<IdentityResult> RegisterUserAsync(string email, string password, string firstName, string lastName, DateTime dateOfBirth)
{
var user = new IdentityUser
{
UserName = email,
Email = email
};
var result = await _userManager.CreateAsync(user, password);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
}
return result;
}
public async Task<SignInResult> AuthenticateUserAsync(string email, string password)
{
return await _signInManager.PasswordSignInAsync(email, password, isPersistent: false, lockoutOnFailure: false);
}
public async Task LogoutAsync()
{
await _signInManager.SignOutAsync();
}
}
}Editor is loading...
Leave a Comment