protected void UpdateEventDetail(FIL.Contracts.Commands.CreateEventV1.EventRecurranceCommand eventRecurranceCommand) { var scheduleDetails = _getScheduleDetailProvider.GetScheduleDetails(eventRecurranceCommand.EventId, DateTime.UtcNow, DateTime.UtcNow, true).FirstOrDefault(); var eventDetail = _eventDetailRepository.GetByEventId(eventRecurranceCommand.EventId); eventDetail.StartDateTime = scheduleDetails.StartDateTime; eventDetail.EndDateTime = scheduleDetails.EndDateTime; eventDetail.IsEnabled = true; _eventDetailRepository.Save(eventDetail); }
public List <FIL.Contracts.DataModels.ScheduleDetail> GetScheduleDetails(FIL.Contracts.Commands.CreateEventV1.EventRecurranceCommand eventRecurranceCommand) { List <FIL.Contracts.DataModels.ScheduleDetail> eventSchedules = new List <Contracts.DataModels.ScheduleDetail>(); if (eventRecurranceCommand.ActionType == Contracts.Commands.CreateEventV1.ActionType.BulkDelete) { var alleventSchedules = _eventScheduleRepository.GetAllByEventId(eventRecurranceCommand.EventId); var eventDetails = _eventDetailRepository.GetByEventId(eventRecurranceCommand.EventId); var eventAttributes = _eventAttributeRepository.GetByEventDetailId(eventDetails.Id); var StartDate = eventRecurranceCommand.StartDateTime; // new DateTime(eventRecurranceCommand.StartDateTime.Year, eventRecurranceCommand.StartDateTime.Month, eventRecurranceCommand.StartDateTime.Day).ToUniversalTime(); var EndDate = eventRecurranceCommand.EndDateTime; // new DateTime(eventRecurranceCommand.EndDateTime.Year, eventRecurranceCommand.EndDateTime.Month, eventRecurranceCommand.EndDateTime.Day).ToUniversalTime(); var scheduleDetails = _scheduleDetailRepository.GetAllByEventScheduleIds(alleventSchedules.Select(s => s.Id).ToList()).Where(s => s.StartDateTime.Date >= StartDate.Date && s.EndDateTime.Date <= EndDate.Date).OrderBy(s => s.StartDateTime).ToList(); foreach (var scheduleDetail in scheduleDetails) { var startDate = _localTimeZoneConvertProvider.ConvertToLocal(scheduleDetail.StartDateTime, eventAttributes.TimeZone); var endDate = _localTimeZoneConvertProvider.ConvertToLocal(scheduleDetail.EndDateTime, eventAttributes.TimeZone); if (startDate.ToString(@"HH:mm", new CultureInfo("en-US")) == eventRecurranceCommand.LocalStartTime && endDate.ToString(@"HH:mm", new CultureInfo("en-US")) == eventRecurranceCommand.LocalEndTime) { eventSchedules.Add(scheduleDetail); } } return(eventSchedules); // return scheduleDetails.Where(s => s.StartDateTime.ToString(@"HH:mm", new CultureInfo("en-US")) == eventRecurranceCommand.StartDateTime.ToString(@"HH:mm", new CultureInfo("en-US")) && s.EndDateTime.ToString(@"HH:mm", new CultureInfo("en-US")) == eventRecurranceCommand.EndDateTime.ToString(@"HH:mm", new CultureInfo("en-US"))).ToList(); } else { var scheduleDetail = _scheduleDetailRepository.Get(eventRecurranceCommand.ScheduleDetailId); eventSchedules.Add(scheduleDetail); return(eventSchedules); } }
protected override async Task <ICommandResult> Handle(EventPerformanceCommand command) { try { var eventDetail = _eventDetailRepository.GetByEventId(command.EventId); var liveEventDetail = SaveLiveEventDetail(command, eventDetail); var eventData = _eventRepository.Get(eventDetail.EventId); command.PerformanceTypeModel.Id = liveEventDetail.Id; command.PerformanceTypeModel.EventId = command.EventId; var eventStepDetail = _stepProvider.SaveEventStepDetails(command.EventId, command.CurrentStep, true, command.ModifiedBy); return(new EventPerformanceCommandResult { Success = true, EventId = command.EventId, EventAltId = eventData.AltId, OnlineEventType = command.PerformanceTypeModel.OnlineEventTypeId.ToString(), CompletedStep = eventStepDetail.CompletedStep, CurrentStep = eventStepDetail.CurrentStep, PerformanceTypeModel = command.PerformanceTypeModel }); } catch (Exception e) { _logger.Log(LogCategory.Error, e); return(new EventPerformanceCommandResult { }); } }
public EventLearnPageQueryResults GetEventResult(Event eventDataModel) { var eventModel = AutoMapper.Mapper.Map <Contracts.Models.Event>(eventDataModel); var eventDetailDataModel = _eventDetailRepository.GetByEventId(eventDataModel.Id); var eventDetailModel = AutoMapper.Mapper.Map <Contracts.Models.EventDetail>(eventDetailDataModel); if (eventDetailModel == null) { return(new EventLearnPageQueryResults { }); } var venueDataModel = _venueRepository.Get(eventDetailDataModel.VenueId); var venueModel = AutoMapper.Mapper.Map <Contracts.Models.Venue>(venueDataModel); var cityDataModel = _cityRepository.Get(venueDataModel.CityId); var cityModel = AutoMapper.Mapper.Map <Contracts.Models.City>(cityDataModel); var stateDataModel = _stateRepository.Get(cityDataModel.StateId); var stateModel = AutoMapper.Mapper.Map <Contracts.Models.State>(stateDataModel); var countryDataModel = _countryRepository.Get(stateDataModel.CountryId); var countryModel = AutoMapper.Mapper.Map <Contracts.Models.Country>(countryDataModel); var eventGallaryDataModel = _eventGalleryImageRepository.GetByEventId(eventModel.Id); var galleryDataModel = AutoMapper.Mapper.Map <List <Contracts.Models.EventGalleryImage> >(eventGallaryDataModel); //if (eventModel.EventSourceId == EventSource.ExperienceOz) //{ var eventCategoryIds = new HashSet <int>(_eventCategoryMappingRepository.GetByEventId((int)eventModel.Id) .Select(ce => ce.EventCategoryId)); eventModel.EventCategoryId = (Int16)eventCategoryIds.FirstOrDefault(); //} var eventCategoryDataModel = _eventCategoryRepository.Get(eventModel.EventCategoryId); var eventCategoryModel = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(eventCategoryDataModel); return(new EventLearnPageQueryResults { EventType = (EventType)eventModel.EventTypeId, EventCategory = eventCategoryModel, Event = eventModel, EventDetail = eventDetailModel, Venue = venueModel, City = cityModel, State = stateModel, Country = countryModel, EventGalleryImage = galleryDataModel }); }
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 { }); } }
private void UpdateEventDetailName(EventDetailsCommand command) { var eventDetail = _eventDetailRepository.GetByEventId(command.EventDetail.EventId); if (eventDetail != null) { eventDetail.Name = command.EventDetail.Name; eventDetail.IsEnabled = true; eventDetail.CreatedUtc = eventDetail.Id != 0 ? eventDetail.CreatedUtc : DateTime.UtcNow; eventDetail.UpdatedUtc = eventDetail.Id != 0 ? DateTime.UtcNow : eventDetail.CreatedUtc; eventDetail.CreatedBy = eventDetail.Id != 0 ? eventDetail.CreatedBy : command.ModifiedBy; eventDetail.UpdatedBy = command.ModifiedBy; eventDetail.ModifiedBy = command.ModifiedBy; _eventDetailRepository.Save(eventDetail); } }
protected override async Task <ICommandResult> Handle(CreateTicketCommand command) { try { List <FIL.Contracts.Models.CreateEventV1.TicketModel> ticketModelList = new List <FIL.Contracts.Models.CreateEventV1.TicketModel>(); var eventDetail = _eventDetailRepository.GetByEventId(command.EventId); var etdTicketCategoryMapping = _eventTicketDetailTicketCategoryTypeMappingRepository.GetByEventTicketDetails(command.Tickets.Select(s => s.ETDId).ToList()); var eventTicketDetails = _eventTicketDetailRepository.GetByEventDetailId(eventDetail.Id).ToList(); var eventTicketAttributes = _eventTicketAttributeRepository.GetByEventTicketDetailIds(eventTicketDetails.Select(s => s.Id).ToList()).ToList(); var currency = _currencyTypeRepository.Get(command.Tickets.FirstOrDefault().CurrencyId); foreach (var currentEta in eventTicketAttributes) { currentEta.CurrencyId = currency.Id; _eventTicketAttributeRepository.Save(currentEta); } eventTicketDetails = eventTicketDetails.Where(s => command.Tickets.Any(p => p.ETDId == s.Id)).ToList(); eventTicketAttributes = eventTicketAttributes.Where(s => command.Tickets.Any(p => p.ETDId == s.EventTicketDetailId)).ToList(); foreach (var ticketModel in command.Tickets) { ticketModel.CurrencyCode = currency.Code; ticketModel.TicketCategoryId = SaveTicketCategory(command, ticketModel).Id; var etd = SaveEventTicketDetails(command, ticketModel, eventDetail, eventTicketDetails); ticketModel.ETDId = etd.Id; ticketModel.TicketAltId = etd.AltId; var currentEventTicketAttribute = SaveEventTicketAttribute(command, ticketModel, eventTicketAttributes); SaveEventticketDetailTicketCategoryTypeMappings(command, ticketModel); SaveTicketDiscount(command, currentEventTicketAttribute.Id, eventDetail.Name); ticketModelList.Add(ticketModel); } SaveEventStripeMappings(command.EventId, command.Tickets.FirstOrDefault().CurrencyId); SaveDonationDetail(command); var eventStepDetail = _stepProvider.SaveEventStepDetails(command.EventId, command.CurrentStep, true, command.ModifiedBy); return(new CreateTicketCommandResult { Tickets = ticketModelList, CompletedStep = eventStepDetail.CompletedStep, CurrentStep = eventStepDetail.CurrentStep, Success = true }); } catch (Exception e) { _logger.Log(LogCategory.Error, e); return(new CreateTicketCommandResult { }); } }
public FIL.Contracts.DataModels.CurrencyType GetEventCurrency(FIL.Contracts.DataModels.Event @event) { try { var eventDetails = _eventDetailRepository.GetByEventId(@event.Id); var eventTicketDetail = _eventTicketDetailRepository.GetByEventDetailId(eventDetails.Id).FirstOrDefault(); var eventTicketAttribute = _eventTicketAttributeRepository.GetByEventTicketDetailId(eventTicketDetail.Id); var currency = _currencyTypeRepository.Get(eventTicketAttribute.CurrencyId); return(currency); } catch (Exception e) { _logger.Log(FIL.Logging.Enums.LogCategory.Error, e); return(new FIL.Contracts.DataModels.CurrencyType { }); } }
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 List <FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel> GetScheduleDetails(long EventId, DateTime StartDate, DateTime EndDate, bool IsGetDateRange = false, bool IsGetAll = false ) { List <FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel> eventRecurranceScheduleModels = new List <FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel>(); var allScheduleDetails = new List <FIL.Contracts.DataModels.ScheduleDetail>(); var eventSchedules = _eventScheduleRepository.GetAllByEventId(EventId); var eventDetails = _eventDetailRepository.GetByEventId(EventId); if (eventDetails == null && IsGetDateRange) { return(eventRecurranceScheduleModels); } var eventAttributes = _eventAttributeRepository.GetByEventDetailId(eventDetails.Id); if (IsGetDateRange) { allScheduleDetails = _scheduleDetailRepository.GetAllByEventScheduleIds(eventSchedules.Select(s => s.Id).ToList()).ToList(); FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel eventRecurranceScheduleModel = new FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel(); if (!allScheduleDetails.Any()) { return(eventRecurranceScheduleModels); } eventRecurranceScheduleModel.StartDateTime = allScheduleDetails.OrderBy(s => s.StartDateTime).FirstOrDefault().StartDateTime; eventRecurranceScheduleModel.EndDateTime = allScheduleDetails.OrderBy(s => s.StartDateTime).LastOrDefault().EndDateTime; eventRecurranceScheduleModels.Add(eventRecurranceScheduleModel); return(eventRecurranceScheduleModels); } allScheduleDetails = _scheduleDetailRepository.GetAllByEventScheduleIds(eventSchedules.Select(s => s.Id).ToList()).OrderBy(s => s.StartDateTime).ToList(); var scheduleDetails = allScheduleDetails.OrderBy(s => s.StartDateTime).ToList(); if (!IsGetAll) { scheduleDetails = allScheduleDetails.Where(s => s.StartDateTime >= new DateTime(StartDate.Year, StartDate.Month, StartDate.Day, 00, 00, 00).ToUniversalTime() && s.EndDateTime <= new DateTime(EndDate.Year, EndDate.Month, EndDate.Day, 23, 59, 00).ToUniversalTime()).OrderBy(s => s.StartDateTime).ToList(); } foreach (var scheduleDetail in scheduleDetails) { FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel eventRecurranceScheduleModel = new FIL.Contracts.Models.CreateEventV1.EventRecurranceScheduleModel(); var currentEventSchedule = eventSchedules.Where(s => s.Id == scheduleDetail.EventScheduleId).FirstOrDefault(); var startDate = _localTimeZoneConvertProvider.ConvertToLocal(scheduleDetail.StartDateTime, eventAttributes.TimeZone); var endDate = _localTimeZoneConvertProvider.ConvertToLocal(scheduleDetail.EndDateTime, eventAttributes.TimeZone); eventRecurranceScheduleModel.EventScheduleId = currentEventSchedule.Id; eventRecurranceScheduleModel.DayIds = currentEventSchedule.DayId; eventRecurranceScheduleModel.ScheduleDetailId = scheduleDetail.Id; eventRecurranceScheduleModel.IsEnabled = scheduleDetail.IsEnabled; eventRecurranceScheduleModel.StartDateTime = scheduleDetail.StartDateTime; eventRecurranceScheduleModel.EndDateTime = scheduleDetail.EndDateTime; eventRecurranceScheduleModel.LocalStartDateTime = startDate; eventRecurranceScheduleModel.LocalEndDateTime = endDate; eventRecurranceScheduleModel.EventScheduleStartDateTime = allScheduleDetails.FirstOrDefault().StartDateTime; eventRecurranceScheduleModel.EventScheduleEndDateTime = allScheduleDetails.LastOrDefault().EndDateTime; eventRecurranceScheduleModel.LocalStartTime = startDate.ToString(@"HH:mm", new CultureInfo("en-US")); eventRecurranceScheduleModel.LocalEndTime = endDate.ToString(@"HH:mm", new CultureInfo("en-US")); eventRecurranceScheduleModel.LocalStartDateString = startDate.DayOfWeek + ", " + startDate.ToString(@"MMM dd, yyyy", new CultureInfo("en-US")); eventRecurranceScheduleModel.LocalEndDateString = endDate.DayOfWeek + ", " + endDate.ToString(@"MMM dd, yyyy", new CultureInfo("en-US")); eventRecurranceScheduleModel.LocalEventScheduleStartDateTimeString = allScheduleDetails.FirstOrDefault().StartDateTime.DayOfWeek + ", " + allScheduleDetails.FirstOrDefault().StartDateTime.ToString(@"MMM dd, yyyy", new CultureInfo("en-US")); eventRecurranceScheduleModel.LocalEventScheduleEndDateTimeString = allScheduleDetails.LastOrDefault().EndDateTime.DayOfWeek + ", " + allScheduleDetails.LastOrDefault().EndDateTime.ToString(@"MMM dd, yyyy", new CultureInfo("en-US")); eventRecurranceScheduleModels.Add(eventRecurranceScheduleModel); } return(eventRecurranceScheduleModels); }
//FinancDetailsByIdQueryResults IQueryHandler<FinancDetailsByIdQuery, FinancDetailsByIdQueryResults>.Handle(FinancDetailsByIdQuery query) public FinancDetailsByIdQueryResults Handle(FinancDetailsByIdQuery query) { FIL.Contracts.DataModels.FinanceDetail financeDetails = new FIL.Contracts.DataModels.FinanceDetail(); FIL.Contracts.DataModels.EventDetail eventDetail = new FIL.Contracts.DataModels.EventDetail(); FIL.Contracts.DataModels.Event eventRes = new FIL.Contracts.DataModels.Event(); FIL.Contracts.DataModels.Venue venueDetail = new FIL.Contracts.DataModels.Venue(); FIL.Contracts.DataModels.Venue venueDetailRes = new FIL.Contracts.DataModels.Venue(); FIL.Contracts.DataModels.City cityDetailRes = new Contracts.DataModels.City(); FIL.Contracts.DataModels.State stateDetailRes = new Contracts.DataModels.State(); FIL.Contracts.DataModels.Country countryDetailRes = new Contracts.DataModels.Country(); var eventResult = _eventRepository.GetByAltId(query.EventId); var eventDetailRes = _eventDetailRepository.GetByEventId(eventResult.Id); var financedetail = _financeDetailRepository.GetFinanceDetailsByEventId(eventResult.Id); if (eventDetailRes != null) { venueDetailRes = _venueRepository.GetByVenueId((int)eventDetailRes.VenueId); if (venueDetailRes != null) { cityDetailRes = _cityRepository.GetByCityId(venueDetailRes.CityId); } if (cityDetailRes != null) { stateDetailRes = _stateRepository.GetByStateId(cityDetailRes.StateId); } if (stateDetailRes != null) { countryDetailRes = _countryRepository.GetByCountryId(stateDetailRes.CountryId); } } var resultdata = new FinancDetailsByIdQueryResults(); if (financedetail != null) { resultdata.FirstName = financedetail.FirstName; resultdata.Id = financedetail.Id; resultdata.LastName = financedetail.LastName; resultdata.AccountNickName = financedetail.AccountNickName; resultdata.BankName = financedetail.BankName; resultdata.BankAccountType = financedetail.BankAccountType; resultdata.BankName = financedetail.BankName; resultdata.PANNo = financedetail.PANNo; resultdata.RoutingNo = financedetail.RoutingNo; resultdata.GSTNo = financedetail.GSTNo; resultdata.AccountNo = financedetail.AccountNo; resultdata.AccountNickName = financedetail.AccountNickName; resultdata.CountryId = financedetail.CountryId; resultdata.StateId = financedetail.StateId; resultdata.CurrencyId = financedetail.CurrencyId; resultdata.FinancialsAccountBankAccountGSTInfo = financedetail.FinancialsAccountBankAccountGSTInfo; } resultdata.EventId = eventResult.Id; if (venueDetailRes != null) { resultdata.location = venueDetailRes.Name; resultdata.address1 = venueDetailRes.AddressLineOne; resultdata.address2 = venueDetailRes.AddressLineOne; } if (eventDetailRes != null) { resultdata.EventDetailId = (int)(eventDetailRes.Id); } if (stateDetailRes != null) { resultdata.state = stateDetailRes.Name; } if (cityDetailRes != null) { resultdata.city = cityDetailRes.Name; } if (countryDetailRes != null) { resultdata.country = countryDetailRes.Name; } return(resultdata); }
public TicketQueryResult Handle(TicketQuery query) { try { List <FIL.Contracts.Models.CreateEventV1.TicketModel> ticketModelList = new List <FIL.Contracts.Models.CreateEventV1.TicketModel>(); var currentEvent = _eventRepository.Get(query.EventId); if (currentEvent == null) { return(new TicketQueryResult { Success = true }); } var eventDetail = _eventDetailRepository.GetByEventId(query.EventId); if (eventDetail == null) { return(new TicketQueryResult { Success = true, IsDraft = true, IsValidLink = true, Tickets = ticketModelList }); } var eventTicketDetails = _eventTicketDetailRepository.GetByEventDetailId(eventDetail.Id); var eventTicketDetailTicketCategoryMappingData = _eventTicketDetailTicketCategoryTypeMappingRepository.GetByEventTicketDetails(eventTicketDetails.Select(s => s.Id).ToList()).ToList(); if (query.TicketCategoryTypeId == 2) { eventTicketDetailTicketCategoryMappingData = eventTicketDetailTicketCategoryMappingData.Where(s => s.TicketCategoryTypeId == 2).ToList(); eventTicketDetails = eventTicketDetails.Where(p => eventTicketDetailTicketCategoryMappingData.Any(p2 => p2.EventTicketDetailId == p.Id) || (p.TicketCategoryId == 19452 || p.TicketCategoryId == 12259)); if (!eventTicketDetails.Any()) { return(new TicketQueryResult { EventDetailId = eventDetail.Id, EventId = currentEvent.Id, Success = true, IsValidLink = true, Tickets = ticketModelList }); } } else { eventTicketDetailTicketCategoryMappingData = eventTicketDetailTicketCategoryMappingData.Where(s => s.TicketCategoryTypeId != 2).ToList(); eventTicketDetails = eventTicketDetails.Where(p => eventTicketDetailTicketCategoryMappingData.Any(p2 => p2.EventTicketDetailId == p.Id)); } var ticketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetails.Select(s => s.TicketCategoryId)); var eventTicketAttributes = _eventTicketAttributeRepository.GetByEventTicketDetailIds(eventTicketDetails.Select(s => s.Id)); var currency = _currencyTypeRepository.GetByCurrencyIds(eventTicketAttributes.Select(s => s.CurrencyId).ToList()); var eventTicketDiscountDetails = _eventTicketDiscountDetailRepository.GetAllByEventTicketAttributeIds(eventTicketAttributes.Select(s => s.Id).ToList()); var discounts = _discountRepository.GetAllDiscountsByIds(eventTicketDiscountDetails.Select(s => (long)s.DiscountId).ToList()); var discountPromoCodes = _discountPromoCodeRepository.GetAllDiscountIds(discounts.Select(s => (long)s.Id).ToList()); foreach (var currentEventTicketDetail in eventTicketDetails) { FIL.Contracts.Models.CreateEventV1.TicketModel newTicketModel = new FIL.Contracts.Models.CreateEventV1.TicketModel(); var currentTicketCat = ticketCategories.Where(s => s.Id == currentEventTicketDetail.TicketCategoryId).FirstOrDefault(); var currentEventTicketAttribute = eventTicketAttributes.Where(s => s.EventTicketDetailId == currentEventTicketDetail.Id).FirstOrDefault(); var currentEventTicketDetailTicketCategoryMappingData = eventTicketDetailTicketCategoryMappingData.Where(s => s.EventTicketDetailId == currentEventTicketDetail.Id).FirstOrDefault(); var currentEventTicketDiscountDetails = eventTicketDiscountDetails.Where(s => s.EventTicketAttributeId == currentEventTicketAttribute.Id).FirstOrDefault(); var currentDiscount = currentEventTicketDiscountDetails != null?discounts.Where(s => s.Id == currentEventTicketDiscountDetails.DiscountId).FirstOrDefault() : null; var currentDiscountPromoCodes = currentDiscount != null?discountPromoCodes.Where(s => s.DiscountId == currentDiscount.Id).FirstOrDefault() : null; var donationDetail = new FIL.Contracts.DataModels.DonationDetail(); if (currentEventTicketDetail.TicketCategoryId == 19452 || currentEventTicketDetail.TicketCategoryId == 12259) { donationDetail = _donationDetailRepository.GetByEventId(query.EventId); } newTicketModel.TicketAltId = currentEventTicketDetail.AltId; newTicketModel.ETDId = currentEventTicketDetail.Id; newTicketModel.TicketCategoryId = currentTicketCat.Id; newTicketModel.Name = currentTicketCat.Name; newTicketModel.Price = currentEventTicketAttribute.Price; newTicketModel.Quantity = currentEventTicketAttribute.AvailableTicketForSale; newTicketModel.Description = currentEventTicketAttribute.TicketCategoryDescription; newTicketModel.CurrencyId = currentEventTicketAttribute.CurrencyId; newTicketModel.TicketCategoryTypeId = currentEventTicketDetailTicketCategoryMappingData == null ? 1 : (currentEventTicketDetailTicketCategoryMappingData != null && currentEventTicketDetailTicketCategoryMappingData.TicketCategoryTypeId == 1) ? 1 : 2; newTicketModel.isEnabled = currentEventTicketDetail.IsEnabled; newTicketModel.CurrencyCode = currency.Where(s => s.Id == currentEventTicketAttribute.CurrencyId).FirstOrDefault().Code; newTicketModel.TotalQuantity = currentEventTicketAttribute.AvailableTicketForSale; newTicketModel.RemainingQuantity = currentEventTicketAttribute.RemainingTicketForSale; newTicketModel.DiscountAmount = currentDiscount != null && currentDiscount.DiscountValueTypeId == Contracts.Enums.DiscountValueType.Flat ? currentDiscount.DiscountValue : 0; newTicketModel.IsDiscountEnable = currentEventTicketDiscountDetails != null ? currentEventTicketDiscountDetails.IsEnabled : false; newTicketModel.DiscountPercentage = currentDiscount != null && currentDiscount.DiscountValueTypeId == Contracts.Enums.DiscountValueType.Percentage ? currentDiscount.DiscountValue : 0; newTicketModel.PromoCode = currentDiscountPromoCodes != null ? currentDiscountPromoCodes.PromoCode : null; newTicketModel.DiscountValueType = currentDiscount != null ? currentDiscount.DiscountValueTypeId : Contracts.Enums.DiscountValueType.Flat; newTicketModel.DonationAmount1 = donationDetail != null ? donationDetail.DonationAmount1 : 0; newTicketModel.DonationAmount2 = donationDetail != null ? donationDetail.DonationAmount2 : 0; newTicketModel.DonationAmount3 = donationDetail != null ? donationDetail.DonationAmount3 : 0; ticketModelList.Add(newTicketModel); } return(new TicketQueryResult { EventDetailId = eventDetail.Id, EventId = currentEvent.Id, Success = true, IsValidLink = true, Tickets = ticketModelList }); } catch (Exception e) { return(new TicketQueryResult { }); } }
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 { }); } }