Esempio n. 1
0
            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!!!"));
            }