Example #1
0
        protected override async Task Handle(DeleteSubevent command)
        {
            EventDetail eventDetail = _eventDetailRepository.GetById(command.Id);

            if (eventDetail != null)
            {
                _eventDetailRepository.Delete(eventDetail);
            }
        }
        public SubEventTicketCategoryQueryResult Handle(SubEventTicketCategoryQuery query)
        {
            var eventDetailModelDataModel = _eventDetailRepository.GetById(query.EventDetailId);
            var eventDetailModel          = AutoMapper.Mapper.Map <Contracts.Models.EventDetail>(eventDetailModelDataModel);

            var venueDetailDataModel = _venueRepository.Get(eventDetailModelDataModel.VenueId);
            var venueDetailModel     = AutoMapper.Mapper.Map <Contracts.Models.Venue>(venueDetailDataModel);

            var cityDetailDataModel = _cityRepository.Get(venueDetailDataModel.CityId);
            var cityModel           = AutoMapper.Mapper.Map <Contracts.Models.City>(cityDetailDataModel);

            var eventTicketDetailDataModel = _eventTicketDetailRepository.GetByEventDetailId(eventDetailModelDataModel.Id);
            var eventTicketDetailModel     = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketDetail> >(eventTicketDetailDataModel);

            var ticketCategoryIdList    = eventTicketDetailModel.Select(s => s.TicketCategoryId);
            var ticketCategoryDataModel = _ticketCategoryRepository.GetByEventDetailIds(ticketCategoryIdList);
            var ticketCategoryModel     = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.TicketCategory> >(ticketCategoryDataModel);

            var eventTicketDetailIdList      = eventTicketDetailModel.Select(s => s.Id);
            var eventTicketDetailIdDataModel = _eventTicketAttributeRepository.GetByEventTicketDetailId(eventTicketDetailIdList);
            var eventTicketAttributeModel    = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketAttribute> >(eventTicketDetailIdDataModel);

            var currencyList  = eventTicketAttributeModel.Select(s => s.CurrencyId).Distinct().FirstOrDefault();
            var currencyModel = AutoMapper.Mapper.Map <Contracts.Models.CurrencyType>(_currencyTypeRepository.Get(currencyList));

            return(new SubEventTicketCategoryQueryResult
            {
                EventDetail = eventDetailModel,
                EventTicketAttribute = eventTicketAttributeModel,
                Venue = venueDetailModel,
                City = cityModel,
                EventTicketDetail = eventTicketDetailModel,
                TicketCategory = ticketCategoryModel,
                CurrencyType = currencyModel
            });
        }