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 }); }