コード例 #1
0
        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);
        }