public string GetPreQualificationTemplateIds(long customerId, long eventId)
        {
            var eventTests = _eventTestRepository.GetEventTestsByEventIds(new[] { eventId });
            var preQualificationTemplateIds = eventTests.Where(x => x.PreQualificationQuestionTemplateId.HasValue).Select(x => x.PreQualificationQuestionTemplateId.Value).ToArray();

            var preQualificationTestTemplates = _preQualificationTestTemplateRepository.GetByIds(preQualificationTemplateIds);

            var selectedTemplateIds = new List <long>(); //preQualificationTestTemplates.Select(x => x.TestId).ToArray();

            foreach (var preQualificationTestTemplate in preQualificationTestTemplates)
            {
                if (CheckPreApprovedTest(customerId, new[] { preQualificationTestTemplate.TestId }))
                {
                    selectedTemplateIds.Add(preQualificationTestTemplate.Id);
                }
            }

            return(string.Join(",", selectedTemplateIds));
        }
示例#2
0
        public List <EventHostViewData> Create(List <Event> events, IEnumerable <Pod> pods, ZipCode zipCode,
                                               IEnumerable <EventAppointmentStatsModel> eventAppointmentStatsModels,
                                               IEnumerable <OrderedPair <long, string> > corporateAccountNames = null,
                                               IEnumerable <OrderedPair <long, string> > hospitalPartnerNames  = null, IEnumerable <ZipRadiusDistance> zipRadiusDistances = null)
        {
            var eventIds    = events.Select(e => e.Id).ToArray();
            var eventsTests = _testRepository.GetEventTestsByEventIds(eventIds);

            var eventHosts = _hostRepository.GetEventHostByHostIds(events.Select(x => x.HostId).ToArray());

            return(events.Select(@event =>
            {
                var selectedPods = @event.PodIds != null ? pods.Where(p => @event.PodIds.Contains(p.Id)).ToArray() : null;
                var eventAppointmentStatsModel = eventAppointmentStatsModels.Where(easm => easm.EventId == @event.Id).Single();
                var eventTests = eventsTests.Where(et => et.EventId == @event.Id).ToArray();
                var eventHost = eventHosts.First(ez => ez.Id == @event.HostId);
                return Create(@event, selectedPods, zipCode, eventAppointmentStatsModel, eventTests, eventHost, corporateAccountNames, hospitalPartnerNames, zipRadiusDistances);
            }).ToList());
        }