public FeelAdminPlacesQueryResult Handle(FeelAdminPlacesQuery query) { List <FIL.Contracts.DataModels.Event> eventList = new List <Contracts.DataModels.Event>(); if (query.IsFeelExists) { if (_eventRepository.GetAllByUserAltId(query.UserAltId).Any()) { return(new FeelAdminPlacesQueryResult { IsFeelExists = true }); } else { return(new FeelAdminPlacesQueryResult { }); } } if (query.IsMyFeel) { eventList = _eventRepository.GetAllByUserAltId(query.UserAltId).OrderByDescending(s => s.CreatedUtc).ToList(); } else if (query.IsDeactivateFeels) { eventList = _eventRepository.GetAllFeels(true).Where(s => s.IsCreatedFromFeelAdmin == true).OrderByDescending(s => s.CreatedUtc).ToList(); eventList = eventList.Take(1000).ToList(); } else { eventList = _eventRepository.GetAllFeelAdminEvents().OrderByDescending(s => s.CreatedUtc).ToList(); } var users = _userRepository.GetAllByAltIds((eventList.Select(s => s.CreatedBy))); var eventDetails = _eventDetailRepository.GetByEventIds(eventList.Select(s => s.Id)); var eventsModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.Event> >(eventList); var userModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.User> >(users); var eventDetailModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.EventDetail> >(eventDetails); var myFeelDetails = _eventRepository.GetMyFeelDetails(eventList.Select(s => s.Id).ToList()).ToList(); var eventAttributes = _eventAttributeRepository.GetByEventDetailIds(eventDetails.Select(s => s.Id).ToList()).ToList(); return(new FeelAdminPlacesQueryResult { IsFeelExists = eventsModel.Any() ? true : false, Events = eventsModel, EventDetails = eventDetailModel, Users = userModel, MyFeelDetails = myFeelDetails, EventAttributes = eventAttributes }); }
public CurrentOrderDataQueryResult Handle(CurrentOrderDataQuery query) { var transaction = _transactionRepository.GetByAltId(query.TransactionAltId); if (transaction == null) { return(new CurrentOrderDataQueryResult { }); } var transactionDetails = _transactionDetailRepository.GetByTransactionId(transaction.Id); var transactionDetailModel = AutoMapper.Mapper.Map <List <Contracts.Models.TransactionDetail> >(transactionDetails); var eventTicketAttributeDetails = _eventTicketAttributeRepository.GetByEventTicketAttributeIds(transactionDetails.Select(s => s.EventTicketAttributeId)); var eventTicketDetails = _eventTicketDetailRepository.GetByEventTicketDetailIds(eventTicketAttributeDetails.Select(s => s.EventTicketDetailId)); var eventTicketDetailModel = AutoMapper.Mapper.Map <List <Contracts.Models.EventTicketDetail> >(eventTicketDetails); var ticketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetails.Select(s => s.TicketCategoryId)); var eventDetails = _eventDetailRepository.GetByEventDetailIds(eventTicketDetails.Select(s => s.EventDetailId).Distinct()); var eventAttribute = _eventAttributeRepository.GetByEventDetailIds(eventTicketDetails.Select(s => s.EventDetailId).Distinct()); var eventDetailModel = AutoMapper.Mapper.Map <List <Contracts.Models.EventDetail> >(eventDetails); var venues = _venueRepository.GetByVenueIds(eventDetailModel.Select(s => s.VenueId)); var city = _cityRepository.GetByCityIds(venues.Select(s => s.CityId)); var state = _stateRepository.GetByStateIds(city.Select(s => s.StateId)); var country = _countryRepository.GetByCountryIds(state.Select(s => s.CountryId)); List <FIL.Contracts.DataModels.Event> events = events = _eventRepository.GetByAllEventIds(eventDetails.Select(s => s.EventId).Distinct()).ToList(); var currencyDetail = _currencyTypeRepository.GetByCurrencyId(transaction.CurrencyId); var orderConfirmationSubContainer = events.Select(eId => { var tEvent = events.Where(s => s.Id == eId.Id).FirstOrDefault(); var tEventDetail = _eventDetailRepository.GetByEventIdAndEventDetailId(eId.Id, eventDetails.Select(edId => edId.Id)).OrderBy(s => s.StartDateTime).OrderByDescending(od => od.Id); var subEventContainer = tEventDetail.Select(edetail => { var teventCategory = new FIL.Contracts.DataModels.EventCategory(); var eventCategotyMappings = _eventCategoryMappingRepository.GetByEventId(tEvent.Id).FirstOrDefault(); if (eventCategotyMappings != null) { teventCategory = _eventCategoryRepository.Get(eventCategotyMappings.EventCategoryId); } var tEventDetails = eventDetails.Where(s => s.Id == edetail.Id).FirstOrDefault(); var tEventAttributes = eventAttribute.Where(s => s.EventDetailId == tEventDetails.Id).FirstOrDefault(); var tVenue = venues.Where(s => s.Id == edetail.VenueId).FirstOrDefault(); var tCity = city.Where(s => s.Id == tVenue.CityId).FirstOrDefault(); var tState = state.Where(s => s.Id == tCity.StateId).FirstOrDefault(); var tCountry = country.Where(s => s.Id == tState.CountryId).FirstOrDefault(); var tEventTicketDetail = _eventTicketDetailRepository.GetByEventDetailIdsAndIds(tEventDetail.Where(w => w.Id == edetail.Id).Select(s => s.Id), eventTicketDetailModel.Select(s => s.Id)); var tEventTicketAttribute = eventTicketAttributeDetails.Where(x => tEventTicketDetail.Any(y => y.Id == x.EventTicketDetailId)); var tTicketCategory = ticketCategories.Where(x => tEventTicketDetail.Any(y => y.TicketCategoryId == x.Id)); var tTransactionDetail = transactionDetails.Where(x => tEventTicketAttribute.Any(y => y.Id == x.EventTicketAttributeId)).ToList(); var tEventDeliveryTypeDetail = _eventDeliveryTypeDetailRepository.GetByEventDetailIds(tEventDetail.Select(s => s.Id)); var tTransactionDeliveryDetail = _transactionDeliveryDetailRepository.GetByTransactionDetailIds(tTransactionDetail.Select(s => s.Id)); var tUser = _userRepository.GetByAltId(transaction.CreatedBy); var tUserAddress = (dynamic)null; if (tUser != null) { tUserAddress = _userAddressDetailRepository.GetByUserId(tUser.Id).LastOrDefault(); } var tZipCode = (dynamic)null; if (tUserAddress != null) { tZipCode = _zipcodeRepository.Get(tUserAddress.Zipcode); } return(new SubEventContainer { Event = AutoMapper.Mapper.Map <Contracts.Models.Event>(tEvent), EventCategory = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(teventCategory), EventAttribute = AutoMapper.Mapper.Map <Contracts.Models.EventAttribute>(tEventAttributes), EventDetail = AutoMapper.Mapper.Map <Contracts.Models.EventDetail>(tEventDetails), Venue = AutoMapper.Mapper.Map <Contracts.Models.Venue>(tVenue), City = AutoMapper.Mapper.Map <Contracts.Models.City>(tCity), State = AutoMapper.Mapper.Map <Contracts.Models.State>(tState), Country = AutoMapper.Mapper.Map <Contracts.Models.Country>(tCountry), Zipcode = AutoMapper.Mapper.Map <Contracts.Models.Zipcode>(tZipCode), EventTicketDetail = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketDetail> >(tEventTicketDetail), EventTicketAttribute = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketAttribute> >(tEventTicketAttribute), EventDeliveryTypeDetail = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventDeliveryTypeDetail> >(tEventDeliveryTypeDetail), TicketCategory = AutoMapper.Mapper.Map <IEnumerable <FIL.Contracts.Models.TicketCategory> >(tTicketCategory), TransactionDetail = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.TransactionDetail> >(tTransactionDetail), TransactionDeliveryDetail = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.TransactionDeliveryDetail> >(tTransactionDeliveryDetail), }); }); return(new OrderConfirmationSubContainer { Event = AutoMapper.Mapper.Map <Contracts.Models.Event>(tEvent), subEventContainer = subEventContainer.ToList() }); }); return(new CurrentOrderDataQueryResult { Transaction = AutoMapper.Mapper.Map <Contracts.Models.Transaction>(transaction), CurrencyType = AutoMapper.Mapper.Map <FIL.Contracts.Models.CurrencyType>(currencyDetail), orderConfirmationSubContainer = orderConfirmationSubContainer.ToList(), TicketQuantity = eventTicketAttributeDetails.ToArray().Length, }); }
public TicketCategoryQueryResult Handle(TicketCategoryQuery query) { try { var eventDataModel = _eventRepository.GetByAltId(query.EventAltId); var eventModel = AutoMapper.Mapper.Map <Contracts.Models.Event>(eventDataModel); if (eventModel != null) { var ASIMonumentMapping = _aSIMonumentEventTableMappingRepository.GetByEventId(eventModel.Id); var ASIMonument = new Contracts.Models.ASI.Item(); if (ASIMonumentMapping != null) { ASIMonument = Mapper.Map <Contracts.Models.ASI.Item>(_aSIMonumentRepository.Get(ASIMonumentMapping.ASIMonumentId)); } var eventCategoryMappings = _eventCategoryMappingRepository.GetByEventId(eventModel.Id).FirstOrDefault(); var eventDetailModelDataModel = _eventDetailRepository.GetSubEventByEventId(eventModel.Id); var eventDetailModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventDetail> >(eventDetailModelDataModel); List <FIL.Contracts.Models.ASI.EventTimeSlotMapping> eventTimeSlotMappings = new List <Contracts.Models.ASI.EventTimeSlotMapping>(); List <EventVenueMappingTime> eventVenueMappingTimeModel = new List <EventVenueMappingTime>(); FIL.Contracts.Models.EventCategory subCategory = new FIL.Contracts.Models.EventCategory(); FIL.Contracts.Models.EventCategory category = new FIL.Contracts.Models.EventCategory(); try { var eventTimeSlot = _eventTimeSlotMappingRepository.GetByEventId(eventModel.Id); eventTimeSlotMappings = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.ASI.EventTimeSlotMapping> >(eventTimeSlot).ToList(); } catch (Exception e) { } if (eventCategoryMappings != null) { var subCategoryDataModel = _eventCategoryRepository.Get(eventCategoryMappings.EventCategoryId); if (subCategory != null) { subCategory = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(subCategoryDataModel); var categoryDataModel = _eventCategoryRepository.Get(subCategory.EventCategoryId); category = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(categoryDataModel); } } var ticketCategoryType = _ticketCategoryTypesRepository.GetAll(); var ticketCategorySubType = _ticketCategorySubTypesRepository.GetAll(); var placeHolidyDatesDataModel = _placeHolidayDatesRepository.GetAllByEventId(eventDataModel.Id); var placeHolidyDatesModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.PlaceHolidayDate> >(placeHolidyDatesDataModel); var placeWeekOffDataModel = _placeWeekOffRepository.GetAllByEventId(eventDataModel.Id); var placeWeekOffModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.PlaceWeekOff> >(placeWeekOffDataModel); var placeDocumentDataModel = _placeCustomerDocumentTypeMappingRepository.GetAllByEventId(eventDataModel.Id); var placeDocumentModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.PlaceCustomerDocumentTypeMapping> >(placeDocumentDataModel); var placeOpenDays = _placeWeekOpenDaysRepository.GetByEventId(eventDataModel.Id); var placeOpenDaysModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.PlaceWeekOpenDays> >(placeOpenDays); var CustomerDocumentTypeDataModel = _customerDocumentTypeRepository.GetAll(); var CustomerDocumentTypeModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.CustomerDocumentType> >(CustomerDocumentTypeDataModel); if (eventDetailModelDataModel != null && eventDetailModelDataModel.Any()) { var eventDeliveryTypeDetailDataModel = _eventDeliveryTypeDetail.GetByEventDetailId(eventDetailModelDataModel.ElementAt(0).Id); var eventDeliveryTypeDetailModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventDeliveryTypeDetail> >(eventDeliveryTypeDetailDataModel); var RASVTicketTypeMappingsDataModel = _rasvTicketTypeMappingRepository.GetByEventDetailIds(eventDetailModelDataModel.Select(ed => ed.Id)).Where(sed => sed.IsEnabled == true); var RASVTicketTypeMappingsModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.RASVTicketTypeMapping> >(RASVTicketTypeMappingsDataModel); var venueDetailDataModel = _venueRepository.GetByVenueIds(eventDetailModel.Select(s => s.VenueId)); var venueDetailModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.Venue> >(venueDetailDataModel); //Multiple Venue option for MOVE AROUND category. var eventVenueMappingDataModel = _eventVenueMappingRepository.GetOneByEventId(eventModel.Id); var eventVenueMappingModel = Mapper.Map <EventVenueMapping>(eventVenueMappingDataModel); if (eventVenueMappingModel != null) { var eventVenueMappingTimeDataModel = _eventVenueMappingTimeRepository.GetAllByEventVenueMappingId(eventVenueMappingModel.Id); eventVenueMappingTimeModel = Mapper.Map <IEnumerable <EventVenueMappingTime> >(eventVenueMappingTimeDataModel).ToList(); } var CityList = venueDetailDataModel.Select(s => s.CityId); var cityDetailDataModel = _cityRepository.GetByCityIds(CityList); var cityModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.City> >(cityDetailDataModel); var eventTicketDetailList = eventDetailModelDataModel.Select(s => s.Id); var eventTicketDetailDataModel = _eventTicketDetailRepository.GetByEventDetailIds(eventTicketDetailList); var eventTicketDetailModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketDetail> >(eventTicketDetailDataModel); // For Getting Pone venue Images var pOneImageEventDetailMapping = new List <Contracts.Models.POne.POneImageEventDetailMapping>(); if (eventModel.EventSourceId == EventSource.POne) { var pOneEventDetailMappings = _pOneEventDetailMappingRepository.GetByEventDetailIds(eventTicketDetailModel.Select(s => s.EventDetailId).Distinct().ToList()); var allTicketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetailModel.Select(s => s.TicketCategoryId).Distinct().ToList()); var allPoneETD = _pOneEventTicketDetailRepository.GetByManyPOneEventDetail(pOneEventDetailMappings.Select(s => s.POneEventDetailId).Distinct().ToList()); foreach (var item in eventTicketDetailModel) { var pOneEventDetailMappingData = pOneEventDetailMappings.Where(s => s.ZoongaEventDetailId == item.EventDetailId).FirstOrDefault(); var tc = allTicketCategories.Where(s => s.Id == item.TicketCategoryId).FirstOrDefault(); var p1tc = _pOneTicketCategoryRepository.GetByName(tc.Name); if (pOneEventDetailMappingData != null && p1tc != null) { var p1etd = allPoneETD.Where(s => (s.POneEventDetailId == pOneEventDetailMappingData.POneEventDetailId && s.POneTicketCategoryId == p1tc.POneId)).FirstOrDefault(); if (p1etd != null) { pOneImageEventDetailMapping.Add(new Contracts.Models.POne.POneImageEventDetailMapping { EventTicketDetailId = item.Id, ImageUrl = p1etd.ImageUrl }); } } } } var eventTicketDetailTicketCategoryMappings = _eventTicketDetailTicketCategoryTypeMappingRepository.GetByEventTicketDetails(eventTicketDetailModel.Select(s => s.Id).ToList()); var eventTicketDetailTicketCategoryMappingsModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketDetailTicketCategoryTypeMapping> >(eventTicketDetailTicketCategoryMappings).ToList(); var matchAttribute = _matchAttributeRepository.GetByEventDetailIds(eventDetailModelDataModel.Select(ed => ed.Id).Distinct()); var team = _teamRepository.GetAll(); var data = _calendarProvider.GetCalendarData(eventModel.Id); if (eventTicketDetailModel != null) { 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 eventTicketAttributeIdList = eventTicketAttributeModel.Select(s => s.Id); var ticketFeeDetailIdDataModel = _ticketFeeDetail.GetByEventTicketAttributeIds(eventTicketAttributeIdList); var ticketFeeDetailModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.TicketFeeDetail> >(ticketFeeDetailIdDataModel); var currencyList = eventTicketAttributeModel.Select(s => s.CurrencyId).Distinct().FirstOrDefault(); var currencyModel = AutoMapper.Mapper.Map <Contracts.Models.CurrencyType>(_currencyTypeRepository.Get(currencyList)); var days = _daysRepository.GetAll(); var daysModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.Days> >(days); var CountryRegionalOrganisation = _countryRegionalOrganisationMappingRepository.GetAll(); var eventAttribute = _eventAttributeRepository.GetByEventDetailIds(eventDetailModel.Select(s => (long)s.Id).ToList()); var Country = _countryRepository.GetAll(); var Countrymodel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.Country> >(Country); List <string> reginalOrganisation = new List <string>(); reginalOrganisation.AddRange(Enum.GetNames(typeof(FIL.Contracts.Enums.RegionalOrganisation))); // For Tiqet's gettting Checkout Details TiqetProductCheckoutDetail tiqetCheckoutDetailsModel = new TiqetProductCheckoutDetail(); List <ValidWithVariantModel> validWithVariantList = new List <ValidWithVariantModel>(); if (eventModel.EventSourceId == EventSource.Tiqets) { var tiqetEventDetailMapping = _tiqetEventDetailMappingRepository.GetByEventDetailId(eventDetailModel.ElementAt(0).Id); var tiqetCheckoutDetails = _tiqetProductCheckoutDetailRepository.GetByProductId(tiqetEventDetailMapping.ProductId); tiqetCheckoutDetailsModel = Mapper.Map <TiqetProductCheckoutDetail>(tiqetCheckoutDetails); // for checking valid with tiqetVariant details var tiqetVariantDetails = _tiqetVariantDetailRepository.GetAllByProductId(tiqetCheckoutDetailsModel.ProductId); List <long> eventTicketDetailIds = new List <long>(); foreach (var currentVariantDetail in tiqetVariantDetails) { if (currentVariantDetail.ValidWithVariantIds != null && currentVariantDetail.ValidWithVariantIds != "") { ValidWithVariantModel validWithVariantModel = new ValidWithVariantModel(); var validWithVariantIds = currentVariantDetail.ValidWithVariantIds.Split(","); foreach (var currentValidvariantId in validWithVariantIds) { var currentValidVariantDetail = tiqetVariantDetails.Where(s => s.VariantId == Convert.ToInt64(currentValidvariantId)).FirstOrDefault(); if (currentValidVariantDetail != null) { var eventTicketDetailMapping = _tiqetEventTicketDetailMappingRepository.GetByTiqetVariantId(currentValidVariantDetail.Id); eventTicketDetailIds.Add(eventTicketDetailMapping.EventTicketDetailId); } } var currentEventTicketDetailMapping = _tiqetEventTicketDetailMappingRepository.GetByTiqetVariantId(currentVariantDetail.Id); validWithVariantModel.EventTicketDetailId = currentEventTicketDetailMapping.EventTicketDetailId; validWithVariantModel.ValidWithEventTicketDetailId = eventTicketDetailIds; validWithVariantList.Add(validWithVariantModel); } } } // Check for Hoho Places if any FIL.Contracts.DataModels.CitySightSeeingTicketDetail citySightSeeingTicketDetail = new FIL.Contracts.DataModels.CitySightSeeingTicketDetail(); var citySightSeeingEventDetailMapping = _citySightSeeingEventDetailMappingRepository.GetByEventDetailId(eventDetailModel.ElementAt(0).Id); if (citySightSeeingEventDetailMapping != null) { var citySightSeeingTickets = _citySightSeeingTicketRepository.Get(citySightSeeingEventDetailMapping.CitySightSeeingTicketId); citySightSeeingTicketDetail = _citySightSeeingTicketDetailRepository.GetByTicketId(citySightSeeingTickets.TicketId); } //Get Host Details for FIL Online Events var eventHostMappingList = new List <FIL.Contracts.DataModels.EventHostMapping>(); var formattedDateString = ""; if (eventDataModel.MasterEventTypeId == MasterEventType.Online) { eventHostMappingList = _eventHostMappingRepository.GetAllByEventId(eventDataModel.Id).ToList(); var formattedDateTime = _localTimeZoneConvertProvider.ConvertToLocal(eventDetailModel.FirstOrDefault().StartDateTime, eventAttribute.FirstOrDefault().TimeZone); formattedDateString = formattedDateTime.DayOfWeek + ", " + formattedDateTime.ToString(@"MMM dd, yyyy, hh:mm tt", new CultureInfo("en-US")); } //Get Recurrance Schedule List <FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel> recurranceScheduleModels = new List <Contracts.Models.CreateEventV1.EventRecurranceScheduleModel>(); if (eventDetailModel.FirstOrDefault().EventFrequencyType == EventFrequencyType.Recurring) { recurranceScheduleModels = _getScheduleDetailProvider.GetScheduleDetails(eventDataModel.Id, DateTime.UtcNow, DateTime.UtcNow, false, true).Where(s => s.EndDateTime > DateTime.UtcNow).ToList(); } try { return(new TicketCategoryQueryResult { Event = eventModel, EventDetail = eventDetailModel, EventTicketAttribute = eventTicketAttributeModel, TicketFeeDetail = ticketFeeDetailModel, Venue = venueDetailModel, City = cityModel, EventTicketDetail = eventTicketDetailModel, TicketCategory = ticketCategoryModel, CurrencyType = currencyModel, RASVTicketTypeMappings = RASVTicketTypeMappingsModel, EventDeliveryTypeDetails = eventDeliveryTypeDetailModel, EventCategory = eventModel.EventCategoryId, MatchAttribute = Mapper.Map <IEnumerable <MatchAttribute> >(matchAttribute), Team = Mapper.Map <IEnumerable <Team> >(team), PlaceCustomerDocumentTypeMappings = placeDocumentModel, PlaceHolidayDates = placeHolidyDatesModel, PlaceWeekOffs = placeWeekOffModel, CustomerDocumentTypes = CustomerDocumentTypeModel, TicketCategorySubTypes = ticketCategorySubType.ToList(), TicketCategoryTypes = ticketCategoryType.ToList(), EventTicketDetailTicketCategoryTypeMappings = eventTicketDetailTicketCategoryMappingsModel, EventCategoryMappings = eventCategoryMappings, RegularTimeModel = data.RegularTimeModel, SeasonTimeModel = data.SeasonTimeModel, SpecialDayModel = data.SpecialDayModel, EventVenueMappings = eventVenueMappingModel, EventVenueMappingTimes = eventVenueMappingTimeModel, EventTimeSlotMappings = eventTimeSlotMappings, PlaceWeekOpenDays = placeOpenDaysModel, Days = daysModel, CountryRegionalOrganisationMappings = CountryRegionalOrganisation.ToList(), Countries = Countrymodel, Category = category, SubCategory = subCategory, RegionalOrganisation = reginalOrganisation, TiqetsCheckoutDetails = tiqetCheckoutDetailsModel, ValidWithVariantModel = validWithVariantList, CitySightSeeingTicketDetail = Mapper.Map <FIL.Contracts.Models.CitySightSeeing.CitySightSeeingTicketDetail>(citySightSeeingTicketDetail), POneImageEventDetailMapping = pOneImageEventDetailMapping, EventHostMapping = eventHostMappingList, EventAttributes = eventAttribute.ToList(), eventRecurranceScheduleModels = recurranceScheduleModels, ASIMonument = ASIMonument, FormattedDateString = formattedDateString }); } catch (Exception e) { return(new TicketCategoryQueryResult { }); } } else { return(new TicketCategoryQueryResult { Event = eventModel, EventDetail = eventDetailModel, EventTicketAttribute = null, TicketFeeDetail = null, Venue = venueDetailModel, City = cityModel, EventTicketDetail = eventTicketDetailModel, TicketCategory = null, CurrencyType = null, RASVTicketTypeMappings = RASVTicketTypeMappingsModel, EventDeliveryTypeDetails = eventDeliveryTypeDetailModel, EventCategory = eventModel.EventCategoryId, MatchAttribute = null, Team = null, CitySightSeeingTicketDetail = null }); } } else { return(new TicketCategoryQueryResult { }); } } else { return(new TicketCategoryQueryResult { }); } } catch (Exception e) { _logger.Log(Logging.Enums.LogCategory.Error, e); return(new TicketCategoryQueryResult { }); } }
public OrderConfirmationQueryResult Get( long transactionId, bool isConfirmationFromMyOrders, FIL.Contracts.Enums.Channels channel) { var transactionScheduleDetails = new List <FIL.Contracts.DataModels.TransactionScheduleDetail>(); var scheduleDetails = new List <FIL.Contracts.DataModels.ScheduleDetail>(); var transaction = _transactionRepository.GetSuccessfulTransactionDetails(transactionId); var transactionModel = AutoMapper.Mapper.Map <FIL.Contracts.Models.Transaction>(transaction); var IsASI = false; var IsHoho = false; if (transactionModel == null) { return(new OrderConfirmationQueryResult()); } var transactionDetails = _transactionDetailsRepository.GetByTransactionId(transactionModel.Id); var transactionDetailModel = AutoMapper.Mapper.Map <List <TransactionDetail> >(transactionDetails); var eventTicketAttributeDetails = _eventTicketAttributeRepository.GetByEventTicketAttributeIds(transactionDetails.Select(s => s.EventTicketAttributeId)); var eventTicketDetails = _eventTicketDetailRepository.GetByEventTicketDetailIds(eventTicketAttributeDetails.Select(s => s.EventTicketDetailId)); var eventTicketDetailModel = AutoMapper.Mapper.Map <List <EventTicketDetail> >(eventTicketDetails); var ticketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetails.Select(s => s.TicketCategoryId)); var eventDetails = _eventDetailRepository.GetByEventDetailIds(eventTicketDetails.Select(s => s.EventDetailId).Distinct()); var eventAttribute = _eventAttributeRepository.GetByEventDetailIds(eventTicketDetails.Select(s => s.EventDetailId).Distinct()); var eventDetailModel = AutoMapper.Mapper.Map <List <EventDetail> >(eventDetails); var venues = _venueRepository.GetByVenueIds(eventDetailModel.Select(s => s.VenueId)); var city = _cityRepository.GetByCityIds(venues.Select(s => s.CityId)); var state = _stateRepository.GetByStateIds(city.Select(s => s.StateId)); var country = _countryRepository.GetByCountryIds(state.Select(s => s.CountryId)); if (channel == Contracts.Enums.Channels.Feel && eventDetailModel.FirstOrDefault().EventFrequencyType == Contracts.Enums.EventFrequencyType.Recurring) { transactionScheduleDetails = _transactionScheduleDetail.GetAllByTransactionDetails(transactionDetailModel.Select(s => s.Id).ToList()).ToList(); scheduleDetails = _scheduleDetailRepository.GetAllByIds(transactionScheduleDetails.Select(s => s.ScheduleDetailId).ToList()).ToList(); } List <FIL.Contracts.DataModels.Event> events = new List <FIL.Contracts.DataModels.Event>(); if (isConfirmationFromMyOrders == true) { events = _eventRepository.GetByAllEventIds(eventDetails.Select(s => s.EventId).Distinct()).ToList(); } else { events = _eventRepository.GetByAllTypeEventIds(eventDetails.Select(s => s.EventId).Distinct()).ToList(); } var transactionPaymentDetails = _transactionPaymentDetailRepository.GetAllByTransactionId(transactionId); var transactionPaymentDetail = transactionPaymentDetails.Where(s => s.UserCardDetailId != null).FirstOrDefault(); var currencyDetail = _currencyTypeRepository.GetByCurrencyId(transactionModel.CurrencyId); var paymentOption = (dynamic)null; var userCardDetail = (dynamic)null; if (transactionPaymentDetail != null) { paymentOption = transactionPaymentDetail.PaymentOptionId.ToString(); userCardDetail = _userCardDetailRepository.GetByUserCardDetailId(transactionPaymentDetail.UserCardDetailId); } var cardTypes = (dynamic)null; if (userCardDetail != null) { cardTypes = userCardDetail.CardTypeId.ToString(); } var orderConfirmationSubContainer = events.Select(eId => { var tEvent = events.Where(s => s.Id == eId.Id).FirstOrDefault(); var tEventDetail = _eventDetailRepository.GetByEventIdAndEventDetailId(eId.Id, eventDetails.Select(edId => edId.Id)).OrderBy(s => s.StartDateTime).OrderByDescending(od => od.Id); var subEventContainer = tEventDetail.Select(edetail => { var teventCategory = new FIL.Contracts.DataModels.EventCategory(); if (channel == FIL.Contracts.Enums.Channels.Feel) { var eventCategotyMappings = _eventCategoryMappingRepository.GetByEventId(tEvent.Id).FirstOrDefault(); if (eventCategotyMappings != null) { teventCategory = _eventCategoryRepository.Get(eventCategotyMappings.EventCategoryId); } } else { teventCategory = _eventCategoryRepository.Get(tEvent.EventCategoryId); } var tEventDetails = eventDetails.Where(s => s.Id == edetail.Id).FirstOrDefault(); var tEventAttributes = eventAttribute.Where(s => s.EventDetailId == tEventDetails.Id).FirstOrDefault(); var tVenue = venues.Where(s => s.Id == edetail.VenueId).FirstOrDefault(); var tCity = city.Where(s => s.Id == tVenue.CityId).FirstOrDefault(); var tState = state.Where(s => s.Id == tCity.StateId).FirstOrDefault(); var tCountry = country.Where(s => s.Id == tState.CountryId).FirstOrDefault(); var tEventTicketDetail = _eventTicketDetailRepository.GetByEventDetailIdsAndIds(tEventDetail.Where(w => w.Id == edetail.Id).Select(s => s.Id), eventTicketDetailModel.Select(s => s.Id)); var tEventTicketAttribute = eventTicketAttributeDetails.Where(x => tEventTicketDetail.Any(y => y.Id == x.EventTicketDetailId)); var tTicketCategory = ticketCategories.Where(x => tEventTicketDetail.Any(y => y.TicketCategoryId == x.Id)); var tTransactionDetail = transactionDetails.Where(x => tEventTicketAttribute.Any(y => y.Id == x.EventTicketAttributeId)).ToList(); List <MatchLayoutSectionSeat> tMatchLayoutSectionSeats = new List <MatchLayoutSectionSeat>(); List <FIL.Contracts.DataModels.MatchLayoutCompanionSeatMapping> tMatchLayoutCompanionSeatMapping = new List <FIL.Contracts.DataModels.MatchLayoutCompanionSeatMapping>(); var tMatchSeatTicketDetails = _matchSeatTicketDetailRepository.GetByTransactionIdAndTicketDetailIds(tTransactionDetail.Select(w => w.TransactionId).FirstOrDefault(), tEventTicketDetail.Select(w => w.Id)); if (tMatchSeatTicketDetails.Any()) { var matchSeatTicketDetails = tMatchSeatTicketDetails.Where(w => w.MatchLayoutSectionSeatId != null).FirstOrDefault(); if (matchSeatTicketDetails != null) { tMatchLayoutSectionSeats = AutoMapper.Mapper.Map <List <MatchLayoutSectionSeat> >(_matchLayoutSectionSeatRepository.GetByIds(tMatchSeatTicketDetails.Select(s => (long)s.MatchLayoutSectionSeatId).Distinct())); tMatchLayoutCompanionSeatMapping = AutoMapper.Mapper.Map <List <FIL.Contracts.DataModels.MatchLayoutCompanionSeatMapping> >(_matchLayoutCompanionSeatMappingRepository.GetByWheelChairSeatIds(tMatchLayoutSectionSeats.Select(s => s.Id).Distinct())); } } var taSITransactionDetailTimeSlotIdMapping = _aSITransactionDetailTimeSlotIdMappingRepository.GetByTransactionDetailIds(tTransactionDetail.Select(s => s.Id)); var tGuestDetails = _guestDetailRepository.GetByTransactionDetailIds(tTransactionDetail.Select(s => s.Id)); var taSIPaymentResponseDetailTicketMappings = _aSIPaymentResponseDetailTicketMappingRepository.GetByVisitorIds(tGuestDetails.Select(s => (long)s.Id).ToList()); var teventTimeSlotMapping = _eventTimeSlotMappingRepository.GetByIds(taSITransactionDetailTimeSlotIdMapping.Select(s => s.EventTimeSlotMappingId)); if (tEvent.EventSourceId == Contracts.Enums.EventSource.ASI) { IsASI = true; foreach (FIL.Contracts.DataModels.TransactionDetail currentTransacitionDetail in tTransactionDetail) { var visitDate = (DateTime)currentTransacitionDetail.VisitDate; currentTransacitionDetail.VisitDate = visitDate.AddHours(5).AddMinutes(30); } } if (tEvent.EventSourceId == Contracts.Enums.EventSource.CitySightSeeing) { IsHoho = true; } var tEventDeliveryTypeDetail = _eventDeliveryTypeDetailRepository.GetByEventDetailIds(tEventDetail.Select(s => s.Id)); var tTransactionDeliveryDetail = _transactionDeliveryDetailRepository.GetByTransactionDetailIds(tTransactionDetail.Select(s => s.Id)); var tUser = _userRepository.GetByAltId(transaction.CreatedBy); var tUserAddress = (dynamic)null; if (tUser != null) { tUserAddress = _userAddressDetailRepository.GetByUserId(tUser.Id).LastOrDefault(); } var tZipCode = (dynamic)null; if (tUserAddress != null) { tZipCode = _zipcodeRepository.Get(tUserAddress.Zipcode); } var transctionScheduleDetails = transactionScheduleDetails.Where(s => tTransactionDetail.Any(x => x.Id == s.TransactionDetailId)).ToList(); var scheduleDetail = scheduleDetails.Where(s => transctionScheduleDetails.Any(x => x.ScheduleDetailId == s.Id)).ToList(); return(new SubEventContainer { Event = AutoMapper.Mapper.Map <Event>(tEvent), EventCategory = AutoMapper.Mapper.Map <EventCategory>(teventCategory), EventAttribute = AutoMapper.Mapper.Map <EventAttribute>(tEventAttributes), EventDetail = AutoMapper.Mapper.Map <EventDetail>(tEventDetails), Venue = AutoMapper.Mapper.Map <Venue>(tVenue), City = AutoMapper.Mapper.Map <City>(tCity), State = AutoMapper.Mapper.Map <State>(tState), Country = AutoMapper.Mapper.Map <Country>(tCountry), Zipcode = AutoMapper.Mapper.Map <Zipcode>(tZipCode), EventTicketDetail = AutoMapper.Mapper.Map <IEnumerable <EventTicketDetail> >(tEventTicketDetail), EventTicketAttribute = AutoMapper.Mapper.Map <IEnumerable <EventTicketAttribute> >(tEventTicketAttribute), EventDeliveryTypeDetail = AutoMapper.Mapper.Map <IEnumerable <EventDeliveryTypeDetail> >(tEventDeliveryTypeDetail), TicketCategory = AutoMapper.Mapper.Map <IEnumerable <FIL.Contracts.Models.TicketCategory> >(tTicketCategory), TransactionDetail = AutoMapper.Mapper.Map <IEnumerable <TransactionDetail> >(tTransactionDetail), MatchSeatTicketDetail = AutoMapper.Mapper.Map <IEnumerable <MatchSeatTicketDetail> >(tMatchSeatTicketDetails), MatchLayoutSectionSeat = AutoMapper.Mapper.Map <IEnumerable <MatchLayoutSectionSeat> >(tMatchLayoutSectionSeats), MatchLayoutCompanionSeatMappings = AutoMapper.Mapper.Map <IEnumerable <FIL.Contracts.DataModels.MatchLayoutCompanionSeatMapping> >(tMatchLayoutCompanionSeatMapping), TransactionDeliveryDetail = AutoMapper.Mapper.Map <IEnumerable <TransactionDeliveryDetail> >(tTransactionDeliveryDetail), EventTimeSlotMappings = AutoMapper.Mapper.Map <IEnumerable <FIL.Contracts.Models.ASI.EventTimeSlotMapping> >(teventTimeSlotMapping), ASITransactionDetailTimeSlotIdMappings = AutoMapper.Mapper.Map <IEnumerable <FIL.Contracts.Models.ASI.ASITransactionDetailTimeSlotIdMapping> >(taSITransactionDetailTimeSlotIdMapping), ASIPaymentResponseDetailTicketMappings = AutoMapper.Mapper.Map <IEnumerable <FIL.Contracts.Models.ASI.ASIPaymentResponseDetailTicketMapping> >(taSIPaymentResponseDetailTicketMappings), TransactionScheduleDetails = transctionScheduleDetails, ScheduleDetails = scheduleDetail }); }); return(new OrderConfirmationSubContainer { Event = AutoMapper.Mapper.Map <Event>(tEvent), subEventContainer = subEventContainer.ToList() }); }); decimal TotalGst = 0; decimal GST = 0; decimal AdditionalGST = 0; try { if (transactionModel != null) { if (orderConfirmationSubContainer.Any() && orderConfirmationSubContainer.ToList().ElementAt(0).Event.AltId.ToString().ToUpper() == "1F0257FA-EEA6-4469-A7BC-B878A215C8A9") //RASV Email { TotalGst = (decimal)transactionModel.ConvenienceCharges / 11; } } } catch (Exception e) { } return(new OrderConfirmationQueryResult { Transaction = transactionModel, TransactionPaymentDetail = AutoMapper.Mapper.Map <FIL.Contracts.Models.TransactionPaymentDetail>(transactionPaymentDetail), UserCardDetail = AutoMapper.Mapper.Map <FIL.Contracts.Models.UserCardDetail>(userCardDetail), CurrencyType = AutoMapper.Mapper.Map <FIL.Contracts.Models.CurrencyType>(currencyDetail), PaymentOption = paymentOption, GoodsAndServiceTax = TotalGst, cardTypes = cardTypes, orderConfirmationSubContainer = orderConfirmationSubContainer.ToList(), TicketQuantity = eventTicketAttributeDetails.ToArray().Length, IsASI = IsASI, IsHoho = IsHoho }); }
public FeelCategoryEventQueryResult Handle(FeelCategoryEventQuery query) { try { query.SiteId = FIL.Contracts.Enums.Site.feelaplaceSite; var countryDescription = new FIL.Contracts.DataModels.CountryDescription(); var cityDescription = new FIL.Contracts.DataModels.CityDescription(); var countryContents = new List <FIL.Contracts.DataModels.CountryContentMapping>(); var indexEventId = eventIdProvider(query); var siteEvents = _eventSiteIdMappingRepository .GetBySiteId(query.SiteId) .OrderBy(o => o.SortOrder).ToList(); var categoryEvents = _eventRepository.GetByAllEventIds(indexEventId) .Where(e => e.IsEnabled) .ToList(); var eventMapping = categoryEvents.ToDictionary(e => e.Id); var eventIds = eventMapping.Keys; var eventCategoryMappings = _eventCategoryMappingRepository.GetByEventIds(eventIds).Where(ed => ed.IsEnabled == true); var allEventDetails = _eventDetailRepository.GetByEventIds(eventIds).Where(ed => ed.IsEnabled == true); var allEventAttributes = _eventAttributeRepository.GetByEventDetailIds(allEventDetails.Select(s => s.Id)); var allEventTicketDetails = _eventTicketDetailRepository.GetAllByEventDetailIds(allEventDetails.Select(s => s.Id)); var allEventTicketDetailTicketCategoryTypeMapping = _eventTicketDetailTicketCategoryTypeMappingRepository.GetByEventTicketDetails(allEventTicketDetails.Select(s => s.Id).ToList()).Where(s => s.TicketCategoryTypeId == 2); allEventTicketDetails = allEventTicketDetails.Where(s => allEventTicketDetailTicketCategoryTypeMapping.All(p => p.EventTicketDetailId != s.Id)); var allLiveEventDetails = _liveEventDetailRepository.GetAllByEventIds(eventIds.ToList()); var allEventRatings = _ratingRepository.GetByEventIds(eventIds); var venueMapping = _venueRepository.GetByVenueIds(allEventDetails.Select(ed => ed.VenueId).Distinct()) .ToDictionary(v => v.Id); var eventDetailsMapping = allEventDetails.GroupBy(ed => ed.EventId) .ToDictionary(g => g.Key, g => g.ToList()); var eventCategoryMapping = eventCategoryMappings.GroupBy(ed => ed.EventId) .ToDictionary(g => g.Key, g => g.ToList()); var eventRatingMapping = allEventRatings.GroupBy(ed => ed.EventId) .ToDictionary(g => g.Key, g => g.ToList()); var cityIds = venueMapping.Values.Select(s => s.CityId).Distinct(); var allCities = _cityRepository.GetByCityIds(cityIds); var cityMapping = allCities.ToDictionary(c => c.Id); var stateId = cityMapping.Values.Select(c => c.StateId).Distinct(); var stateMapping = _stateRepository.GetByStateIds(stateId) .ToDictionary(s => s.Id); var countryIdList = stateMapping.Values.Select(s => s.CountryId).Distinct(); var countryMapping = _countryRepository.GetByCountryIds(countryIdList) .ToDictionary(c => c.Id); if (query.IsCountryLandingPage) { if (countryIdList.ToList().Any()) { countryDescription = _countryDescriptionRepository.GetByCountryId(countryIdList.ToList().ElementAt(0)); countryContents = _countryContentMappingRepository.GetByCountryId(countryIdList.ToList().ElementAt(0)).ToList(); } } if (query.IsCityLandingPage) { if (cityIds.ToList().Any()) { var cities = _cityRepository.GetAllByName(allCities.ElementAt(0).Name); foreach (var currentCity in allCities) { cityDescription = _cityDescriptionRepository.GetBycityId(currentCity.Id); if (cityDescription != null) { break; } } } } var eventsBySortOrder = new List <FIL.Contracts.DataModels.Event>(); foreach (var item in siteEvents) { var events = categoryEvents.FirstOrDefault(w => w.Id == item.EventId); if (events != null) { eventsBySortOrder.Add(AutoMapper.Mapper.Map <FIL.Contracts.DataModels.Event>(events)); } } eventsBySortOrder = eventsBySortOrder.Where(s => !s.IsTokenize).ToList(); var CategoryEventData = eventsBySortOrder.Select(ce => { try { var eventObj = eventMapping[ce.Id]; var EventCategory = eventObj.EventCategoryId.ToString(); var parentCategory = ""; var eventDetails = eventDetailsMapping[ce.Id]; var eventAttribute = allEventAttributes.Where(s => s.EventDetailId == eventDetails.FirstOrDefault().Id).FirstOrDefault(); var eventTicketDetails = allEventTicketDetails.Where(s => eventDetails.Exists(p => p.Id == s.EventDetailId)); var eventCategoryMap = eventCategoryMapping[ce.Id]; if (eventCategoryMap.Any()) { var eventCategory = _eventCategoryRepository.Get(eventCategoryMap.FirstOrDefault().EventCategoryId); if (eventCategory != null) { EventCategory = eventCategory.Slug; var parentCategoryModel = _eventCategoryRepository.Get(eventCategory.EventCategoryId); parentCategory = parentCategoryModel.Slug; } } List <FIL.Contracts.DataModels.Rating> eventRatings; if (eventRatingMapping.ContainsKey(ce.Id)) { eventRatings = eventRatingMapping[ce.Id]; } else { eventRatings = null; } var eventDetailIdList = eventDetails.Select(s => s.Id).Distinct().ToList(); var eventTicketDetailIdList = eventTicketDetails.Select(s => s.Id).Distinct().ToList(); var venues = eventDetails.Select(s => s.VenueId).Distinct().Select(v => venueMapping[v]); var cities = venues.Select(s => s.CityId).Distinct().Select(c => cityMapping[c]); var states = cities.Select(s => s.StateId).Distinct().Select(s => stateMapping[s]); var countries = states.Select(s => s.CountryId).Distinct().Select(c => countryMapping[c]); var eventTicketAttributeMapping = new List <Contracts.DataModels.EventTicketAttribute> { _eventTicketAttributeRepository.GetMaxPriceByEventTicketDetailId(eventTicketDetailIdList), _eventTicketAttributeRepository.GetMinPriceByEventTicketDetailId(eventTicketDetailIdList) }; var currencyMapping = _currencyTypeRepository.GetByCurrencyId(eventTicketAttributeMapping.Where(s => s.IsEnabled == true).ToList().First().CurrencyId); List <string> eventCatMappings = new List <string>(); var eventCategoryDataModel = _eventCategoryRepository.GetByIds(eventCategoryMap.Select(s => s.EventCategoryId)); foreach (var eventCat in eventCategoryDataModel) { eventCatMappings.Add(eventCat.DisplayName); } var localDateTime = eventDetails.FirstOrDefault().StartDateTime.DayOfWeek + ", " + eventDetails.FirstOrDefault().StartDateTime.ToString(@"MMM dd, yyyy HH:mm", new CultureInfo("en-US")).ToUpper(); if (eventAttribute != null) { localDateTime = eventDetails.FirstOrDefault().StartDateTime.DayOfWeek + ", " + _localTimeZoneConvertProvider.ConvertToLocal(eventDetails.FirstOrDefault().StartDateTime, eventAttribute.TimeZone).ToString(@"MMM dd, yyyy HH:mm", new CultureInfo("en-US")).ToUpper(); } return(new CategoryEventContainer { CategoryEvent = Mapper.Map <Contracts.Models.CategoryEvent>(ce), EventType = eventObj.EventTypeId.ToString(), EventCategory = EventCategory, City = Mapper.Map <IEnumerable <City> >(cities), State = Mapper.Map <IEnumerable <State> >(states), Country = Mapper.Map <IEnumerable <Country> >(countries), Event = Mapper.Map <Event>(eventObj), EventDetail = Mapper.Map <IEnumerable <EventDetail> >(eventDetails), Rating = Mapper.Map <IEnumerable <Rating> >(eventRatings), CurrencyType = Mapper.Map <CurrencyType>(currencyMapping), Venue = Mapper.Map <IEnumerable <Venue> >(venues), EventTicketAttribute = Mapper.Map <IEnumerable <EventTicketAttribute> >(eventTicketAttributeMapping), EventCategories = eventCatMappings, LocalStartDateTime = localDateTime, TimeZoneAbbrivation = eventAttribute != null ? eventAttribute.TimeZoneAbbreviation : "UTC", EventFrequencyType = eventDetails.FirstOrDefault().EventFrequencyType, ParentCategory = parentCategory, LiveEventDetail = allLiveEventDetails.Where(s => s.EventId == ce.Id).FirstOrDefault() }); } catch (Exception e) { return(new CategoryEventContainer { }); } }); return(new FeelCategoryEventQueryResult { CategoryEvents = CategoryEventData.ToList(), CountryDescription = Mapper.Map <Contracts.Models.CountryDescription>(countryDescription), CityDescription = cityDescription, CountryContentMapping = Mapper.Map <List <CountryContentMapping> >(countryContents) }); } catch (Exception e) { return(new FeelCategoryEventQueryResult { }); } }