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 void SaveEventAttribute(EventScheduleCommand command, EventDetail eventDetail) { EventAttribute eventAttribute = new EventAttribute(); var eventTicketAttribute = _eventAttributeRepository.GetByEventDetailId(eventDetail.Id); if (eventTicketAttribute != null) { _eventAttributeRepository.Delete(eventTicketAttribute); } var eventAttributes = new EventAttribute { TimeZoneAbbreviation = command.EventScheduleModel.TimeZoneAbbrivation, EventDetailId = eventDetail.Id, CreatedBy = command.ModifiedBy, CreatedUtc = DateTime.UtcNow, IsEnabled = true, TimeZone = command.EventScheduleModel.TimeZoneOffset, ModifiedBy = command.ModifiedBy, UpdatedBy = command.ModifiedBy, UpdatedUtc = DateTime.UtcNow }; _eventAttributeRepository.Save(eventAttributes); }
protected void UpdateEventAttribute(FIL.Contracts.Commands.CreateEventV1.EventRecurranceCommand eventRecurranceCommand) { EventAttribute eventAttribute = new EventAttribute(); var eventDetail = _eventDetailRepository.GetByEventId(eventRecurranceCommand.EventId); var eventTicketAttribute = _eventAttributeRepository.GetByEventDetailId(eventDetail.Id); if (eventTicketAttribute != null) { _eventAttributeRepository.Delete(eventTicketAttribute); } var eventAttributes = new EventAttribute { TimeZoneAbbreviation = eventRecurranceCommand.TimeZoneAbbrivation, EventDetailId = eventDetail.Id, CreatedBy = eventRecurranceCommand.ModifiedBy, CreatedUtc = DateTime.UtcNow, IsEnabled = true, TimeZone = eventRecurranceCommand.TimeZoneOffSet, ModifiedBy = eventRecurranceCommand.ModifiedBy, UpdatedBy = eventRecurranceCommand.ModifiedBy, UpdatedUtc = DateTime.UtcNow }; _eventAttributeRepository.Save(eventAttributes); }
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 GetPlaceInventoryQueryResult Handle(GetPlaceInventoryQuery query) { try { var eventData = _eventRepository.GetByAltId(query.PlaceAltId); var eventModel = AutoMapper.Mapper.Map <FIL.Contracts.Models.Event>(eventData); List <string> TicketValidityTypes = new List <string>(); List <string> DeliveryTypes = new List <string>(); foreach (FIL.Contracts.Enums.TicketValidityTypes ticketValidity in Enum.GetValues(typeof(FIL.Contracts.Enums.TicketValidityTypes))) { TicketValidityTypes.Add(ticketValidity.ToString()); } foreach (FIL.Contracts.Enums.DeliveryTypes DeliveryType in Enum.GetValues(typeof(FIL.Contracts.Enums.DeliveryTypes))) { DeliveryTypes.Add(DeliveryType.ToString()); } var eventDetail = _eventDetailRepository.GetAllByEventId(eventData.Id); var eventDetailModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.EventDetail> >(eventDetail).Where(s => s.IsEnabled == true).ToList(); var eventTicketDetils = _eventTicketDetail.GetByEventDetailId(eventDetail.ElementAt(0).Id).Where(s => s.IsEnabled == true); var eventAttribute = _eventAttributeRepository.GetByEventDetailId(eventDetail.FirstOrDefault().Id); var EventTicketDetailTicketCategoryTypeMappingDataModel = _eventTicketDetailTicketCategoryTypeMappingRepository.GetByEventTicketDetails(eventTicketDetils.Select(s => s.Id).ToList()).Where(s => s.IsEnabled == true); var EventTicketDetailTicketCategoryTypeMappingModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.EventTicketDetailTicketCategoryTypeMapping> >(EventTicketDetailTicketCategoryTypeMappingDataModel); var ticketCategories = _ticketCategoryRepository.GetByTicketCategoryIds(eventTicketDetils.Select(s => s.TicketCategoryId)).Where(s => s.IsEnabled == true); var placeCustomerDocumentTypes = _placeCustomerDocumentTypeMappingRepository.GetAllByEventId(eventData.Id); var placeCustomerDocumentTypeModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.PlaceCustomerDocumentTypeMapping> >(placeCustomerDocumentTypes); var placeTicketRedemptionDetails = _placeTicketRedemptionDetailRepository.GetAllByEventDetailIds(eventDetail.Select(s => s.Id)); var placeTicketRedemptionDetailModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.PlaceTicketRedemptionDetail> >(placeTicketRedemptionDetails); var placeDeliveryTypes = _eventDeliveryTypeDetailRepository.GetByEventDetailId(eventDetail.ElementAt(0).Id); var placeDeliveryTypesModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.EventDeliveryTypeDetail> >(placeDeliveryTypes); var customerDoumentType = _customerDocumentTypeRepository.GetAll(); var customerDoumentTypeModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.CustomerDocumentType> >(customerDoumentType); var placeHolidayDates = _placeHolidydates.GetAllByEventId(eventData.Id); var placeHolidayDatesModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.PlaceHolidayDate> >(placeHolidayDates); var placeWeekOffs = _placeWeekOffRepository.GetAllByEventId(eventData.Id); var placeWeekOffsModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.PlaceWeekOff> >(placeWeekOffs); var customerInformationMapping = _customerInformationRepository.GetAll(); var customerInformationMappingModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.CustomerInformation> >(customerInformationMapping); var eventCustomerInformationMapping = _eventCustomerInformationMappingRepository.GetAllByEventID(eventModel.Id).ToList(); List <FIL.Contracts.Models.EventCustomerInformationMapping> eventCustomerInformationMappingModel = new List <Contracts.Models.EventCustomerInformationMapping>();; if (eventCustomerInformationMapping.Count() > 0) { eventCustomerInformationMappingModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.EventCustomerInformationMapping> >(eventCustomerInformationMapping); } List <FIL.Contracts.DataModels.EventTicketDetail> etdList = new List <FIL.Contracts.DataModels.EventTicketDetail>(); foreach (FIL.Contracts.DataModels.EventTicketDetail currentTicketCat in eventTicketDetils.ToList()) { /*--------------- Add those ETD whose eventticketdetail and ETA exists */ var etaData = _eventTicketAttribute.GetByEventTicketDetailIdFeelAdmin(currentTicketCat.Id); if (etaData != null) { etdList.Add(currentTicketCat); } } var ticketCategoryContainer = etdList.Select(td => { try { var ticketDetailModel = AutoMapper.Mapper.Map <FIL.Contracts.Models.EventTicketDetail>(td); var ticketCategory = _ticketCategoryRepository.Get((int)td.TicketCategoryId); var ticketCategoryModel = AutoMapper.Mapper.Map <FIL.Contracts.Models.TicketCategory>(ticketCategory); var eventTicketAttributes = _eventTicketAttribute.GetByEventTicketDetailIdFeelAdmin(td.Id); var eventTicketAttributeModel = AutoMapper.Mapper.Map <FIL.Contracts.Models.EventTicketAttribute>(eventTicketAttributes); var TicketCategoryTypeTypeMapping = _eventTicketDetailTicketCategoryTypeMappingRepository.GetByEventTicketDetail(td.Id); var ticketFeeDetail = _ticketFeeDetailRepository.GetAllByEventTicketAttributeId(eventTicketAttributeModel.Id); var ticketFeeDetailModel = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.TicketFeeDetail> >(ticketFeeDetail); return(new TicketCategoryInfo { TicketCategory = ticketCategoryModel, EventTicketAttribute = eventTicketAttributeModel, EventTicketDetail = ticketDetailModel, TicketCategorySubTypeId = (TicketCategoryTypeTypeMapping != null ? TicketCategoryTypeTypeMapping.TicketCategorySubTypeId : 1), TicketCategoryTypeId = (TicketCategoryTypeTypeMapping != null ? TicketCategoryTypeTypeMapping.TicketCategoryTypeId : 1), TicketFeeDetails = ticketFeeDetailModel }); } catch (Exception e) { return(new TicketCategoryInfo { }); } }).ToList(); var data = _calendarProvider.GetCalendarData(eventData.Id); return(new GetPlaceInventoryQueryResult { Event = eventModel, EventDetails = eventDetailModel, TicketCategoryContainer = ticketCategoryContainer, PlaceCustomerDocumentTypeMappings = placeCustomerDocumentTypeModel, DeliveryTypes = DeliveryTypes, eventDeliveryTypeDetails = placeDeliveryTypesModel, EventTicketDetailTicketCategoryTypeMappings = EventTicketDetailTicketCategoryTypeMappingModel, PlaceTicketRedemptionDetails = placeTicketRedemptionDetailModel, TicketValidityTypes = TicketValidityTypes, CustomerDocumentTypes = customerDoumentTypeModel, PlaceHolidayDates = placeHolidayDatesModel, PlaceWeekOffs = placeWeekOffsModel, CustomerInformations = customerInformationMappingModel, EventCustomerInformationMappings = eventCustomerInformationMappingModel, RegularTimeModel = data.RegularTimeModel, SeasonTimeModel = data.SeasonTimeModel, SpecialDayModel = data.SpecialDayModel, EventAttribute = eventAttribute }); } catch (Exception e) { return(new GetPlaceInventoryQueryResult { }); } }
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); }
protected override async Task <ICommandResult> Handle(ZoomValidateUserCommand command) { ZoomValidateUserCommandResult zoomValidateUserCommandResult = new ZoomValidateUserCommandResult(); try { var zoomUserModel = _zoomUserRepository.GetByAltId(command.AltId); var getTimeStamp = GetTimeStamp(zoomUserModel); zoomValidateUserCommandResult.timeStamp = getTimeStamp; //var checkTimeStamp = CheckValidTimeStamp(zoomUserModel); //if (!checkTimeStamp.IsValid) //{ // zoomValidateUserCommandResult.message = checkTimeStamp.Message; // zoomValidateUserCommandResult.success = false; // return zoomValidateUserCommandResult; //} if (zoomUserModel == null) { if (zoomUserModel == null) { zoomValidateUserCommandResult.message = Constant.Zoom.Message.Invalid; } else { zoomValidateUserCommandResult.message = Constant.Zoom.Message.Active; } zoomValidateUserCommandResult.success = false; return(zoomValidateUserCommandResult); } else { string apikey = _settings.GetConfigSetting <string>(SettingKeys.Integration.Zoom.API_Key); string apiSecret = _settings.GetConfigSetting <string>(SettingKeys.Integration.Zoom.Secret_key); var zoomMeetingModel = _zoomMeetingRepository.GetByEventId(zoomUserModel.EventId); //Interactivity levels available zoomValidateUserCommandResult.isAudioAvailable = true; zoomValidateUserCommandResult.isVideoAvailable = true; zoomValidateUserCommandResult.isChatAvailable = true; bool isHost = false; var access = Access.None; var eventHostModel = new EventHostMapping(); if (zoomUserModel.RoleId != 21 && zoomUserModel.RoleId != 26) // If the user is attendee { var userModel = _userRepository.Get(zoomUserModel.UserId); zoomValidateUserCommandResult.email = userModel.Email; zoomValidateUserCommandResult.userName = userModel.FirstName + " " + userModel.LastName; zoomValidateUserCommandResult.UserAltId = userModel.AltId; var transactionDetailsModel = _transactionRepository.GetFeelOnlineDetails(zoomUserModel.TransactionId).Where(s => s.TransactionType == Contracts.Enums.TransactionType.LiveOnline).FirstOrDefault(); if (transactionDetailsModel == null) { return(zoomValidateUserCommandResult); } //interactivity levels available based on ticket cat. if (transactionDetailsModel.TicketCategoryId == 1360) { access = Access.GA; zoomValidateUserCommandResult.isAudioAvailable = false; zoomValidateUserCommandResult.isVideoAvailable = false; zoomValidateUserCommandResult.isChatAvailable = false; } if (transactionDetailsModel.TicketCategoryId == 606) { access = Access.VIP; zoomValidateUserCommandResult.isAudioAvailable = false; zoomValidateUserCommandResult.isVideoAvailable = false; } if (transactionDetailsModel.TicketCategoryId == 12080 || transactionDetailsModel.TicketCategoryId == 19352) { zoomValidateUserCommandResult.isVideoAvailable = false; } } else // Host user { eventHostModel = _eventHostMappingRepository.Get(zoomUserModel.EventHostUserId); zoomValidateUserCommandResult.email = eventHostModel.Email; zoomValidateUserCommandResult.userName = eventHostModel.FirstName + " " + eventHostModel.LastName; isHost = true; } zoomValidateUserCommandResult.meetingNumber = zoomMeetingModel.MeetingNumber.ToString(); zoomValidateUserCommandResult.apikey = apikey; zoomValidateUserCommandResult.secretkey = apiSecret; zoomValidateUserCommandResult.success = true; zoomValidateUserCommandResult.roleId = (zoomUserModel.RoleId == 21 || zoomUserModel.RoleId == 26) ? "1" : "0"; if (!zoomUserModel.IsActive && command.IsZoomLandingPage) { zoomUserModel.UniqueId = command.UniqueId; zoomUserModel.IsActive = true; _zoomUserRepository.Save(zoomUserModel); } var eventDetail = _eventDetailRepository.GetAllByEventId(zoomUserModel.EventId).FirstOrDefault(); zoomValidateUserCommandResult.eventName = eventDetail.Name; if (!command.IsZoomLandingPage) { zoomValidateUserCommandResult.EventAttribute = _eventAttributeRepository.GetByEventDetailId(eventDetail.Id); zoomValidateUserCommandResult.EventHostMappings = _eventHostMappingRepository.GetAllByEventId(eventDetail.EventId).OrderBy(s => s.StartDateTime).ToList(); foreach (var currentEHM in zoomValidateUserCommandResult.EventHostMappings) { currentEHM.StartDateTime = currentEHM.StartDateTime != null?_localTimeZoneConvertProvider.ConvertToLocal((DateTime)currentEHM.StartDateTime, zoomValidateUserCommandResult.EventAttribute.TimeZone) : currentEHM.StartDateTime; currentEHM.EndDateTime = currentEHM.EndDateTime != null?_localTimeZoneConvertProvider.ConvertToLocal((DateTime)currentEHM.EndDateTime, zoomValidateUserCommandResult.EventAttribute.TimeZone) : currentEHM.EndDateTime; } zoomValidateUserCommandResult.EventDetail = _eventDetailRepository.Get(eventDetail.Id); zoomValidateUserCommandResult.LiveEventDetail = _liveEventDetailRepository.GetByEventId(eventDetail.EventId); if (isHost && eventHostModel.StartDateTime != null && zoomValidateUserCommandResult.LiveEventDetail != null) { zoomValidateUserCommandResult.LiveEventDetail.EventStartDateTime = eventHostModel.StartDateTime; } zoomValidateUserCommandResult.Event = _eventRepository.Get(eventDetail.EventId); var eventTicketDetails = _eventTicketDetailRepository.GetByEventDetailId(eventDetail.Id).Where(s => s.IsEnabled).ToList(); var eventTicketAttributes = _eventTicketAttributeRepository.GetByEventTicketDetailIds(eventTicketDetails.Select(s => s.Id)).Where(s => s.IsEnabled).ToList(); if (eventTicketDetails.Select(s => s.TicketCategoryId).Contains(19452) || eventTicketDetails.Select(s => s.TicketCategoryId).Contains(12259)) // if donate { zoomValidateUserCommandResult.IsDonate = true; } if ((access == Access.GA || access == Access.VIP) && eventTicketDetails.Select(s => s.TicketCategoryId).Contains(19350) || eventTicketDetails.Select(s => s.TicketCategoryId).Contains(12079)) // if BSP Exists { var price = getBSPPrice(eventTicketDetails, eventTicketAttributes) - (access == Access.GA ? getGAPrice(eventTicketDetails, eventTicketAttributes) : getVIP(eventTicketDetails, eventTicketAttributes)); var transacions = _transactionRepository.GetAllSuccessfulTransactionByReferralId(zoomUserModel.TransactionId.ToString()); if (price >= 0 && !transacions.Any()) { zoomValidateUserCommandResult.IsUpgradeToBSP = true; zoomValidateUserCommandResult.Price = price; } } if (zoomUserModel.RoleId != 21 && zoomUserModel.RoleId != 26) // If the user is attendee { var transactionDetail = _transactionDetailRepository.GetByTransactionId(zoomUserModel.TransactionId); var eta = _eventTicketAttributeRepository.Get(transactionDetail.Count() > 1 ? transactionDetail.Where(s => s.TransactionType == Contracts.Enums.TransactionType.LiveOnline).FirstOrDefault().EventTicketAttributeId : transactionDetail.FirstOrDefault().EventTicketAttributeId); zoomValidateUserCommandResult.ImportantInformation = eta.TicketCategoryNotes; /* If Recurring then update Event Start & Interactivity start time */ if (eventDetail.EventFrequencyType == Contracts.Enums.EventFrequencyType.Recurring) { UpdateEventSchedule(zoomValidateUserCommandResult, transactionDetail.ToList()); } } else { zoomValidateUserCommandResult.ImportantInformation = zoomValidateUserCommandResult.EventHostMappings.Where(s => s.Id == zoomUserModel.EventHostUserId).FirstOrDefault().ImportantInformation; } } } zoomValidateUserCommandResult.success = true; zoomValidateUserCommandResult.TransactionId = zoomUserModel.TransactionId; return(zoomValidateUserCommandResult); } catch (Exception e) { _logger.Log(LogCategory.Error, new Exception("Failed to validate zoom details " + e.Message, e)); return(zoomValidateUserCommandResult); } }
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()); }