public async Task <Result <int> > Handle(DeleteJobApplicationCommand command, CancellationToken cancellationToken) { var userName = _authenticatedUser.Username; var user = await _userManager.FindByNameAsync(userName); var rolesList = await _userManager.GetRolesAsync(user).ConfigureAwait(false); var item = await _repository.GetByIdAsync(command.Id); if (item != null && (rolesList.Contains("Admin") || rolesList.Contains("SuperAdmin") || userName == item.UserName)) { await _repository.DeleteAsync(item); await _unitOfWork.Commit(cancellationToken); return(Result <int> .Success(item.Id)); } return(Result <int> .Fail("Lỗi!!!")); }