using Indotalent.Data.Entities; using MediatR; using Microsoft.AspNetCore.Identity; namespace Indotalent.Features.Setting.SystemUser.Cqrs; public record DeleteSystemUserByIdRequest(string Id); public record DeleteSystemUserByIdCommand(DeleteSystemUserByIdRequest Data) : IRequest; public class DeleteSystemUserByIdHandler : IRequestHandler { private readonly UserManager _userManager; public DeleteSystemUserByIdHandler(UserManager userManager) => _userManager = userManager; public async Task Handle(DeleteSystemUserByIdCommand request, CancellationToken cancellationToken) { var user = await _userManager.FindByIdAsync(request.Data.Id); if (user == null) return false; var result = await _userManager.DeleteAsync(user); return result.Succeeded; } }