public async Task <ICollection <MasterDataDeletionResult> > Handle(DeleteCountriesCommand request, CancellationToken cancellationToken) { _unitOfWork.BeginTransaction(); try { var deleteResults = await _countryRepository.DeleteCountries(request.MasterDataList.Select(m => m.CountryId)); _unitOfWork.Commit(); var result = deleteResults.Select(item => new MasterDataDeletionResult { Id = item.MasterDataId, Code = item.MasterDataCode, MasterDataOperationStatus = item.GetMasterDataOperationStatus() }).ToList(); return(result); } catch { _logger.LogError("Country delete failed."); _unitOfWork.Rollback(); throw; } }