コード例 #1
0
        public EventAppointmentListModel Create(IEnumerable <EventCustomer> eventCustomers, IEnumerable <EventSchedulingSlot> appointmentSlots, IEnumerable <Customer> customers, IEnumerable <OrderedPair <long, string> > packages,
                                                IEnumerable <OrderedPair <long, string> > tests, Event eventData, IEnumerable <Appointment> bookedAppointments, IEnumerable <EventPodRoom> eventPodRooms)
        {
            var eventAppointmentListModel       = new EventAppointmentListModel();
            var eventAppointmentBasicInfoModels = new List <EventAppointmentBasicInfoModel>();

            var freeSlots = appointmentSlots.Where(ap => ap.Status != AppointmentStatus.Booked).Select(ap => ap).ToArray();

            if (!freeSlots.IsNullOrEmpty())
            {
                var unBookedModels = Create(freeSlots);
                eventAppointmentBasicInfoModels.AddRange(unBookedModels);
            }

            if (!bookedAppointments.IsNullOrEmpty())
            {
                var bookedSlots  = appointmentSlots.Where(ap => ap.Status == AppointmentStatus.Booked).Select(ap => ap).ToArray();
                var bookedModels = Create(eventCustomers, customers, packages, tests, bookedAppointments, bookedSlots);
                eventAppointmentBasicInfoModels.AddRange(bookedModels);
            }

            if (eventData != null)
            {
                eventAppointmentListModel.EventId   = eventData.Id;
                eventAppointmentListModel.EventName = eventData.Name;
                eventAppointmentListModel.EventDate = eventData.EventDate;
            }
            eventAppointmentListModel.EventPodRooms             = eventPodRooms;
            eventAppointmentListModel.EventAppointmentViewModel = eventAppointmentBasicInfoModels.OrderBy(ea => ea.StartTime);

            return(eventAppointmentListModel);
        }
コード例 #2
0
        public EventAppointmentListModel Create(IEnumerable <EventSchedulingSlot> appointmentSlots, Event eventData, IEnumerable <EventPodRoom> eventPodRooms)
        {
            var eventAppointmentListModel       = new EventAppointmentListModel();
            var eventAppointmentBasicInfoModels = Create(appointmentSlots);

            eventAppointmentListModel.EventAppointmentViewModel = eventAppointmentBasicInfoModels.OrderBy(ep => ep.StartTime);
            eventAppointmentListModel.EventPodRooms             = eventPodRooms;
            if (eventData != null)
            {
                eventAppointmentListModel.EventId   = eventData.Id;
                eventAppointmentListModel.EventName = eventData.Name;
                eventAppointmentListModel.EventDate = eventData.EventDate;
            }
            return(eventAppointmentListModel);
        }