Ejemplo n.º 1
0
        public List <EventCustomerRegistrationViewData> GetEventCustomerOrders(List <long> eventCustomerIds)
        {
            var customerOrderBasicInfoTypedView = new CustomerOrderBasicInfoTypedView();
            var fieldCompareRangePredicate      =
                new FieldCompareRangePredicate(CustomerOrderBasicInfoFields.EventCustomerId, null, eventCustomerIds);
            var bucket = new RelationPredicateBucket(fieldCompareRangePredicate);

            using (var myAdapter = PersistenceLayer.GetDataAccessAdapter())
            {
                myAdapter.FetchTypedView(customerOrderBasicInfoTypedView, bucket, false);
            }
            return(_factory.Create(customerOrderBasicInfoTypedView, null));
        }
Ejemplo n.º 2
0
        public List <EventCustomerRegistrationViewData> GetEventCustomerRegistrationViewData(long eventId, EventCustomerFilterMode eventCustomerFilterMode)
        {
            switch (eventCustomerFilterMode)
            {
            case EventCustomerFilterMode.Actual:
            case EventCustomerFilterMode.Cash:
            case EventCustomerFilterMode.Check:
            case EventCustomerFilterMode.ECheck:
            case EventCustomerFilterMode.CreditCard:
            case EventCustomerFilterMode.NoShow:
            case EventCustomerFilterMode.Paid:
            case EventCustomerFilterMode.Registered:
            case EventCustomerFilterMode.UnPaid:
            case EventCustomerFilterMode.UnPaidNoShowExcluded:
            case EventCustomerFilterMode.LeftWithoutScreening:
                return(_eventCustomerRegistrationViewDataRepository.GetEventCustomerOrdersForEvent(eventCustomerFilterMode, eventId));

            case EventCustomerFilterMode.Filled:
                return(_eventCustomerRegistrationViewDataRepository.GetEventCustomerOrdersForEvent(eventId));

            case EventCustomerFilterMode.All:
            {
                var unBookedAppointments = _slotService.GetSlots(eventId, AppointmentStatus.Free);

                var blockedAppointments = _slotService.GetSlots(eventId, AppointmentStatus.Blocked);

                var unBookedEventCustomerRegistrationViewData = _eventCustomerRegistrationViewDataFactory.Create(unBookedAppointments, AppointmentSlotStatus.Open);
                var blockedEventCustomerRegistrationViewData  = _eventCustomerRegistrationViewDataFactory.Create(blockedAppointments, AppointmentSlotStatus.Blocked);
                var bookedEventCustomerRegistrationViewData   = _eventCustomerRegistrationViewDataRepository.GetEventCustomerOrdersForEvent(eventId);
                bookedEventCustomerRegistrationViewData = bookedEventCustomerRegistrationViewData.Concat(unBookedEventCustomerRegistrationViewData).ToList();
                bookedEventCustomerRegistrationViewData = bookedEventCustomerRegistrationViewData.Concat(blockedEventCustomerRegistrationViewData).ToList();
                return(bookedEventCustomerRegistrationViewData.OrderBy(ec => ec.AppointmentStartTime).ToList());
            }

            case EventCustomerFilterMode.Open:
            {
                var unBookedAppointments = _slotService.GetSlots(eventId, AppointmentStatus.Free);
                return(_eventCustomerRegistrationViewDataFactory.Create(unBookedAppointments, AppointmentSlotStatus.Open));
            }

            case EventCustomerFilterMode.Blocked:
            {
                var blockedAppointments = _slotService.GetSlots(eventId, AppointmentStatus.Blocked);
                return(_eventCustomerRegistrationViewDataFactory.Create(blockedAppointments, AppointmentSlotStatus.Blocked));
            }
            }
            return(null);
        }