public void deleteCalendar(Event place) { try { var placeWeekDays = _placeWeekOpenDaysRepository.GetByEventId(place.Id).ToList(); var DayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDays(placeWeekDays.Select(s => s.Id).ToList()); var PlaceSeasonDetails = _placeSeasonDetailsRepository.GetByEventId(place.Id); var placeSeasonDays = _seasonDaysMappingsRepository.GetByPlaceSeasonDetailIds(PlaceSeasonDetails.Select(s => s.Id).ToList()); var seasonDaysTimeMappings = _seasonDayTimeMappingsRepository.GetAllSeasonDaysMappings(placeSeasonDays.Select(s => s.Id).ToList()); var specialDayTimeMappings = _placeSpecialDayTimeMappingsRepository.GetAllByEventId((place.Id)); foreach (FIL.Contracts.DataModels.DayTimeMappings currentDay in DayTimeMappings) { _dayTimeMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.PlaceWeekOpenDays currentDay in placeWeekDays) { _placeWeekOpenDaysRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.SeasonDaysTimeMapping currentDay in seasonDaysTimeMappings) { _seasonDayTimeMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.SeasonDaysTimeMapping currentDay in seasonDaysTimeMappings) { _seasonDayTimeMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.SeasonDaysMapping currentDay in placeSeasonDays) { _seasonDaysMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.PlaceSeasonDetails currentDay in PlaceSeasonDetails) { _placeSeasonDetailsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.PlaceSpecialDayTimeMappings currentDay in specialDayTimeMappings) { _placeSpecialDayTimeMappingsRepository.Delete(currentDay); } } catch (Exception e) { } }
protected override async Task <ICommandResult> Handle(EventScheduleCommand command) { try { var currentEvent = _eventRepository.Get(command.EventScheduleModel.EventId); var currentEventDetail = _eventDetailRepository.GetByEventId(command.EventScheduleModel.EventId); var placeWeekOpen = _placeWeekOpenDaysRepository.GetByEventId(command.EventScheduleModel.EventId); var dayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDays(placeWeekOpen.Select(s => s.Id).ToList()); if (currentEventDetail != null && command.EventFrequencyType == Contracts.Enums.EventFrequencyType.Recurring) { return(new EventScheduleCommandResult { Success = true, EventScheduleModel = command.EventScheduleModel }); } if (currentEventDetail != null && command.EventScheduleModel.EventDetailId == 0) { command.EventScheduleModel.EventDetailId = currentEventDetail.Id; } foreach (var currentDayTimeMapping in dayTimeMappings) { _dayTimeMappingsRepository.Delete(currentDayTimeMapping); } foreach (var currentPlaceWeekOpen in placeWeekOpen) { _placeWeekOpenDaysRepository.Delete(currentPlaceWeekOpen); } var eventDetail = SaveEventDetail(command, currentEvent); var placeWeekOpenDays = SavePlaceWeekOpenDays(command, currentEvent); SaveDayTimeMappings(command, placeWeekOpenDays); SaveEventAttribute(command, eventDetail); UpdateLiveEventDetails(eventDetail); command.EventScheduleModel.EventDetailId = eventDetail.Id; var eventStepDetail = _stepProvider.SaveEventStepDetails(eventDetail.EventId, command.CurrentStep, true, command.ModifiedBy); return(new EventScheduleCommandResult { Success = true, CompletedStep = eventStepDetail.CompletedStep, CurrentStep = eventStepDetail.CurrentStep, EventScheduleModel = command.EventScheduleModel }); } catch (Exception e) { _logger.Log(LogCategory.Error, e); return(new EventScheduleCommandResult { }); } }
public EventScheduleQueryResult Handle(EventScheduleQuery query) { try { FIL.Contracts.Models.CreateEventV1.EventScheduleModel eventScheduleModel = new FIL.Contracts.Models.CreateEventV1.EventScheduleModel(); var currentEvent = _eventRepository.Get(query.EventId); if (currentEvent == null) { return(new EventScheduleQueryResult { Success = true, EventScheduleModel = eventScheduleModel }); } var currentEventDetail = _eventDetailRepository.GetByEventId(query.EventId); if (currentEventDetail == null) { eventScheduleModel.EventFrequencyType = Contracts.Enums.EventFrequencyType.Single; eventScheduleModel.StartDateTime = DateTime.UtcNow; eventScheduleModel.EndDateTime = DateTime.UtcNow; return(new EventScheduleQueryResult { Success = true, IsValidLink = true, IsDraft = true, EventScheduleModel = eventScheduleModel }); } var eventAttribute = _eventAttributeRepository.GetByEventDetailId(currentEventDetail.Id); var placeWeekOpenDay = _placeWeekOpenDaysRepository.GetByEventId(currentEvent.Id).FirstOrDefault(); var dayTImeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDay(placeWeekOpenDay.Id).FirstOrDefault(); eventScheduleModel.DayId = (int)placeWeekOpenDay.DayId; eventScheduleModel.StartDateTime = currentEventDetail.StartDateTime; eventScheduleModel.EndDateTime = currentEventDetail.EndDateTime; eventScheduleModel.EventDetailId = currentEventDetail.Id; eventScheduleModel.IsEnabled = currentEventDetail.IsEnabled; eventScheduleModel.LocalStartTime = dayTImeMappings.StartTime; eventScheduleModel.LocalEndTime = dayTImeMappings.EndTime; eventScheduleModel.TimeZoneAbbrivation = eventAttribute.TimeZoneAbbreviation; eventScheduleModel.TimeZoneOffset = eventAttribute.TimeZone; eventScheduleModel.EventId = currentEvent.Id; eventScheduleModel.EventFrequencyType = currentEventDetail.EventFrequencyType; if (currentEventDetail.EventFrequencyType == Contracts.Enums.EventFrequencyType.Recurring) { eventScheduleModel.StartDateTime = currentEventDetail.StartDateTime; eventScheduleModel.EndDateTime = currentEventDetail.EndDateTime; eventScheduleModel.LocalStartTime = _localTimeZoneConvertProvider.ConvertToLocal(currentEventDetail.StartDateTime, eventAttribute.TimeZone).ToString(@"HH:mm", new CultureInfo("en-US")); eventScheduleModel.LocalEndTime = _localTimeZoneConvertProvider.ConvertToLocal(currentEventDetail.EndDateTime, eventAttribute.TimeZone).ToString(@"HH:mm", new CultureInfo("en-US")); } else { eventScheduleModel.EventFrequencyType = currentEventDetail.EventFrequencyType; } return(new EventScheduleQueryResult { Success = true, IsDraft = false, IsValidLink = true, EventScheduleModel = eventScheduleModel }); } catch (Exception e) { return(new EventScheduleQueryResult { IsValidLink = true, IsDraft = false }); } }
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 { }); } }
protected override async Task <ICommandResult> Handle(StripeConnectAccountCommand command) { try { var eventData = _eventRepository.GetByAltId(command.EventId); if (eventData != null) { var eventDetails = _eventDetailRepository.GetByEventId(eventData.Id); var eventTicketDetails = _eventTicketDetailRepository.GetByEventDetailId(eventDetails.Id); var ticketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetails.Select(s => s.TicketCategoryId)); var eventTicketAttributes = _eventTicketAttributeRepository.GetByEventTicketDetailId(eventTicketDetails.Select(s => s.Id)); var placeWeekOpenDay = _placeWeekOpenDaysRepository.GetByEventId(eventData.Id).FirstOrDefault(); var dayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDay(placeWeekOpenDay.Id).FirstOrDefault(); var eventCategoryMappings = _eventCategoryMappingRepository.GetByEventId(eventData.Id).FirstOrDefault(); var subCategory = _eventCategoryRepository.Get(eventCategoryMappings.EventCategoryId); var user = _userRepository.GetByAltId(eventData.CreatedBy); var currencyType = _currencyTypeRepository.Get(eventTicketAttributes.FirstOrDefault().CurrencyId); var eventAttribute = _eventAttributeRepository.GetByEventDetailId(eventDetails.Id); eventDetails.StartDateTime = _localTimeZoneConvertProvider.ConvertToLocal(eventDetails.StartDateTime, eventAttribute.TimeZone); var stripeConnectAccountId = command.IsStripeConnect ? _generateStripeConnectProvider.GenerateStripeAccessToken(command.AuthorizationCode, command.channels, eventData.Id) : null; if (stripeConnectAccountId != null && stripeConnectAccountId != "") { var eventStripeConnect = _eventStripeConnectMasterRepository.GetByEventId(eventData.Id); var eventStepDetails = _stepProvider.SaveEventStepDetails(eventData.Id, 9, true, command.ModifiedBy); var stripeConnnect = new EventStripeConnectMaster { Id = eventStripeConnect != null ? eventStripeConnect.Id : 0, StripeConnectAccountID = stripeConnectAccountId, CreatedBy = eventStripeConnect != null ? eventStripeConnect.CreatedBy : command.ModifiedBy, CreatedUtc = eventStripeConnect != null ? eventStripeConnect.CreatedUtc : DateTime.UtcNow, ExtraCommisionFlat = command.ExtraCommisionFlat, ExtraCommisionPercentage = command.ExtraCommisionPercentage, EventId = eventData.Id, IsEnabled = true, ModifiedBy = command.ModifiedBy, UpdatedBy = command.ModifiedBy, UpdatedUtc = DateTime.UtcNow, }; _eventStripeConnectMasterRepository.Save(stripeConnnect); } return(new StripeConnectAccountCommandResult { Success = true, EventTicketAttribute = eventTicketAttributes.ToList(), DayTimeMappings = dayTimeMappings, Event = eventData, EventDetail = eventDetails, EventTicketDetail = eventTicketDetails.ToList(), TicketCategories = ticketCategories.ToList(), ParentCategoryId = subCategory.EventCategoryId, CurrencyType = currencyType, Email = user.Email }); } else { return(new StripeConnectAccountCommandResult { }); } } catch (Exception e) { _logger.Log(FIL.Logging.Enums.LogCategory.Error, e); return(new StripeConnectAccountCommandResult { }); } }
public FeelEventLearnPageQueryResult Handle(FeelEventLearnPageQuery query) { EventLearnPageQueryResults eventLearnMorePage = new EventLearnPageQueryResults(); if (!String.IsNullOrWhiteSpace(query.Slug)) { eventLearnMorePage = _eventLearnPageProvider.GetBySlug(query.Slug); } else { eventLearnMorePage = _eventLearnPageProvider.GetByAltId(query.EventAltId); } if (eventLearnMorePage.Event != null) { var eventCategoryMappings = _eventCategoryMappingRepository.GetByEventId(eventLearnMorePage.Event.Id).FirstOrDefault(); if (eventCategoryMappings == null) { return(new FeelEventLearnPageQueryResult()); } var subCategoryDataModel = _eventCategoryRepository.Get(eventCategoryMappings.EventCategoryId); var subCategory = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(subCategoryDataModel); var categoryDataModel = _eventCategoryRepository.Get(subCategory.EventCategoryId); var category = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(categoryDataModel); var clientPointOfContact = _clientPointOfContactRepository.Get(eventLearnMorePage.Event.ClientPointOfContactId); var clientPointOfContactModel = AutoMapper.Mapper.Map <Contracts.Models.ClientPointOfContact>(clientPointOfContact); var eventTicketDetails = _eventTicketDetailRepository.GetByEventDetailId(eventLearnMorePage.EventDetail.Id).Where(s => s.IsEnabled == true); var EventTicketDetailModel = AutoMapper.Mapper.Map <List <Contracts.Models.EventTicketDetail> >(eventTicketDetails); var eventTicketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetails.Select(s => s.TicketCategoryId).Distinct()); var eventTicketCategoriesModel = AutoMapper.Mapper.Map <List <Contracts.Models.TicketCategory> >(eventTicketCategories); var eventTicketAttributes = _eventTicketAttributeRepository.GetByEventTicketDetailId(eventTicketDetails.Select(s => s.Id).Distinct()); var eventTicketAttributesModel = AutoMapper.Mapper.Map <List <Contracts.Models.EventTicketAttribute> >(eventTicketAttributes); if (eventTicketAttributesModel.Count() == 0) { return(new FeelEventLearnPageQueryResult { }); } var currencyMapping = _currencyTypeRepository.GetByCurrencyId(eventTicketAttributesModel.First().CurrencyId); var ratingDataModel = _ratingRepository.GetByEventId(eventLearnMorePage.Event.Id); var ratingModel = AutoMapper.Mapper.Map <List <Contracts.Models.Rating> >(ratingDataModel); var userdataModel = _userRepository.GetByUserIds(ratingModel.Select(s => s.UserId).Distinct()); var userModel = AutoMapper.Mapper.Map <List <Contracts.Models.UserProfile> >(userdataModel); var eventAmenities = _eventAmenityRepository.GetByEventId(eventLearnMorePage.Event.Id); var eventLearnMoreAttributes = _eventLearnMoreAttributeRepository.GetByEventId(eventLearnMorePage.Event.Id); var learnMoreAttributes = AutoMapper.Mapper.Map <List <Contracts.Models.EventLearnMoreAttribute> >(eventLearnMoreAttributes); var ticketAlertEventMapping = _ticketAlertEventMappingRepository.GetByEventId(eventCategoryMappings.EventId).FirstOrDefault(); List <string> EventAmenitiesList = new List <string>(); foreach (var item in eventAmenities) { var amenities = _amenityRepository.Get(item.AmenityId); EventAmenitiesList.Add((amenities.Amenity).ToString()); } var data = _calendarProvider.GetCalendarData(eventLearnMorePage.Event.Id); //For Hoho Routes var citySightSeeingRoute = _citySightSeeingRouteRepository.GetByEventDetailId(eventLearnMorePage.EventDetail.Id); var citySightSeeingRouteDetails = _citySightSeeingRouteDetailRepository.GetByCitySightSeeingRouteIds(citySightSeeingRoute.Select(s => s.Id)); //for Tiqets Places Contracts.Models.Tiqets.TiqetProductCheckoutDetail tiqetCheckoutDetailsModel = new Contracts.Models.Tiqets.TiqetProductCheckoutDetail(); if (eventLearnMorePage.Event.EventSourceId == EventSource.Tiqets) { var tiqetEventDetailMapping = _tiqetEventDetailMappingRepository.GetByEventDetailId(eventLearnMorePage.EventDetail.Id); var tiqetCheckoutDetails = _tiqetProductCheckoutDetailRepository.GetByProductId(tiqetEventDetailMapping.ProductId); tiqetCheckoutDetailsModel = Mapper.Map <Contracts.Models.Tiqets.TiqetProductCheckoutDetail>(tiqetCheckoutDetails); } //For Live Online Events List <EventHostMapping> eventHostMappings = new List <EventHostMapping>(); DateTime formattedDateTime = new DateTime(); string eventDateTimeZome = string.Empty; if (eventLearnMorePage.Event.MasterEventTypeId == MasterEventType.Online) { var eventHostMappingModel = _eventHostMappingRepository.GetAllByEventId(eventLearnMorePage.Event.Id); eventHostMappings = AutoMapper.Mapper.Map <List <Contracts.Models.EventHostMapping> >(eventHostMappingModel); var placeWeekOpenDays = _placeWeekOpenDaysRepository.GetByEventId(eventLearnMorePage.Event.Id).FirstOrDefault(); var dayTimeMapping = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDay(placeWeekOpenDays.Id).FirstOrDefault(); var eventAttribute = _eventAttributeRepository.GetByEventDetailId(eventLearnMorePage.EventDetail.Id); //Getting Datetime for online Event var eventDate = _localTimeZoneConvertProvider.ConvertToLocal(eventLearnMorePage.EventDetail.StartDateTime, eventAttribute.TimeZone); var dateTimeString = eventDate.ToString("yyyy/MM/dd") + " " + dayTimeMapping.StartTime + ":00.000"; formattedDateTime = DateTime.Parse(dateTimeString); eventDateTimeZome = eventAttribute.TimeZoneAbbreviation; } return(new FeelEventLearnPageQueryResult { EventType = (EventType)eventLearnMorePage.EventType, EventCategory = eventLearnMorePage.EventCategory, Event = eventLearnMorePage.Event, EventDetail = eventLearnMorePage.EventDetail, Venue = eventLearnMorePage.Venue, City = eventLearnMorePage.City, State = eventLearnMorePage.State, Country = eventLearnMorePage.Country, EventTicketAttribute = eventTicketAttributesModel, EventTicketDetail = EventTicketDetailModel, CurrencyType = Mapper.Map <CurrencyType>(currencyMapping), Rating = ratingModel, TicketCategory = eventTicketCategoriesModel, User = userModel, EventAmenitiesList = EventAmenitiesList, ClientPointOfContact = clientPointOfContactModel, EventGalleryImage = eventLearnMorePage.EventGalleryImage, EventLearnMoreAttributes = learnMoreAttributes, RegularTimeModel = data.RegularTimeModel, SeasonTimeModel = data.SeasonTimeModel, SpecialDayModel = data.SpecialDayModel, Category = category, SubCategory = subCategory, CitySightSeeingRoutes = Mapper.Map <IEnumerable <FIL.Contracts.Models.CitySightSeeing.CitySightSeeingRoute> >(citySightSeeingRoute), CitySightSeeingRouteDetails = Mapper.Map <IEnumerable <FIL.Contracts.Models.CitySightSeeing.CitySightSeeingRouteDetail> >(citySightSeeingRouteDetails), TiqetsCheckoutDetails = tiqetCheckoutDetailsModel, EventHostMappings = eventHostMappings, OnlineStreamStartTime = formattedDateTime, OnlineEventTimeZone = eventDateTimeZome, TicketAlertEventMapping = ticketAlertEventMapping }); } return(new FeelEventLearnPageQueryResult()); }
public GetPlaceInventoryQueryResult GetCalendarData(long eventId) { /*-------------------------- Regular Time --------------------------*/ var placeWeekOpenDays = _placeWeekOpenDaysRepository.GetByEventId(eventId).ToList(); var allDays = _daysRepository.GetAll().ToList(); var regular = new RegularViewModel(); if (placeWeekOpenDays.Any()) { bool[] openDays = new bool[8]; var i = 0; foreach (FIL.Contracts.DataModels.PlaceWeekOpenDays currentPlaceWeek in placeWeekOpenDays) { openDays[currentPlaceWeek.DayId] = true; i = i + 1; } if (i == 7) { openDays[0] = true; } if (placeWeekOpenDays[0].IsSameTime) { i = 0; var dayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDay(placeWeekOpenDays[0].Id).ToList(); List <TimeViewModel> timeModels = new List <TimeViewModel>(); List <CustomTimeModelData> customTimeModels = new List <CustomTimeModelData>(); foreach (FIL.Contracts.DataModels.DayTimeMappings daysTime in dayTimeMappings) { var newTimeModel = new TimeViewModel(); newTimeModel.Id = i + 1; newTimeModel.From = daysTime.StartTime; newTimeModel.To = daysTime.EndTime; i = i + 1; timeModels.Add(newTimeModel); } regular.TimeModel = timeModels; i = 0; foreach (FIL.Contracts.DataModels.PlaceWeekOpenDays currentPlaceWeek in placeWeekOpenDays) { var newCustomTimeModel = new CustomTimeModelData(); timeModels = new List <TimeViewModel>(); var newTimeModel = new TimeViewModel(); var currentDay = _daysRepository.Get(currentPlaceWeek.DayId); newCustomTimeModel.Id = i + 1; newCustomTimeModel.Day = currentDay.Name; newTimeModel.Id = i + 1; newTimeModel.From = ""; newTimeModel.To = ""; timeModels.Add(newTimeModel); newCustomTimeModel.Time = timeModels; customTimeModels.Add(newCustomTimeModel); i = i + 1; } regular.CustomTimeModel = customTimeModels; } else if (!placeWeekOpenDays[0].IsSameTime) { i = 0; var dayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDay(placeWeekOpenDays[0].Id).ToList(); List <TimeViewModel> timeModels = new List <TimeViewModel>(); List <CustomTimeModelData> customTimeModels = new List <CustomTimeModelData>(); var newTimeModel = new TimeViewModel(); newTimeModel.Id = i + 1; newTimeModel.From = ""; newTimeModel.To = ""; timeModels.Add(newTimeModel); regular.TimeModel = timeModels; i = 0; foreach (FIL.Contracts.DataModels.PlaceWeekOpenDays currentPlaceWeek in placeWeekOpenDays) { var newCustomTimeModel = new CustomTimeModelData(); var currentDayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDay(currentPlaceWeek.Id).ToList(); var currentDay = _daysRepository.Get(currentPlaceWeek.DayId); timeModels = new List <TimeViewModel>(); var index = 0; foreach (FIL.Contracts.DataModels.DayTimeMappings currentTime in currentDayTimeMappings) { var currentTimeModel = new TimeViewModel(); currentTimeModel.Id = index + 1; currentTimeModel.From = currentTime.StartTime; currentTimeModel.To = currentTime.EndTime; timeModels.Add(currentTimeModel); index = index + 1; } newCustomTimeModel.Time = timeModels; newCustomTimeModel.Day = currentDay.Name; newCustomTimeModel.Id = i + 1; customTimeModels.Add(newCustomTimeModel); i = i + 1; } regular.CustomTimeModel = customTimeModels; } regular.IsSameTime = placeWeekOpenDays[0].IsSameTime; regular.DaysOpen = openDays.OfType <bool>().ToList(); } else { if (regular.CustomTimeModel == null) { regular.CustomTimeModel = new List <CustomTimeModelData>(); } if (regular.TimeModel == null) { regular.TimeModel = new List <TimeViewModel>(); } if (regular.DaysOpen == null) { bool[] openDays = new bool[8]; regular.DaysOpen = openDays.OfType <bool>().ToList(); } regular.IsSameTime = true; } /*-------------------------- Season Time --------------------------*/ var season = new List <SeasonViewModel>(); var placeSeasonDetails = _placeSeasonDetailsRepository.GetByEventId(eventId).ToList(); var seasonIndex = 0; foreach (FIL.Contracts.DataModels.PlaceSeasonDetails currentSeason in placeSeasonDetails) { var seasonDaysMappings = _seasonDaysMappingsRepository.GetByPlaceSeasonDetailId(currentSeason.Id).ToList(); var newSeasonViewModel = new SeasonViewModel(); List <TimeViewModel> timeModelList = new List <TimeViewModel>(); List <SpeecialDateSeasonTimeViewModel> speecialDateSeasonTimeList = new List <SpeecialDateSeasonTimeViewModel>(); bool[] openDays = new bool[8]; if (currentSeason.IsSameTime && seasonDaysMappings.Any()) { var seasonSameTiming = _seasonDayTimeMappingsRepository.GetSeasonDaysMappings(seasonDaysMappings[0].Id).ToList(); var timeIndex = 0; foreach (FIL.Contracts.DataModels.SeasonDaysTimeMapping currentSeasonTime in seasonSameTiming) { var timeModel = new TimeViewModel(); timeModel.Id = timeIndex; timeModel.From = currentSeasonTime.StartTime; timeModel.To = currentSeasonTime.EndTime; timeIndex = timeIndex + 1; timeModelList.Add(timeModel); } timeIndex = 0; foreach (FIL.Contracts.DataModels.SeasonDaysMapping currentSeasonDay in seasonDaysMappings) { var speecialDateSeasonTime = new SpeecialDateSeasonTimeViewModel(); var currentDay = _daysRepository.Get(currentSeasonDay.DayId); var timeModels = new List <TimeViewModel>(); var timeModel = new TimeViewModel(); timeModel.Id = 1; timeModel.From = ""; timeModel.To = ""; timeModels.Add(timeModel); speecialDateSeasonTime.Id = timeIndex + 1; speecialDateSeasonTime.Day = currentDay.Name; speecialDateSeasonTime.Time = timeModels; openDays[currentSeasonDay.DayId] = true; timeIndex = timeIndex + 1; speecialDateSeasonTimeList.Add(speecialDateSeasonTime); } } else if (!currentSeason.IsSameTime) { var timeIndex = 0; var timeModel = new TimeViewModel(); timeModel.Id = 1; timeModel.From = ""; timeModel.To = ""; timeModelList.Add(timeModel); foreach (FIL.Contracts.DataModels.SeasonDaysMapping currentSeasonDay in seasonDaysMappings) { var speecialDateSeasonTime = new SpeecialDateSeasonTimeViewModel(); var currentDay = _daysRepository.Get(currentSeasonDay.DayId); var timeModels = new List <TimeViewModel>(); var seasonSpecialTime = _seasonDayTimeMappingsRepository.GetSeasonDaysMappings(currentSeasonDay.Id); var seasonTimeIndex = 0; foreach (FIL.Contracts.DataModels.SeasonDaysTimeMapping currentSeasonDayTime in seasonSpecialTime) { timeModel = new TimeViewModel(); timeModel.Id = seasonTimeIndex + 1; timeModel.To = currentSeasonDayTime.EndTime; timeModel.From = currentSeasonDayTime.StartTime; timeModels.Add(timeModel); seasonTimeIndex = seasonTimeIndex + 1; } openDays[currentSeasonDay.DayId] = true; speecialDateSeasonTime.Id = timeIndex + 1; speecialDateSeasonTime.Day = currentDay.Name; speecialDateSeasonTime.Time = timeModels; speecialDateSeasonTimeList.Add(speecialDateSeasonTime); timeIndex = timeIndex + 1; } } newSeasonViewModel.Id = seasonIndex + 1; newSeasonViewModel.SameTime = timeModelList; newSeasonViewModel.Time = speecialDateSeasonTimeList; newSeasonViewModel.StartDate = currentSeason.StartDate.AddHours(5).AddMinutes(30); newSeasonViewModel.EndDate = currentSeason.EndDate.AddHours(5).AddMinutes(30); newSeasonViewModel.Name = currentSeason.Name; newSeasonViewModel.IsSameTime = currentSeason.IsSameTime; newSeasonViewModel.DaysOpen = openDays.OfType <bool>().ToList(); seasonIndex = seasonIndex + 1; season.Add(newSeasonViewModel); } /*-------------------------- Special day/Holiday Time --------------------------*/ var specialDay = new List <SpecialDayViewModel>(); var specialDays = _placeSpecialDayTimeMappingsRepository.GetAllByEventId(eventId); var specialDayindex = 0; foreach (FIL.Contracts.DataModels.PlaceSpecialDayTimeMappings currentSpecialDay in specialDays) { var newSpecialDay = new SpecialDayViewModel(); newSpecialDay.Id = specialDayindex + 1; newSpecialDay.Name = currentSpecialDay.Name; newSpecialDay.From = currentSpecialDay.StartTime; newSpecialDay.To = currentSpecialDay.EndTime; newSpecialDay.SpecialDate = currentSpecialDay.SpecialDate.AddHours(5).AddMinutes(30); specialDayindex = specialDayindex + 1; specialDay.Add(newSpecialDay); } return(new GetPlaceInventoryQueryResult { SeasonTimeModel = season, SpecialDayModel = specialDay, RegularTimeModel = regular }); }