Esempio n. 1
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());
        }