Beispiel #1
0
        public ListModelBase <CallQueueViewModel, CallQueueListModelFilter> GetCallQueueList(int pageNumber, int pageSize, ModelFilterBase filter, out int totalRecords)
        {
            var callQueues = _callQueueRepository.GetCallQueueList(filter as CallQueueListModelFilter, pageNumber, pageSize, out totalRecords);

            if (callQueues.IsNullOrEmpty())
            {
                return(null);
            }

            var callQueueIds = callQueues.Select(cq => cq.Id).ToArray();

            var callQueueCriterias = _callQueueCriteriaRepository.GetByCallQueueIds(callQueueIds);

            var criterias = _criteriaRepository.GetAll();

            var callQueueAssignments = _callQueueAssignmentRepository.GetByCallQueueIds(callQueueIds);

            var idNamePairs = _organizationRoleUserRepository.GetNameIdPairofUsers(callQueueAssignments.Select(a => a.AssignedOrgRoleUserId).ToArray());

            var callQueueIdTotalCustomersInQueuePairs = _callQueueCustomerRepository.GetQueueIdTotalCustomersInQueuePairs(callQueueIds);

            var callQueueIdTotalCustomersPairs = _callQueueCustomerRepository.GetQueueIdTotalCustomersPairs(callQueueIds);

            var callQueueIdTotalCustomersContactedPairs = _callQueueCustomerRepository.GetQueueIdTotalCustomersContactedPairs(callQueueIds);

            return(_callQueueListModelFactory.Create(callQueues, callQueueCriterias, criterias, callQueueAssignments, idNamePairs, callQueueIdTotalCustomersInQueuePairs, callQueueIdTotalCustomersPairs, callQueueIdTotalCustomersContactedPairs));
        }