public GetOpportunityListByContactResponse GetContactOpportunitiesList(GetOpportunityListByContactRequest request) { Logger.Current.Verbose("Request to fetch Opportunities based on ContactId"); GetOpportunityListByContactResponse response = new GetOpportunityListByContactResponse(); IEnumerable <OpportunityBuyer> opportunities = null; Logger.Current.Informational("ContactId : " + request.ContactID); bool isAccountAdmin = cachingService.IsAccountAdmin(request.RoleId, request.AccountId); bool isPrivate = cachingService.IsModulePrivate(AppModules.Opportunity, request.AccountId); if (isPrivate && !isAccountAdmin) { int userId = (int)request.RequestedBy; opportunities = opportunityRepository.GetAllContactOpportunities(request.ContactID); } else { opportunities = opportunityRepository.GetAllContactOpportunities(request.ContactID); } if (opportunities == null) { response.Exception = GetOpportunitiesNotFoundException(); } else { response.Opportunities = opportunities; } return(response); }