public HealthPlanCallQueueCriteria GetSystemGeneratedCallQueueCriteria(long callQueueId, long healthPlanId, long?organizationUserRoleId, long campaignId, long?criterialId = null) { var callQueue = _callQueueRepository.GetById(callQueueId); HealthPlanCallQueueCriteria criteria = null; if (callQueue.Category == HealthPlanCallQueueCategory.LanguageBarrier) { criteria = _healthPlanCallQueueCriteriaRepository.GetQueueCriteriaForQueue(callQueueId, healthPlanId); } else { criteria = criterialId.HasValue ? _healthPlanCallQueueCriteriaRepository.GetById(criterialId.Value) : _healthPlanCallQueueCriteriaRepository.GetQueueCriteria(callQueueId, organizationUserRoleId, healthPlanId, DateTime.Today); } return(criteria); }