public async Task <ScopeModel> GetScope(int id) { try { var dataScope = await _scopeRepository.GetScopeById(id); var scope = ModelConverterService.ConvertTo(dataScope, new BusinessModels.UserAccessControl.ScopeModel()); scope.Claims = new List <BusinessModels.UserAccessControl.ClaimModel>(); var scopeClaims = await _scopeClaimRepository.GetAllScopeClaims(); foreach (var dataScopeClaimModel in scopeClaims) { if (scope.Id == dataScopeClaimModel.ScopeId) { var dataClaimModel = await _claimRepository.GetClaimById(dataScopeClaimModel.ClaimId); var claimModel = ModelConverterService.ConvertTo(dataClaimModel, new BusinessModels.UserAccessControl.ClaimModel()); scope.Claims.Add(claimModel); } } return(scope); } catch (SqlCustomException e) { throw new SqlCustomException("Scope Not Found.", e.InnerException); } catch (NullReferenceException e) { throw new NullReferenceException("Scope was Null.", e.InnerException); } }